What's the difference between route_opt and hyper_route_opt, and what does Targeted Endpoint Optimization actually let you do?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
route_opt is the standard post-route optimization command -- up/down-sizing drive strength along failing paths without disturbing other placement. hyper_route_opt is a distinct, more intensive variant. Targeted Endpoint Optimization (set_route_opt_target_endpoints) lets you work on a specific SUBSET of endpoints rather than optimizing the whole design -- useful when only a known set of endpoints are actually violating and you want to avoid disturbing everything else's already-closed timing.
Technical Explanation
- route_opt is the standard post-route optimization command -- up/down-sizing standard cell drive strength along failing paths, without disturbing other instances' placement.
- hyper_route_opt is a distinct, more intensive optimization variant, used when standard route_opt isn't recovering enough.
- set_route_opt_target_endpoints (Targeted Endpoint Optimization, TEP) lets you scope optimization to a specific subset of endpoints, rather than the whole design.
- This matters because post-route optimization is a LOCAL operation -- it may not fully resolve timing if constraints are badly violated, in which case you have to go back to placement/CTS decisions rather than keep pushing route_opt harder.
- Targeted Endpoint Optimization is invoked with
set_route_opt_target_endpoints -endpoints {<endpoint_list>}, lettingroute_optfocus effort on a specific subset of endpoints rather than the whole design.
Common Mistake
The Trap: Running full-design route_opt repeatedly when only a small, known subset of endpoints are actually violating -- risking disturbance to already-closed timing elsewhere when Targeted Endpoint Optimization could have scoped the work down.
Follow-up Question & Model Response
"Why would post-route optimization being described as "local" mean it sometimes can't fully resolve a violation, forcing a return to placement/CTS?"
Candidate Model Response: Because post-route optimization only has cell sizing and limited buffer insertion to work with, constrained to not disturb existing placement -- if the underlying problem is a structural placement or clock-tree issue (not just an undersized cell), no amount of local sizing at the route stage can fix it; the fix has to happen upstream.
Practical Example
Debug Scenario: A handful of known-critical endpoints remain marginally violating after routing. Using set_route_opt_target_endpoints to scope route_opt to just those endpoints avoids re-touching the rest of the design's already-clean timing while focusing optimization effort where it's actually needed.
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