A path in a switchable domain reports the wrong voltage after a power switch. How do you debug it?
From PDVerse STA Mentor Guide, part of the pdVerse Mentor Guide
Short Answer
Trace voltage in the same order PrimeTime resolves it: report_power_switch (PT) for the switch's On State condition, report_power_network (PT) for the topology it feeds, report_supply_net (PT) for the output net's voltage, then report_timing -voltage (PT) or the pg_pin_info attribute on the cells. The most common root cause is a missing set_voltage on the switch's output net.
Technical Explanation
- Start at the switch itself. Run
report_power_switch(PT) and read its On State expression - the logic condition under which the switch actually passes power through. Confirm the control conditions you believe are active really do put the switch in that passing state. If they don't, everything downstream is already explained. - Then check the topology.
report_power_network(PT) shows the actual net connectivity through the switch, telling you whether a path exists at all from the input supply port to the cells you care about, and whether it routes where you think it does. - Then check the output net's voltage states.
report_supply_net(PT) on the switch's output net shows its declared voltage states and ranges - this is where a gap most often hides. - Finally check what actually reached the cells.
report_timing -voltage(PT), or reading thevoltage_sourcefield through the pg_pin_info attribute on a cell, shows what voltage genuinely propagated to its power-ground pins. This last step is what distinguishes a wrong voltage from a fallback voltage. - The single most common root cause. The switch's output net never had a
set_voltage(SDC) value applied to it. The switch logic is fine, the topology is fine, but the terminating net carries no voltage assignment, so the tool cannot resolve one and raises a UPF-029-style message. - What to fix. Add the voltage on the output net rather than hunting for a connectivity bug that likely isn't there.
Common Mistake
- Assuming a wrong-voltage report means the power switch's control logic is broken, and spending the debug session there before ever checking whether the output net has a voltage assigned at all.
- Reading
report_supply_netonce at setup time and trusting it stays correct after later ECOs touch the power network, without re-checking it when a voltage-related violation reappears. - Cost: hours spent auditing switch control logic that was correct all along, while the real gap - an unset output-net voltage - sits one command away from being found.
Follow-up Question & Model Response
Suppose report_power_switch confirms the switch is correctly On, and report_power_network confirms the topology is right, but the path still reports the wrong voltage. What do you check next, and why is it usually the answer?
Candidate Model Response: Once the switch state and topology are both confirmed correct, the next and usually final check is report_supply_net on the switch's output net, looking specifically for whether set_voltage was ever applied to it. This is usually the answer because the switch and the network topology only describe whether power can reach a cell - they say nothing about what voltage value the tool should assign once it gets there. A structurally correct path with no voltage assignment on its terminating net is the single most common way this symptom appears, since it produces exactly the "right connectivity, wrong or missing voltage" signature described in the question.
Practical Example
A power-gated block behind switch sw_core is enabled by report_power_switch sw_core, confirming its On State condition iso_en & !pd_en is satisfied. report_power_network confirms the output net VDD_CORE_SW correctly feeds all 340 cells in the domain. Yet report_timing -voltage on a path through the domain shows 0V. report_supply_net VDD_CORE_SW reveals no voltage state was ever declared for it - the UPF only defined the switch, not its output net's voltage. Adding set_voltage 0.80 [get_supply_nets VDD_CORE_SW] resolves the report to the correct 0.80V.
Complete STA Handbook
Master Signoff-Ready Static Timing Analysis
Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.
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