What does UPF contain, and why is it separate from the netlist?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
UPF captures power intent, not connectivity — which logic belongs to which power domain, how supplies and power states are modeled, and what protection strategies (isolation, retention) are required. When a power-gated block shuts off, its outputs can float to invalid values, so neighboring always-on logic needs isolation cells; a crossing between two different voltage domains needs a level shifter; registers that must remember their state through a shutdown need retention.
Technical Explanation
- UPF captures power intent, not connectivity — which logic belongs to which power domain, how supplies and power states are modeled, and what protection strategies (isolation, retention) are required.
- When a power-gated block shuts off, its outputs can float to invalid values, so neighboring always-on logic needs isolation cells; a crossing between two different voltage domains needs a level shifter; registers that must remember their state through a shutdown need retention.
- A net literally named "VDD" in the netlist tells you nothing about the actual shutdown sequence or isolation policy — that behavioral intent lives only in UPF, describing domains, supply relationships, power states, and the specific strategies attached to them.
- The physical voltage area and power grid have to agree with this intent, but a voltage area isn't just a rebranded power domain — always verify that strategies actually bind to the objects they're supposed to, that power/ground conflicts are resolved, and that the UPF loaded with the correct scope; a file that loads without error but the wrong scope can quietly describe a different design than you intended.
Command Checks & Actions
load_upf block.upfLoads the power intent -- domains, supply nets, isolation, level-shifter, and retention strategies -- as data kept separate from the netlist itself.
commit_upfCommits the power intent and runs the global consistency checks. Most UPF-to-netlist mismatches surface at exactly this step, not at load_upf.
check_mv_designVerifies there are no multivoltage violations after the power intent is committed, the direct legality check for a UPF-driven design.
Common Mistake
The Trap: Assuming isolation and level shifting are interchangeable, or inserting cells without checking the receiving supply and power states.
Follow-up Question & Model Response
"Can a single-voltage design need UPF?"
Candidate Model Response: Yes, for example when power gating or retention is modeled, even if active domains share a nominal voltage.
Practical Example
Tapeout Scenario: If a switchable accelerator drives an always-on controller, isolation may hold the interface at a defined value during shutdown. Level shifting addresses voltage compatibility; it does not automatically provide the required shutdown clamp.
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