IntermediateQuestion 53 of 60Source: IEEE Std 1801-2015: associate_supply_set, supply set handles and Annex D; Synopsys IC Compiler II Multivoltage User Guide: Specifying Supply Sets

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 Reference DiagramWhat are supply set handles, and how does associate_supply_set use them?
Tree: PD_COP with three handles; primary bound to SS_COP (VDD1p0_SW, VSS, hatched) and default_isolation and default_retention bound to SS_AON (VDD1p0, VSS, solid tint), each binding labelled associate_supply_set (UPF).

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; -handle is 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_supply explicitly, 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 names associate_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_domains

What 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

UPF (design.upf)create_supply_set SS_AON -function {power VDD1p0} -function {ground VSS}

Bundle the always-on power and ground nets

UPF (design.upf)associate_supply_set SS_AON -handle PD_COP.default_isolation

Bind SS_AON to the PD_COP isolation handle

ICC2 (icc2_shell)report_supply_sets

Report the supply sets in the design

ICC2 (icc2_shell)report_power_domains

Show 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

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

Low-Power VLSI & UPF Handbook — nine chaptersLow-Power & UPFDomains, isolation, retention, and multivoltage UPF. →