For Scan-Ready RTL, release options trade quality, tester cost, and schedule risk.
Conservative quality: helps debug confidence
Risk: higher test cost
Validate with: first production ramps
Balanced release: helps quality and cost
Risk: needs discipline
Validate with: mainstream products
Aggressive schedule: helps faster closure
Risk: escape risk
Validate with: late tapeout pressure
Architecture change: helps long-term quality
Risk: schedule hit
Validate with: chronic recurring failures
DESIGN SPACE - Scan-Ready RTL
quality <-> tester cost <-> scheduleNo ownership for quality gap
Fixing one metric while regressing another
BEFORE / AFTER - Scan-Ready RTL
metric quality
^
| --- release target
| o regressed
| o baseline
| o after fix
+-------------------------------> closure iteration
Prove quality, timing, and test-power all moved safely.Scan 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.
RTL coding style controls scanability through reset style, clock gating discipline, and avoiding structures that block controllability/observability.
Metric: DFT lint pass rate, uncontrollable register count, black-box scan escapes
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