What are supply set handles, and how does associate_supply_set use them?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Short Answer
A supply set handle is a named slot on a UPF object, such as a power domain or a strategy, that stands for the supply set used there. ICC2 gives every domain primary, default_isolation and default_retention handles, and associate_supply_set (UPF) binds a real supply set such as SS_AON to a handle so both resolve to the same nets. Writing strategies against handles keeps the intent readable and lets you rebind a supply without rewriting every strategy.
Technical Explanation
- Naming: handles are dotted names such as PD_COP.primary or PD_COP.ISO_COP_OUT.isolation_supply, created with the domain or the strategy.
- Defaults: ICC2 creates primary, default_isolation and default_retention per domain;
create_power_domain -supply(UPF) adds or binds more. - Association:
associate_supply_set SS_AON -handle PD_COP.default_isolation(UPF) makes both resolve to the same supply nets;-handleis optional in list form. - Strategy handles: isolation, level-shifter, retention and repeater strategies have predefined handles such as isolation_supply, input_supply and retention_supply.
- Implementation rule: 1801-2015 requires implementation input to give
-isolation_supplyexplicitly, as a supply set or an empty list. - Legacy form (still accepted by ICC2/PT):
set_domain_supply_net PD_COP -primary_power_net VDD1p0_SW -primary_ground_net VSS(UPF); Annex D namesassociate_supply_set(UPF) as its replacement. - What breaks: a strategy pointing at a handle nothing is bound to has no real nets, so its cells have nothing to connect to.
# [UPF] design.upf
create_supply_set SS_AON -function {power VDD1p0} -function {ground VSS}
create_supply_set SS_COP -function {power VDD1p0_SW} -function {ground VSS}
create_power_domain PD_COP -elements {U_COP} -supply {primary SS_COP}
associate_supply_set SS_AON -handle PD_COP.default_isolation
associate_supply_set SS_AON -handle PD_COP.default_retention
set_isolation ISO_COP_OUT -domain PD_COP -applies_to outputs -isolation_supply PD_COP.default_isolation -clamp_value 0 -isolation_signal U_PC/ISE -isolation_sense high
# [ICC2] icc2_shell
report_supply_sets
report_power_domainsWhat To Check
- Every handle a strategy uses is bound to a real supply set.
- Isolation and retention handles resolve to always-on nets, not VDD1p0_SW.
- PD_COP.primary is bound to the switched SS_COP, matching the power states.
- No handle is bound twice to supply sets that are not equivalent.
Command Checks & Actions
create_supply_set SS_AON -function {power VDD1p0} -function {ground VSS}Bundle the always-on power and ground nets
associate_supply_set SS_AON -handle PD_COP.default_isolationBind SS_AON to the PD_COP isolation handle
report_supply_setsReport the supply sets in the design
report_power_domainsShow each domain with its supplies
Healthy, Suspicious & Hard-stop Results
- Healthy (illustrative): PD_COP.default_isolation resolves to VDD1p0 and VSS through SS_AON, so the isolation cells connect to always-on nets.
- Suspicious (illustrative): A strategy uses PD_COP.primary as its isolation supply: legal UPF, but the clamp powers down with the domain.
- Hard stop: A strategy names a handle never bound to any supply set: the isolation cells have no always-on net to connect to.
Common Mistake
The Trap: Writing -isolation_supply PD_COP.primary because the primary handle sounds like the right domain supply.
- PD_COP.primary is the switched SS_COP, so the isolation cell loses power exactly when it has to clamp.
What The Interviewer Is Testing
- Do you know which handles a domain gets without asking?
- Can you explain why binding a handle beats rewriting every strategy?
Follow-up Question & Model Response
"What is the difference between associate_supply_set and create_power_domain -supply?"
Candidate Model Response: For a domain handle they reach the same result. create_power_domain PD_COP -supply {primary SS_COP} (UPF) creates the domain and binds SS_COP to its primary handle in one step. associate_supply_set (UPF) does the binding on its own, so you can use it later, across scopes, or for strategy handles the domain command never touches. Annex D of 1801-2015 names it as the replacement for the legacy supply-net command.
Practical Example
Design Scenario: (illustrative) In MYCHIP, SS_COP bundles VDD1p0_SW and VSS and is bound to PD_COP.primary, while SS_AON (VDD1p0, VSS) is bound to PD_COP.default_isolation and PD_COP.default_retention. ISO_COP_OUT and RET_COP both point at those handles. When the team later moves isolation to a dedicated always-on set SS_ISO, one associate_supply_set line changes and both strategies stay untouched.
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.

Continue practising