BeginnerQuestion 181 of 187Source: Ansys RedHawk User Manual 2021R1: Power Calculation; Synopsys ICC2 Implementation User Guide X-2025.06-SP2: RedHawk and RedHawk-SC Fusion (Preparing Design and Input Data for Rail Analysis)

Why must power calculation come before IR analysis?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

IR drop is current times resistance, and the current comes from power calculation. If the libraries, activity or timing data behind the power numbers are wrong or missing, the currents are wrong, and a grid can look clean only because it is being fed too little current. So power is calculated and checked first, then the grid is extracted and analysed: perform pwrcalc (RH), perform extraction (RH), perform analysis -static (RH), or in ICC2 the rail library files and inputs are set before analyze_rail (ICC2).

Technical Reference DiagramWhy must power calculation come before IR analysis?
A flow from libraries, activity and timing inputs into power calculation, then PG extraction, then voltage drop analysis, with a side check on the power summary and a red branch showing instances with zero frequency feeding zero current into the grid.

Technical Explanation

  • RedHawk power calculation evaluates the average cycle power of every instance, and that power is used for both static and dynamic analysis. It is based on the supply given in the VDD_NETS keyword or the nominal voltage in the .lib file.
  • Activity comes from vectorless toggle rates when no VCD exists, or from VCD data through event propagation. The toggle rate you set scales every current in the design.
  • Frequency comes from the STA file when one is given. Instances not in the STA file or VCD get a frequency of zero unless you set FREQ_OF_MISSING_INSTANCES (RH). Zero frequency means zero switching current, which makes IR look better than it is.
  • Review power_summary.rpt in adsRpt before any IR run. It lists total, leakage, internal and switching power, broken down by frequency domain, power domain and cell type, so a missing domain or a macro at zero stands out.
  • In RedHawk Fusion, rail.lib_files (ICC2) gives the .lib files, rail.tech_file (ICC2) the Apache tech file, and rail.apl_files (ICC2) the current waveforms for dynamic runs. Missing-data reports such as libcell.missing_liberty land in RAIL_CHECKING_DIR.
  • ICC2 generates the timing window file (.sta) and instance power file (.pwr) by default; -ipf_generation pt hands the power file to PrimePower instead. A user IPF can be given with rail.instance_power_file (ICC2).
  • If activity or constraints change, recalculate power before rerunning IR. An IR result is only as current as the power data it was built on.

What To Check

  • Total power against the PrimePower or budget number for the same mode.
  • Power by clock domain and power domain, looking for a domain near zero.
  • Instances with zero frequency, and whether the STA file covered all clocks.
  • Missing-liberty and missing-current reports empty.
  • That the power data is newer than the last activity or constraint change.

Command Checks & Actions

ICC2 (icc2_shell)set_app_options -name rail.lib_files -value {test1.lib test2.lib}

Points RedHawk Fusion at the .lib files used for power calculation.

ICC2 (icc2_shell)analyze_rail -voltage_drop static -nets {VDD VSS}

Runs power calculation and static voltage drop through RedHawk Fusion.

ICC2 (icc2_shell)report_rail_result -type pg_pin_power -supply_nets {VDD} -limit 20 pg_pwr.rpt

Lists the 20 highest PG-pin powers to sanity-check the currents.

RedHawk (redhawk)perform pwrcalc

Standalone power calculation; review power_summary.rpt before continuing.

RedHawk (redhawk)perform extraction -power -ground

Extracts the power and ground networks.

RedHawk (redhawk)perform analysis -static

Runs static IR drop on the calculated currents.

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): Total power 447 mW against 455 mW from PrimePower, every domain populated, and no missing-liberty entries.
  • Suspicious (illustrative): Total power 20-30% below the reference, or a few percent of instances at zero frequency.
  • Hard stop: Missing liberty for used cells, a macro or whole domain at zero power, or IR results computed on power data from before the last activity change.

Common Mistake

The Trap: Running static IR with an STA file generated for only one of two clock domains. Every instance in the other domain gets zero frequency, total power comes out a third low, and the IR map looks comfortable. The grid is signed off, and the real drop, found later in a full-power run, needs straps the routed block no longer has room for.

What The Interviewer Is Testing

  • Knowing that IR accuracy is limited by the power data, not by the grid solver.
  • Awareness of the zero-frequency default for instances missing from STA or VCD.
  • Checking the power summary before looking at any IR number.

Follow-up Question & Model Response

"Why can an IR result be optimistic even when the tool reports no errors?"

Candidate Model Response: The solver can be perfectly right about the grid and still be fed the wrong currents. Instances missing from the STA file or VCD run at zero frequency, a toggle rate set too low scales every current down, and a macro without power data contributes nothing. None of these are errors to the tool. That is why the power summary is compared against an independent number before the IR map is trusted.

Practical Example

Tapeout Scenario: (illustrative) power_summary.rpt shows 310 mW against 455 mW from PrimePower, 145 mW or 32% low. The by-domain table shows the 1.2 GHz domain at almost zero: the STA file only covered the other clock, so about 60,000 instances had zero frequency. After regenerating the STA file, power reads 447 mW, within 2% of the reference, and the worst static drop moves from 24 mV to 37 mV against a 40 mV budget.

PnR Flow Mentor Guide

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.

PnR Flow Physical Design Mentor Guide — eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out. →