What are supply-set relationships, and what does the resolve option of create_supply_net control?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Technical Explanation
A supply set is an abstract collection of two functions — power and ground — accessed as SS.power/SS.ground, and it is domain- independent by default. Supply sets relate to each other through commands like associate_supply_set (ties the functions of two or more supply sets to the same net) and set_equivalent (marks supply sets as electrically equivalent). Separately, -resolve on create_supply_net specifies a custom resolution function, or the built-in keyword parallel, used when a net connects the internal PG pins of more than one macro that each have a fine-grained switch, or when the net is associated with a multi-driver supply-set group.
Architecture-level Reasoning
Multiple drivers converging on one physical net (for example several macros each with their own fine-grained power switch feeding a shared rail) is electrically ambiguous unless the tool is told how to resolve the combined state of that net — that is exactly the job of -resolve.
Step-by-step Walkthrough
1) Declare the supply set: create_supply_set supply_set_name. 2) When the same net is driven by more than one macro's internal PG pins under fine-grained switching, declare it with create_supply_net VDD -domain -resolve parallel, or supply a custom function: create_supply_net VDD -resolve my_package::my_resolution. 3) Where supply sets need to be tied together across scopes, use associate_supply_set {SS1 SS2 mid/SS3} so their power/ground functions map onto the same underlying net.
Command
create_supply_net VDD -resolve my_package::my_resolution
create_supply_net VDD -domain -resolve parallelSwitch-by-switch
-resolve : names a user-supplied resolution function for the net's
multi-driver behavior. -resolve parallel: the built-in resolution
used when the net connects internal PG pins of more than one macro
with a fine-grained switch, or is associated with a multi-driver
supply-set group.Expected Result
A supply net whose combined driven state, when multiple macros or supply sets converge on it, resolves unambiguously according to the specified function.
Possible Implementation Error
Connecting multiple fine-grained-switch macro PG pins to one net without ever specifying -resolve parallel (or a custom resolver), leaving the net's effective state undefined when the drivers disagree.
Likely Tool / Clp Warning
This topic is not covered in enough depth here to give a fully reliable answer regarding a specific error code for a missing resolver; the practical symptom is an unresolved/ambiguous multi-driver supply net.
Root Cause
create_supply_net defaults to a single-driver assumption; without resolve, the tool has no defined rule for combining multiple drivers on the same net.
Debugging Sequence
1) Identify every net fed by more than one macro's fine-grainedswitch PG pins. 2) Confirm each such net's create_supply_net call carries -resolve parallel or a named custom function. 3) Re-check associate_supply_set usage for any supply-set groups feeding the same net. An unresolved multi-driver supply net is an electricalcorrectness gap that must be closed before PG connectivity signoff.
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