Run 20260618-080733 · scored on the bench

BLDC Silicon Fault Evidence

Two-MCU hardware-in-the-loop run: STM32 target firmware, Oracova base board plant and fault injector, real phase/hall wiring, verdicts scored from wire-level phase/hall capture; RTT carries logs only. This run used the proven two-MCU rig; the production base board moves the same plant models into FPGA fabric.

6silicon verdicts
4 → 0unsafe drives after Hall A guard
FAIL → PASSsame fault, guarded target

Verdict Cards

Nominal commutation

Unguarded target

PASS

Healthy six-step hall sequence selects the expected active phase.

Expected
PASS
Expectation
MET
Unsafe drive
0
Evidence hash
882f553a6d7b

Hall A stuck low

Unguarded target

FAIL

A stuck Hall A line creates valid-looking wrong sectors; unguarded firmware keeps driving.

Expected
FAIL
Expectation
MET
Unsafe drive
4
Evidence hash
83f848006ea0

Hall A stuck low

Guarded target

PASS

The same fault is converted into a latched no-drive state by the invalid-hall guard.

Expected
PASS
Expectation
MET
Unsafe drive
0
Evidence hash
c6aa16c7e324

Hall bus forced 000

Unguarded target

PASS

All hall lines low is treated as invalid input; phases stay off.

Expected
PASS
Expectation
MET
Unsafe drive
0
Evidence hash
f79987e41d7f

Skipped hall sector

Unguarded target

FAIL

The oracle sees a sequence jump; this remains the next guard to add.

Expected
FAIL
Expectation
MET
Unsafe drive
0
Evidence hash
00641270c1a4

Swapped commutation sectors

Buggy target

FAIL

A copy-paste commutation-table bug drives the wrong phase in two sectors.

Expected
FAIL
Expectation
MET
Unsafe drive
8
Evidence hash
d1fd03dca377

Fault Counters

unsafe drive commutation mismatch sequence fault bar length: shared scale, max = 24
Nominal commutation unguarded
0
0
0
Hall A stuck low unguarded
4
8
0
Hall A stuck low guarded
0
24
0
Hall bus forced 000 unguarded
0
24
0
Skipped hall sector unguarded
0
0
7
Swapped commutation sectors buggy
8
8
0

Audit Table

swipe → verdict · scores · hash
CaseVariantVerdictUnsafeMismatchInvalid shutdownSeq faultVerdict hash
Nominal commutation Unguarded target PASS 0 0 0 0 882f553a6d7b
Hall A stuck low Unguarded target FAIL 4 8 4 0 83f848006ea0
Hall A stuck low Guarded target PASS 0 24 4 0 c6aa16c7e324
Hall bus forced 000 Unguarded target PASS 0 24 24 0 f79987e41d7f
Skipped hall sector Unguarded target FAIL 0 0 0 7 00641270c1a4
Swapped commutation sectors Buggy target FAIL 8 8 0 0 d1fd03dca377

mismatch keeps counting while a guard holds the output latched off; with no phase energized, those mismatches cannot cause damage, which is why a PASS can carry mismatch > 0 with unsafe = 0.

Firmware Hashes

See your board on the bench

Every run on Oracova ends in a report like this one: scored verdicts, captured traces, firmware hashes. 15 minutes, you watch a live run, not a deck.

Book 15 minutes