WEBVTT

1
00:00:00.000 --> 00:00:05.859
A fault campaign is a reproducible
experiment specification, not a few random

2
00:00:05.859 --> 00:00:08.432
bit flips followed by a percentage.

3
00:00:08.432 --> 00:00:14.177
It records design version, targets, timing,
effects, budget, oracle, and what

4
00:00:14.177 --> 00:00:16.149
the model cannot simulate.

5
00:00:16.149 --> 00:00:22.082
If each fire drill changes exits, smoke
location, and assembly time, pass rates are

6
00:00:22.082 --> 00:00:27.931
not comparable. A hardware campaign must fix
design version, seed, events per attempt,

7
00:00:27.931 --> 00:00:31.488
and whether failures/retries count as new
attempts.

8
00:00:31.488 --> 00:00:36.850
The analogy does not show that an injection
tool reaches a silicon node.

9
00:00:37.125 --> 00:00:42.473
For an RTL model, enumerate targets and time
windows, define effects (flip, stuck-at,

10
00:00:42.473 --> 00:00:45.083
skip, delay), and set a per-attempt budget.

11
00:00:45.083 --> 00:00:50.161
Separate fault-free controls, authorized
operation, unauthorized operation, and

12
00:00:50.161 --> 00:00:51.289
denial of service.

13
00:00:51.289 --> 00:00:56.266
Preserve each counterexample’s full input
sequence, first bad commit, random seed, and

14
00:00:56.266 --> 00:01:00.415
model hash. SYNFI, a pre-silicon
fault-analysis tool, can examine synthesized

15
00:01:00.415 --> 00:01:03.589
netlists; a netlist result is still not a
physical injection.

16
00:01:03.589 --> 00:01:08.777
RTL and netlist targets differ: synthesis
may merge redundant logic, recode an FSM, or

17
00:01:08.777 --> 00:01:13.631
duplicate/remove registers. A two-stage
campaign must preserve RTL-signal-to-cell

18
00:01:13.631 --> 00:01:15.403
mappings and unmapped targets.

19
00:01:15.403 --> 00:01:20.056
Classify outcomes at least as safety
violation, availability failure,

20
00:01:20.056 --> 00:01:24.380
detected-and-blocked-in-time,
detected-too-late, not activated, or

21
00:01:24.380 --> 00:01:28.356
tool-unobservable. “Detected” alone is not a
security pass.

22
00:01:28.625 --> 00:01:33.752
After fixing design hash and fault budget,
run fault-free controls, single faults, and

23
00:01:33.752 --> 00:01:38.346
explicitly bounded combinations. The
property sketch in the article has not been

24
00:01:38.346 --> 00:01:42.607
compiled; assertions check the oracle at
every acceptance, not just alert.

25
00:01:42.607 --> 00:01:47.277
Coverage lists untouched target/time bins
rather than hiding them

26
00:01:47.277 --> 00:01:48.925
behind total fault count.

27
00:01:48.925 --> 00:01:55.177
Each result needs attempt ID, DUT/netlist
hash, tool version, configuration, seed,

28
00:01:55.177 --> 00:02:01.436
target, effect, edge/window, budget, input
trace, output, assertions, classification,

29
00:02:01.436 --> 00:02:02.818
and replay command.

30
00:02:02.818 --> 00:02:07.353
If a tool prunes cases whose outputs do not
change, document its pruning

31
00:02:07.353 --> 00:02:09.702
rule and equivalence assumption.

32
00:02:09.958 --> 00:02:15.328
These are property sketches: define the
harness transaction, reset and oracle, then

33
00:02:15.328 --> 00:02:18.918
confirm sampling boundaries before binding
to the design.

34
00:02:18.918 --> 00:02:21.215
They have not been compiled or proven.

35
00:02:21.215 --> 00:02:26.427
This implication checks whether an observed
acceptance was authorized.

36
00:02:26.427 --> 00:02:30.850
If accepted_commit never rises, the
assertion may pass vacuously.

37
00:02:30.850 --> 00:02:34.963
Add a separate cover for an authorized
fault-free acceptance.

38
00:02:34.963 --> 00:02:39.760
Classify reset-disabled time,
non-activation, and late alerts separately.

39
00:02:39.760 --> 00:02:44.756
The signal reference_authorized must come
from an independent reference model outside

40
00:02:44.756 --> 00:02:47.487
the injection targets and their influence
cone.

41
00:02:47.487 --> 00:02:51.644
A faulted on-chip permission bit cannot be
its own oracle.

42
00:02:51.644 --> 00:02:56.935
The property in the article does not prove
CDC, timing, side-channel, or physical

43
00:02:56.935 --> 00:03:02.039
injection behavior; each requires its own
tool evidence or measurement.

44
00:03:02.292 --> 00:03:08.699
The offline lab uses a deterministic 12-row
synthetic fixture, not RTL or simulator

45
00:03:08.699 --> 00:03:11.584
results. The attempt cap selects rows;

46
00:03:11.584 --> 00:03:14.907
the per-attempt event budget gates each row.

47
00:03:14.907 --> 00:03:20.649
If a row needs more events than the budget
allows, it is not activated and applies no

48
00:03:20.649 --> 00:03:26.068
fault. The denominator is four target
classes—ROM check_done, debug permission,

49
00:03:26.068 --> 00:03:30.481
first fetch, and key release—across three
time bins, t1 through t3.

50
00:03:30.481 --> 00:03:35.125
The budget does not change these 12
target-class/time-bin pairs.

51
00:03:35.125 --> 00:03:40.051
Report selected unique pairs,
activated-and-observable unique pairs, and

52
00:03:40.051 --> 00:03:44.675
untouched pairs separately; untouched means
no activated, observable

53
00:03:44.675 --> 00:03:46.418
attempt reached that pair.

54
00:03:46.418 --> 00:03:52.821
Outcome categories can overlap: one record
can contain both an unauthorized commit and

55
00:03:52.821 --> 00:03:55.985
a late alert; a late alert is not a timely
block.

56
00:03:55.985 --> 00:04:01.826
Other categories include availability
failure, timely blocking, non-activation,

57
00:04:01.826 --> 00:04:04.097
and tool-unobservable results.

58
00:04:04.097 --> 00:04:09.543
The full JSON export preserves each record’s
seed, stimulus, output, assertion,

59
00:04:09.543 --> 00:04:14.516
classification, and fixture key for
inspection and replay of the teaching data.

60
00:04:14.516 --> 00:04:20.388
A replay with a different tool version,
configuration, or input trace is a different

61
00:04:20.388 --> 00:04:24.241
experiment. Define a decision rule for each
outcome class;

62
00:04:24.241 --> 00:04:29.061
a detection label alone does not show that a
fault was blocked in time.
