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 - ATPG Constraints
// mode logic changed -> recheck controllability and constraintsDFT OWNERSHIP LAYERS - ATPG Constraints
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.
ATPG constraints encode legal test-mode behavior, clocks, resets, and masks so generated patterns are both executable and meaningful.
Metric: constraint consistency errors, illegal state count, pattern abort rate
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