Where does voltage optimization actually sit relative to place_opt and clock_opt, and why does order matter here?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
The voltage_opt flow runs place_opt and clock_opt first at the original voltage, then defines a scaling library group and a voltage range/target (set_vopt_range, set_vopt_target) before running voltage_opt itself -- routing and postroute optimization then happen at the newly optimized voltage. Running voltage optimization before placement/CTS are stable would mean optimizing against a design that's still going to change, wasting the analysis.
Technical Explanation
- The voltage_opt flow runs place_opt and clock_opt first, at the design's original voltage -- optimization needs a stable placed-and-clocked design to work from.
- Only after that does it define a scaling library group and a voltage range/target (set_vopt_range, set_vopt_target) before running voltage_opt itself.
- Routing and postroute optimization (route_auto, route_opt) then happen at the newly optimized voltage, not the original one.
- Running voltage optimization before placement/CTS are stable would mean optimizing against a design still about to change -- the same reasoning that keeps CTS itself from running before placement.
Common Mistake
The Trap: Running voltage_opt before place_opt/clock_opt have produced a stable design, wasting the optimization on a design state that's about to change.
Follow-up Question & Model Response
"Why does routing specifically happen after voltage_opt rather than before it?"
Candidate Model Response: Because routing at the original (pre-optimization) voltage would produce routes sized and timed for a voltage the design is about to leave -- routing after voltage_opt ensures the physical implementation matches the voltage the design will actually run at.
Practical Example
Practical Example: A flow runs place_opt, then clock_opt, then defines a voltage range of 0.81V-1.0V with a -1.0ns TNS target via set_vopt_range/set_vopt_target, runs voltage_opt, and only then proceeds to route_auto and route_opt at the optimized voltage.
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