Clocking/reset design choices can simplify or block ATPG closure.
Unexpected untestables
clock/reset test-mode conflicts
Scan hooks
mode controls
debug access gating
Synthesis transforms affecting scan paths
clock-gating interaction
DFT lint gates
test-aware coding standards
joint RTL/DFT reviews
RTL VIEW - Fault Models
// mode logic changed -> recheck controllability and constraintsDFT OWNERSHIP LAYERS - Fault Models
layer owns failure mode
---------------- -------------------------- -------------------------
rtl/architecture scanability hooks uncontrollable logic
atpg/constraints legal pattern intent aborts, low coverage
physical/clocking chain route + test clocks shift hold/timing escapes
tester/program pattern apply integrity false binning / bad fails
quality signoff release criteria escapes or schedule slipATPG quality comes from fault model choice plus legal constraints, not raw pattern volume alone.
ATPG FLOW
fault model -> constraints -> generation -> simulation -> coverage closure -> signoffCOVERAGE GAP
target coverage
^
| o before closure
| o after fixes
+---------------------> iterationfault model coverage
untestable class report
constraint legality errors
pattern signoff memo
Transition coverage stalled due to clock constraints mismatch; updated at-speed capture definitions recovered target.
Classify untestable faults
Diff ATPG constraints each run
Pair coverage with pattern budget
Ask: what evidence proves this DFT decision is safe for production?
State metric, lot/corner context, and pattern tag with every claim.
Treat timing, power, and quality as one signoff problem.
Chasing coverage without legality checks.
Ignoring test-power side effects of pattern changes.
Debugging silicon without reproducible tags.
Fault models define what manufacturing defects ATPG targets; model mix drives pattern count, runtime, and outgoing quality.
Metric: stuck-at / transition / bridge coverage, untestable fault ratio
This content block can't be displayed here.
Block type: unknown
This content block can't be displayed here.
Block type: unknown
This content block can't be displayed here.
Block type: unknown