IntermediateQuestion 209 of 142Source PDF page undefined

How does Scan Chain Re-ordering work, and why is ScanDEF necessary during placement?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

Synthesis stitches scan flip-flops together purely by RTL naming order (reg_a[0] → reg_a[1] → ... → reg_b[0]) with zero awareness of where those flops will eventually sit on the die. Once placement happens geographically, that naming-order chain can become a routing nightmare — reg_a[0] might land top-left while reg_a[1] lands bottom-right, forcing the scan chain to criss-cross the entire die.

Technical Reference DiagramHow does Scan Chain Re-ordering work, and why is ScanDEF necessary during placement?
How does Scan Chain Re-ordering work, and why is ScanDEF necessary during placement?, illustrating the physical design concept.

Technical Explanation

  • Synthesis stitches scan flip-flops together purely by RTL naming order (reg_a[0] → reg_a[1] → ... → reg_b[0]) with zero awareness of where those flops will eventually sit on the die.
  • Once placement happens geographically, that naming-order chain can become a routing nightmare — reg_a[0] might land top-left while reg_a[1] lands bottom-right, forcing the scan chain to criss-cross the entire die.
  • ScanDEF is what rescues this: it's a separate file describing the logical scan architecture (chain names, SI/SO top-level ports, and which registers are safely re-orderable) so the placement tool knows it's allowed to re-stitch connections without breaking test intent.
  • After placement legalization, the tool re-solves the stitching almost like a mini traveling-salesman problem — reconnecting SO→SI between geographically nearest-neighbor flops instead of RTL-order neighbors — typically cutting scan routing wirelength by 60–80%.
  • This re-stitching isn't a free-for-all: it must respect clock domain and edge boundaries — the tool will never stitch a negative-edge flop directly before a positive-edge flop without inserting a lockup latch, because that would break scan-shift timing.
  • Net effect: ScanDEF turns a naming-order chain (efficient for RTL/DFT tools) into a placement-order chain (efficient for silicon), while still producing something ATPG can trust.

Common Mistake

The Trap: Allowing the placer to re-order scan flops across different power domains or clock domains without lockup latches, resulting in clock race hold failures and ATPG test pattern corruption.

Follow-up Question & Model Response

"What happens to manufacturing test patterns after scan chain re-ordering?"

Candidate Model Response: The physical design tool writes out an updated ScanDEF file. The DFT team feeds this updated ScanDEF back into ATPG tools (like TetraMAX / Tessent) to regenerate matching scan test patterns.

Practical Example

Loading ScanDEF & Re-ordering Scan Chains:

# Synopsys ICC2: Read synthesis ScanDEF and enable scan re-ordering
read_def design_scan.def
set_app_options -name place_opt.scan.reorder -value true

# Re-order scan chains based on legalized coordinates
reorder_scan_chains
write_def -version 5.8 -scan output_scandef.def

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.