Why does CTS have to wait until after placement instead of running earlier in the flow?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
CTS needs real physical locations for every leaf register to build a tree that actually balances delay to each one -- before placement, those locations don't exist yet. Running CTS on an unplaced or partially-placed design would mean building a tree around positions that are about to change, making the whole tree invalid the moment placement moves anything.
Technical Explanation
- CTS needs real physical locations for every leaf register to build a tree that balances delay to each one -- clustering, buffer placement, and skew minimization are all physical-location-dependent operations.
- Before placement, those locations simply don't exist yet -- there's nothing for CTS to build a tree around.
- Running CTS on an unplaced or partially-placed design would mean building a tree around positions that are about to move, invalidating the tree the moment placement changes anything.
- This is also why clocks stay ideal during placement (zero-delay, zero-skew) by default -- the tool isn't pretending the future tree doesn't matter, it's deferring tree-dependent timing until the tree can actually be built on real geometry.
Common Mistake
The Trap: Thinking of "clocks stay ideal until CTS" as an arbitrary tool limitation rather than a direct consequence of CTS needing real leaf-register locations that don't exist before placement.
Follow-up Question & Model Response
"Given this dependency, what would happen if you tried to run CTS before placement had actually legalized the design?"
Candidate Model Response: The resulting tree would be built around cell positions legalization is about to move, invalidating the tree's skew/latency balancing the moment those positions change -- the entire tree would need to be rebuilt from scratch after legalization completes.
Practical Example
Debug Scenario: A script accidentally calls clock_opt before place_opt has fully legalized the design -- the resulting tree is built around cell positions that legalization then moves, and the whole tree needs to be rebuilt from scratch.
Physical Design & Planning Handbook
Master ASIC Physical Design Planning & Floorplanning
Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.
Continue practising