BeginnerQuestion 13 of 50

What are supply nets and supply ports in UPF?

From PDVerse Low-Power Physical Design Mentor Guide, part of the pdVerse Mentor Guide

Short Answer

A supply port is the entry point where power crosses a boundary, such as a chip pad or a block pin. A supply net is the wire that carries that power inside a scope, and connecting a net to a port joins them. UPF builds the power network from these two objects before any domain can use a supply.

Technical Reference DiagramWhat are supply nets and supply ports in UPF?

Technical Explanation

  • Supply port: a connection point for supply nets, created with create_supply_port (UPF) on a scope boundary, with a direction.
  • Supply net: the UPF model of a power rail, created with create_supply_net (UPF) inside a scope.
  • Connect: connect_supply_net (UPF) joins a net to one or more ports so the value flows through.
  • Ports and nets carry a state (on, off, voltage) that the tools propagate to every domain using them.
  • The nets then feed a domain's primary supply, directly or through a supply set, and power switches drive switched nets.
  • Declare a net but never connect it to a port and the tools see a supply with no driver, so everything on it is treated as off.
# [UPF]  design.upf
create_supply_port VDD1p0 -direction in
create_supply_port VSS -direction in
create_supply_net VDD1p0
create_supply_net VSS
connect_supply_net VDD1p0 -ports {VDD1p0}
connect_supply_net VSS -ports {VSS}

Common Mistake

The Trap: Copying a snippet with a placeholder such as a bracketed port name that the web page or tool swallowed, leaving create_supply_port -domain (UPF) with no name.

  • The UPF fails to load, or worse, loads with a net that has no port behind it and every cell on it simulates as unpowered.

Follow-up Question & Model Response

"Do you need a supply port at every level of hierarchy?"

Candidate Model Response: Only where power actually crosses a boundary you model. If a lower scope needs a supply from above, you create a port on that scope and connect the parent net to it. Within one scope, a net can be used directly without a port. Tools like ICC2 can also reuse a net across domains with the -reuse option of create_supply_net (UPF), which saves redundant port and net pairs.

Practical Example

Design Scenario: MYCHIP: top-level ports VDD1p0, VDD0p9 and VSS come in from the package. Nets of the same names connect to them. VDD1p0 feeds PD_MYCHIP, VDD0p9 feeds PD_CPU, and a power switch inside PD_COP takes VDD1p0 as input and drives the switched net VDD1p0_SW. Only VDD1p0_SW has no top-level port, because a switch, not a pad, drives it. Check: every net that feeds a domain has a driver, either a port or a switch output.

Low-Power & UPF Handbook

Read the complete low-power guide library covering power domains, level shifters, isolation clamps, state retention, and UPF signoff verification.

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.

See what's inside the bundle
Low-Power VLSI & UPF Handbook โ€” nine chaptersLow-Power & UPFDomains, isolation, retention, and multivoltage UPF.