RTL style controls which registers are scan-friendly.
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 - Chain Stitching Rules
// mode logic changed -> recheck controllability and constraintsDFT OWNERSHIP LAYERS - Chain Stitching Rules
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 slipScan architecture quality determines whether ATPG can control and observe real silicon state.
SCAN INSERTION FLOW
scan-ready RTL -> scan replacement -> stitch chains -> DRC -> ATPG handoffCHAIN BALANCE
chain length spread
low spread = better shift time
high spread = routing + hold riskscan insertion summary
chain balance report
scan DRC log
clocking legality report
Coverage plateau traced to non-scan flops in reset islands; RTL + DFT lint policy fixed root cause.
Check scan replacement first
Audit chain legality by domain
Validate shift/capture clocks
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.
Scan flops are stitched into chains based on clock, power, and physical constraints; poor stitching increases test time and routing pain.
Metric: chain balance spread, max chain length, scan shift time
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