What's the actual difference between targeting CCD at the preroute stage versus the postroute stage?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
At the preroute stage (place_opt/clock_opt), ccd.targeted_ccd_path_groups plus ccd.targeted_ccd_end_points_file target specific path groups and endpoints, with ccd.enable_top_wns_optimization targeting the worst 300 paths specifically. At the postroute stage (route_opt), route_opt.flow.enable_targeted_ccd_wns_optimization is a separate flag, and ccd.targeted_ccd_select_optimization_moves controls which move types are allowed (auto includes buffering; size_only/equal_or_smaller_sizing/footprint_sizing restrict to sizing only).
Technical Explanation
- Preroute (place_opt/clock_opt): ccd.targeted_ccd_path_groups and ccd.targeted_ccd_end_points_file target specific path groups and endpoints; ccd.enable_top_wns_optimization specifically targets the worst 300 paths.
- Postroute (route_opt): a separate flag, route_opt.flow.enable_targeted_ccd_wns_optimization, is required -- preroute targeting settings don't automatically carry over.
- At postroute, ccd.targeted_ccd_select_optimization_moves controls which fix types are allowed: auto (default, includes buffering and all moves), size_only, equal_or_smaller_sizing, or footprint_sizing -- a real constraint on how aggressive the postroute fix can be, since buffering is more disruptive after routing exists.
- A path group listed in BOTH ccd.targeted_ccd_path_groups and ccd.skip_path_groups is skipped -- the skip list always wins over the targeted-inclusion list.
Formula Or Decision Rule
A path group listed in BOTH ccd.targeted_ccd_path_groups and ccd.skip_path_groups is skipped -- skip always wins over targeted inclusion.
What To Check
- Warning sign: a path group was added to ccd.targeted_ccd_path_groups for postroute optimization, but no improvement shows up after route_opt.
- Inspect: confirm route_opt.flow.enable_targeted_ccd_wns_optimization was actually set -- preroute-only targeting settings don't apply at postroute without it.
- Correct: also check the path group isn't simultaneously listed in ccd.skip_path_groups, since skip silently wins.
Command Checks & Actions
set_app_options -name ccd.enable_top_wns_optimization -value trueTargets the worst 300 paths at the preroute stage.
set_app_options -name route_opt.flow.enable_targeted_ccd_wns_optimization -value trueRequired separately to enable targeted CCD at postroute.
set_app_options -name ccd.targeted_ccd_select_optimization_moves -value size_onlyRestricts postroute fixes to sizing only, no buffering.
Healthy, Suspicious & Hard-stop Results
- Expected: targeted path groups show measurable WNS improvement at whichever stage (preroute or postroute) was actually configured with the matching enable flag.
- Investigate: a targeted path group shows no improvement at postroute despite being listed in ccd.targeted_ccd_path_groups -- check whether route_opt.flow.enable_targeted_ccd_wns_optimization was set, since the preroute flag alone doesn't apply there.
- Stop: a path group appears in both the targeted list and the skip list -- resolve that conflict explicitly rather than let the (undocumented-to-the-user) skip-wins behavior silently decide.
Common Mistake
The Trap: Assuming preroute targeted-CCD settings automatically apply at the postroute stage too -- route_opt needs its own separate enable flag.
What The Interviewer Is Testing
Whether you know targeted CCD is configured independently at preroute versus postroute, with a different move-restriction mechanism at postroute specifically.
Practical Example
Debug Scenario: ccd.targeted_ccd_path_groups is set for a critical path group, and preroute WNS improves as expected. After routing, the same path group shows no further improvement from route_opt -- because route_opt.flow.enable_targeted_ccd_wns_optimization, the separate postroute flag, was never set.
PnR Flow Mentor Guide
Master the Physical Design Implementation Flow
Read the complete 8-chapter PnR Flow Mentor Guide free on the web โ library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.
Offline PDF Bundle
Want all 1109 questions offline?
Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

Continue practising