How do you connect a supply net to a domain's primary power/ground using set_domain_supply_net?
From PDVerse Low-Power Physical Design Mentor Guide, part of the pdVerse Mentor Guide
Short Answer
set_domain_supply_net (UPF) names the primary power and ground nets of a domain, and every cell in that domain is then implicitly tied to them. IEEE 1801-2015 lists it as legacy: the modern form binds a supply set with create_power_domain PD_COP -supply {primary SS_COP} (UPF). Both still load in ICC2 and PrimeTime, so you need to read the old form and write the new one.
Technical Explanation
- Implicit connection: every standard cell in PD_COP gets its power and ground pins tied to the primary nets, with no per-instance connect.
- Modern form: bundle VDD1p0_SW and GND into SS_COP, then give the domain
-supply {primary SS_COP}. - Legacy form (still accepted by ICC2/PT):
set_domain_supply_net PD_COP -primary_power_net VDD1p0_SW -primary_ground_net GND(UPF). Both options are required. - Shutdown domains: the primary must be the switch output VDD1p0_SW. Pointing it at VDD1p0 keeps PD_COP on forever.
- A domain has one primary power and one primary ground. Other supplies reach it as isolation, retention or secondary supplies.
- A new supply net is never primary on its own; ICC2 treats it as primary only after one of these bindings.
# [UPF] mychip.upf
create_supply_set SS_COP -function {power VDD1p0_SW} -function {ground GND}
create_power_domain PD_COP -elements {U_COP} -supply {primary SS_COP}
# Legacy form (still accepted by ICC2/PT), use instead of the -supply binding
set_domain_supply_net PD_COP -primary_power_net VDD1p0_SW -primary_ground_net GND
# [ICC2] icc2_shell
report_power_domains
check_mv_designWhat To Check
- PD_COP primary power is VDD1p0_SW, the switch output.
- Primary ground is GND in every MYCHIP domain.
- Each domain is bound once, by one method, so there is one source of truth.
- Every primary net has an operating voltage.
Command Checks & Actions
create_power_domain PD_COP -elements {U_COP} -supply {primary SS_COP}Modern primary binding through a supply set
set_domain_supply_net PD_COP -primary_power_net VDD1p0_SW -primary_ground_net GNDLegacy primary binding, still accepted by ICC2/PT
report_power_domainsShow the primary supply each domain resolved to
check_mv_designCatch power domain and supply rule errors after binding
report_power_domainConfirm the same primaries in PrimeTime
Healthy, Suspicious & Hard-stop Results
- Healthy (illustrative):
report_power_domainsshows PD_COP on VDD1p0_SW and GND, and PD_CPU on VDD0p9 and GND. - Suspicious (illustrative): PD_COP shows VDD1p0 as primary: the UPF loads, but the domain can never switch off.
- Hard stop: load_upf fails because -primary_ground_net lost its leading dash, or a domain has no primary at all.
Common Mistake
The Trap: Setting the primary of the shutdown domain PD_COP to the always-on input VDD1p0 instead of the switched net VDD1p0_SW.
- PD_COP stays powered in every mode, the switch does nothing, and power-aware checks never see the domain turn off.
What The Interviewer Is Testing
- Do you know this command is legacy and what replaced it?
- Do you tie a shutdown domain to the switch output, not the switch input?
Follow-up Question & Model Response
"If both forms still work, why migrate to supply sets?"
Candidate Model Response: Because the rest of IEEE 1801-2015 is built around sets. Isolation and retention strategies take -isolation_supply and -retention_supply as sets, and power states are written on sets with add_power_state. Mixing a net-based primary with set-based strategies works, but you end up tracking one supply under two names. New UPF should use the -supply binding and keep the legacy command only in inherited files.
Practical Example
Design Scenario: (illustrative) PD_CPU is always on at 0.9 V, so its primary is VDD0p9 and GND. PD_COP shuts down, so its primary is VDD1p0_SW, the output of switch PD_COP_SW fed from VDD1p0 at 1.0 V. In the modern file these are SS_CPU and SS_COP, bound with -supply. If PD_COP pointed at VDD1p0, report_power_domains would still look tidy, but no power state could ever turn PD_COP off.
Low-Power & UPF Handbook
Master Low-Power VLSI & Multivoltage Design
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.

Continue practising