Signoff IR drop is shifting timing. How does voltage-aware timing change closure?
From PDVerse PnR Interview Handbook · pdVerse Mentor Guide
Short Answer
Standard corner timing assumes every cell sees the full rail voltage. With IR drop, cells in hot spots see less, switch slower, and paths through them lose slack that no corner shows. Voltage-aware timing brings the drop into STA so those paths are fixed where they are, and in ICC2 the power integrity flow reduces the drop during placement and CTS so fewer paths need fixing later.
Technical Explanation
- PrimeTime can annotate supply voltage on the PG pins of cells with
set_voltage -cell -pg_pin_name(PT), which models IR drop effects on timing and noise. The-celland-pg_pin_nameoptions must be used together and need a PrimeTime SI license. - For dynamic voltage drop, PrimeTime reads RedHawk-SC data with
read_dvd(PT) after settingtiming_enable_dvd_analysis(PT) to true; voltage scaling library groups must be configured first, with libraries that have CCS noise data. The effect is computed during path-based analysis from the CRPR common point of each path, and needs a PrimeTime-ADV-PLUS license. - The PBA report with
-voltageshows the voltage, the rail droop and the extra delay per stage, and ends with a DvD slack shift line, which is the total slack change caused by the droop on that path. - The data has to flow the other way first.
write_rh_file(PT) writes the timing data RedHawk-SC needs for IR drop, jitter and dynamic voltage drop analysis, so the two tools see the same switching windows. Writing it needs a PrimePower or PrimeTime-ADV-PLUS license. - In ICC2, setting
opt.common.power_integrity(ICC2) to true turns on dynamic power shaping during the final_opto stage ofplace_opt(ICC2) and voltage-drop-aware placement duringclock_opt(ICC2). - The effort defaults to high, which tries to keep voltage drop under eight percent of the supply at the expense of timing QoR.
opt.common.power_integrity_effort(ICC2) set to low stops it trading timing for voltage drop, andopt.common.ir_drop_threshold(ICC2) sets the drop target (default eight percent); at low effort the threshold is ignored. - Closure changes because the fix list changes. A path that passes at the corner voltage can fail with droop, and the right fix may be spreading cells or strengthening the grid, not upsizing, since a bigger cell draws more current in the same hot spot.
What To Check
- Paths whose slack changes most with voltage annotation, and where their cells sit on the IR map.
- The DvD slack shift on the worst paths, from a PBA report with voltage columns.
- Whether the IR data matches the current netlist and switching windows.
- Power integrity settings used in place_opt and clock_opt for this block.
Command Checks & Actions
set_app_var timing_enable_dvd_analysis trueEnables dynamic voltage drop analysis in timing.
read_dvd -mode 0 ./redhawk_data.dvdReads power rail variation data from RedHawk-SC.
report_timing -pba_mode exhaustive -path full_clock_expanded -voltageShows droop, extra delay per stage and the slack shift.
write_rh_file -output sta_data -filetype irdropWrites timing data for RedHawk-SC voltage drop analysis.
set_app_options -name opt.common.power_integrity -value trueEnables the ICC2 power integrity flow.
report_qorICC2 QoR after power integrity placement, to see what it cost in timing.
Healthy, Suspicious & Hard-stop Results
- Healthy (illustrative): Worst DvD slack shift under 10 ps and no path that passes at nominal fails with droop.
- Suspicious (illustrative): A cluster of paths in one hot spot losing 20 to 30 ps each, all within a small region of the IR map.
- Hard stop: Signoff paths failing only with droop and the fix proposed is upsizing in the hot spot. The drop has to be reduced first.
Common Mistake
The Trap: Fixing droop-induced violations by upsizing cells in the hot spot. Larger cells draw more current in the same small area, the local drop gets worse, and the next RedHawk run shows a deeper hot spot with more paths failing. Spreading the cells or strengthening the grid there would have removed the cause.
What The Interviewer Is Testing
- Do you understand that corner timing assumes full rail voltage everywhere?
- Knowing how PrimeTime brings static and dynamic voltage drop into timing, and the license each needs.
- Can you say what the ICC2 power integrity flow does and what it trades?
Follow-up Question & Model Response
"Why does PrimeTime compute dynamic voltage drop effects only during path-based analysis?"
Candidate Model Response: Dynamic drop depends on when each cell switches relative to the rail droop, so the effect is specific to a path and its timing window. The PT UG says the effects are computed during path-based analysis starting at the CRPR common point of each path. A graph-based pass would have to assume the worst droop for every arc, which is too pessimistic, so the report needs -pba_mode and the full clock expanded path.
Practical Example
Tapeout Scenario: A block passes setup at the slow corner with WNS +12 ps (illustrative). With RedHawk-SC dynamic voltage drop read into PrimeTime, 23 paths in one region fail, the worst with a DvD slack shift of -34 ps and slack of -22 ps. The IR map shows a 9% drop over a cluster of high-activity flops. Rerunning place_opt (ICC2) and clock_opt (ICC2) with opt.common.power_integrity (ICC2) set spreads the cluster; the drop falls to 6%, the worst DvD shift becomes -11 ps, and all 23 paths pass.
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.

Continue practising