BeginnerQuestion 35 of 40Source PDF page 44

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_upf

Common 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.

Visual explanationLow-power context: What is "power intent," and why do we need a separate language…
Low-power context: What is "power intent," and why do we need a separate language…A three-step concept map summarizes the focus, core answer, and practical verification for What is "power intent," and why do we need a separate language (UPF) to describe it?Question focusWhat is "power intent,"and why do we need aseparate language…Core answerPower intent is thecomplete specificationof a design's powerarchitecture —…Verify in practiceload_upf,create_mv_cells,check_mv_design,save_upf, reset_upfUnderstand → explain the mechanism → verify the assumptions

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.