What does the create_power_domain command do in UPF?
From PDVerse Low-Power Physical Design Mentor Guide, part of the pdVerse Mentor Guide
Short Answer
create_power_domain (UPF) names a power domain and lists the instances that belong to it, so every cell in those instances shares one primary supply and one set of strategies. The domain is created in the current scope, and every instance in the design must end up in exactly one domain.
Technical Explanation
- Syntax order: domain name first, then options:
create_power_domain PD_CPU -elements {U_CPU}(UPF). No trailing semicolon. - -elements lists instances rooted in the current scope. Their descendants join too, unless they already belong to another domain.
- -elements {.} puts the current scope itself in the domain. ICC2 examples also use
-include_scope, which is not in the 1801-2015 syntax. - -exclude_elements removes listed instances from the element list; each excluded instance still needs a home in some other domain.
- -supply {primary SS_CPU} is the IEEE 1801-2015 way to give the domain its primary supply set.
- Legacy form (still accepted by ICC2/PT):
set_domain_supply_net(UPF) with-primary_power_netand-primary_ground_net. - Every instance must belong to a domain before
commit_upf(ICC2); one left out has no defined supply and ICC2 reports an error.
# [UPF] design.upf
create_power_domain PD_MYCHIP -elements {.} -supply {primary SS_AON}
create_power_domain PD_CPU -elements {U_CPU} -supply {primary SS_CPU}
create_power_domain PD_DSP -elements {U_DSP} -supply {primary SS_DSP}
create_power_domain PD_COP -elements {U_COP} -supply {primary SS_COP}
# [ICC2] icc2_shell
load_upf design.upf
commit_upf
report_power_domainsWhat To Check
- Every top-level instance, including the power controller U_PC, lands in exactly one domain.
- Each domain has a primary supply set.
- Element names are rooted in the scope where the command runs.
- No domain is left with an empty extent by mistake.
Command Checks & Actions
create_power_domain PD_COP -elements {U_COP} -supply {primary SS_COP}Create the domain and set its primary supply set
load_upf design.upfRead the power intent into the block
commit_upfResolve power intent against PG connections
report_power_domainsList each domain with its elements and supplies
Healthy, Suspicious & Hard-stop Results
- Healthy (illustrative):
report_power_domainsshows four domains, each with its instances and a primary supply. - Suspicious (illustrative): A domain shows no primary supply set yet, so its cells have no defined rail until one is added.
- Hard stop: An instance appears in two domains, or load_upf errors on an element name that does not exist in that scope.
Common Mistake
The Trap: Leaving an instance in no domain, for example by excluding it with -exclude_elements and never adding it to another domain.
- ICC2 requires every instance to belong to a power domain before
commit_upf(ICC2), so the flow stops with an error, and that logic has no defined supply.
What The Interviewer Is Testing
- Can you explain scope versus extent without mixing them up?
- Do you know the modern -supply form and the legacy supply-net form?
Follow-up Question & Model Response
"What happens if you create PD_CPU while the scope is set to U_SOC instead of the top?"
Candidate Model Response: The domain is created in scope U_SOC, and its element names are resolved relative to that scope. So -elements {U_CPU} now means U_SOC/U_CPU. If that instance does not exist, the command fails; if it does, the domain lives in the wrong place in the hierarchy. Always check the current scope before creating domains.
Practical Example
Design Scenario: (illustrative) In MYCHIP, PD_MYCHIP takes the top scope with -elements {.}, while PD_CPU, PD_DSP and PD_COP each take one instance. U_PC, the power controller, sits at the top and falls into PD_MYCHIP, so it stays on. If you had written PD_MYCHIP with -elements {U_CPU} by mistake, U_PC would have no domain at all.
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