What is "power intent," and why do we need a separate language (UPF) to describe it?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Definition
Power intent is the complete specification of a design's power architecture — its power domains, supply nets, voltage levels, isolation/level-shifter/retention/switch strategies, and legal power states — captured separately from the RTL functional description; UPF (Unified Power Format) is the standardized, Tcl-based language used to write that specification.
Mentor Explanation
Ordinary RTL isn't enough for this job: RTL describes functional behavior, but it says nothing about which blocks share a supply, which domains can be shut off, what happens electrically at a boundary when one side is dead, or how state should be preserved across a power-down event. Power intent is treated as a first-class artifact that flows through the whole implementation process: it is read in with 'load_upf,' can be built out into real cells with 'create_mv_cells,' checked with 'check_mv_design,' and written back out with 'save_upf' — and crucially, a power domain itself is described as 'strictly a synthesis construct, not a netlist object' — meaning it exists only in the power-intent description, not as something you'd find by reading gates and wires alone. Because power intent must be reconciled consistently across RTL synthesis, physical implementation, and verification tools from potentially different vendors, a standardized, tool-independent language (UPF) is what lets that intent travel intact through the whole flow, as illustrated by the traditional 'UPF-Prime' and 'Golden UPF' flows.
Example
The same UPF file's create_power_domain, set_isolation, and set_retention commands are consumed first by synthesis (creating a gate-level netlist plus an updated UPF'), and later by physical implementation (creating UPF'') — the power intent persists and evolves alongside the netlist rather than being embedded inside it.
Why It Matters
I ask this to set the stage before diving into individual UPF commands — candidates should articulate that UPF exists because power architecture is orthogonal information that plain RTL/netlist representations can't carry.
Command
load_upf, create_mv_cells, check_mv_design, save_upf, reset_upfCommon Beginner Mistake
Thinking of UPF as 'just comments' or documentation; the tool actively executes UPF commands to drive real synthesis, cell insertion, and checking decisions (create_mv_cells, check_mv_design), so it functions as an active design input, not passive metadata.
Continue learning free
Get a practical low-power chapter
Receive the existing “Low Power and Multivoltage Fundamentals” PDF chapter and its download link by email.
Continue practising