How do you create supply ports and supply nets for a power domain?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Explanation
create_supply_port declares a port-level connection point associated with a domain; create_supply_net creates the actual net object that a supply voltage travels on. connect_supply_net then ties a net to one or more ports/pins. Nets can be reused across nested domains with -reuse so that the same physical rail doesn't need to be redeclared from scratch at every hierarchy level.
Implementation Walkthrough
A typical sequence: create_supply_port -domain ; create_supply_net -domain [-reuse]; connect_supply_net -ports {list}. In Mychip, the top-level nets VDD1p0, VDDdsp, VDD0p9 and GND are created with -domain PD_MYCHIP -reuse, then the same nets are re-created (reused) inside each subdomain so the physical rail carries down through the hierarchy.
Command
create_supply_net VDD1p0 -domain PD_MYCHIP -reuseSwitch-by-switch
-domain: the domain the port/net belongs to; -reuse (on
create_supply_net): reuses an already-existing net rather than
creating a brand-new one, which is how the same physical rail spans
into a subdomain; -direction in|out|inout|internal (on
create_supply_port): 'internal' marks a virtual net that has no
physical existence in the implementation, useful for supplies known
to switch together; connect_supply_net -ports {list}: attaches the
net to the named ports/pins.Expected Tool Behavior
A usable supply net object exists that set_domain_supply_net, set_isolation, and set_retention can reference; a -reuse'd net represents one continuous physical rail across domain boundaries rather than two electrically separate nets that happen to share a name.
Example
Mychip creates VDD1p0, VDDdsp, VDD0p9, and GND at the PD_MYCHIP level with -reuse, then reuses them inside PD_CPU, PD_COP, and PD_DSP as appropriate for each subdomain's needs.
Common Mistake
Creating a brand-new net inside a subdomain when the intent was actually to share the parent's physical rail -- omitting -reuse breaks the 'one rail spans multiple domains' model and can leave the subdomain's logic on an unconnected net.
Likely Error Or Warning
A supply net must be assigned an operating voltage or check_mv_design issues an error (UPF-057); connectivity issues across reused nets can be checked with report_supply_net_groups.
Debugging Approach
Use report_supply_sets or report_supply_net_groups to confirm net connectivity, and query_port_net / query_net_ports to check what a given port actually resolves to.
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