How is hierarchical UPF constructed for nested power domains, and what does create_composite_domain do?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Technical Explanation
Nested domains are built the ordinary way — create_power_domain with -elements naming the sub-instances, and -scope steering where in the hierarchy the domain is rooted. On top of that, create_composite_domain lets you take several existing subdomains and fuse them into one logical composite domain that shares a single supply, which is useful when a set of subdomains should be treated as one unit for power-state or reporting purposes.
Architecture-level Reasoning
Real designs are built bottom-up out of IP blocks that already carry their own power domains; the composite-domain mechanism gives you a PD_MYCHIP—1.0V,always-on PD_CPU 0.9V, always-on PD_COP 1.0V, shutdown retention regs PD_DSP 1.1V or 0.9V externally switched Power Controller (U_PC) PSE • PSE_ACK • ISE • SRE way to group those without re-declaring every element, keeping the hierarchical UPF description consistent with how the chip is actually assembled.
Step-by-step Walkthrough
1) Declare each child domain independently with create_power_domain -elements {...}. 2) Where several subdomains logically share one supply and should be managed as a unit, call create_composite_domain -subdomains {list} -supply to combine them into a single composite domain.
Command
create_composite_domain -subdomains {subdomain_list} -supplySwitch-by-switch
-subdomains: the list of already-declared power domains to merge
into the composite. -supply: the supply set the composite domain is
associated with.Expected Result
A single composite power-domain object that reports and behaves as one domain for the grouped subdomains, sharing one supply designation.
Possible Implementation Error
Declaring create_composite_domain before the referenced subdomains exist, or listing subdomains that don't actually share the intended supply relationship.
Likely Tool / Clp Warning
This topic is not covered in enough depth here to give a fully reliable answer beyond the syntax itself — no specific error code for misuse of create_composite_domain is documented.
Root Cause
The composite domain's validity depends entirely on its subdomains already being correctly declared and supply-connected before the composite is formed.
Debugging Sequence
1) Verify each subdomain listed in -subdomains was already created. 2) Confirm the -supply argument matches the supply relationship intended across those subdomains. 3) Re-check the composite domain's reported elements match the union of the subdomains. This topic is not covered in enough depth here to give a fully reliable answer.
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