Use when you own Chain Stitching Rules in a DFT closure review.
Open release criteria and failing metric dashboard.
Partition failures by pattern family and operating context.
Inspect constraints, clocks, masks, and unknown handling.
Check architecture assumptions against implementation reality.
Review diagnosis evidence for repeatability.
Assign owner and propose smallest high-confidence change.
Run timing, power, and quality regressions.
Capture final signoff or waiver decision.
chain map, balance histogram, stitch rule deck
pattern tag manifest
tester program revision
signoff checklist
owner tracker
DFT DECISION MEMO - Chain Stitching Rules
scenario:
metric:
hypothesis:
fix:
regression:
owners: DFT owner, PD owner, implementation ownerSCAN CHAINS
clock_domain_A: FF1 -> FF2 -> FF3 -> SO
clock_domain_B: FF4 -> FF5 -> FF6 -> SO
Rules:
1) keep domains legal
2) balance chain length
3) avoid long physical detoursScan 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