ExpertQuestion 9 of 20Source PDF page 96

How does a virtual rail behave differently from a primary rail inside a shutdown domain, using the Mychip PD_COP example?

From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide

Technical Explanation

In PD_COP, the domain's primary power net is set to VDD1p0_SW — a supply net created specifically inside PD_COP (create_supply_net VDD1p0_SW -domain PD_COP) that is the switched output of the power switch. This is the rail that actually collapses when the domain shuts down. VDD1p0, by contrast, is the always-on input rail feeding the switch, and it stays up regardless of PD_COP's power state — it's deliberately used as the isolation_power_net and retention_power_net so that isolation clamps and retention storage keep working even while the switched (virtual) rail is dead.

Architecture-level Reasoning

If isolation cells or retention latches were powered from the same switched rail they are protecting, they would lose power at exactly the moment they're needed to hold state or clamp outputs — so the architecture always powers those specific power-management cells from the always-on primary rail, not the domain's own switchable/virtual rail.

Step-by-step Walkthrough

1) create_supply_net VDD1p0_SW -domain PD_COP creates the switched (virtual) output rail local to PD_COP. 2) set_domain_supply_net PD_COP designates VDD1p0_SW as PD_COP's primary power net — ordinary logic in U_COP is powered from this switchable rail and does go down. 3) For isolation: set_isolation for PD_COP specifies isolation_power_net = VDD1p0 (the always-on input), not VDD1p0_SW — so isolation logic is powered by the always-on supply and can hold its clamp while the domain is off. 4) For retention: set_retention PD_COP_RET's retention_power_net is likewise VDD1p0, the always-on rail, so the retention latches survive the shutdown of the switched primary rail.

Command

create_supply_net VDD1p0_SW -domain PD_COP set_domain_supply_net PD_COP -primary_power_net VDD1p0_SW primary_ground_net GND set_isolation PD_COP_ISO -domain PD_COP -isolation_power_net VDD1p0 ... set_retention PD_COP_RET -domain PD_COP -retention_power_net VDD1p0 -elements {U_COP/reg1 U_COP/pc U_COP/int_state}

Switch-by-switch

-primary_power_net (set_domain_supply_net): the switchable/ virtual rail that ordinary domain logic is powered from and that collapses on shutdown. -isolation_power_net / retention_power_net: deliberately point at the always-on input rail (VDD1p0), not the switched rail, so those specific power-management functions survive shutdown.

Expected Result

Ordinary PD_COP logic correctly loses power when the switch is off, while isolation clamps hold their values and retention latches preserve state throughout the shutdown, because those functions are wired to the always-on rail rather than the virtual switched rail.

Possible Implementation Error

Accidentally specifying -isolation_power_net VDD1p0_SW (the switched rail) instead of VDD1p0, which would power the isolation cell from the very rail it's supposed to clamp against once it collapses — the clamp would lose its own power exactly when the domain shuts down.

Likely Tool / Clp Warning

No specific error code for this misconfiguration is documented; the practical symptom is an isolation or retention cell whose declared power net is not actually always-on relative to the domain it protects.

Root Cause

UPF does not automatically infer that isolation/retention power nets must be always-on — the always-on choice is purely a modeling decision the author makes explicitly in isolation_power_net/-retention_power_net.

Debugging Sequence

1) For every isolation and retention strategy on a shutdown domain, check the declared power net. 2) Confirm that net is genuinely always-on relative to the domain's own switch (i.e. it is the switch's input rail, not its output). 3) Cross-check against the PST to ensure the declared always-on net truly never goes off in any power mode the domain shuts down in. An isolation/retention power net that is not actually alwayson is a functional correctness failure that must be caught before signoff — it would silently corrupt state or lose the clamp exactly when the shutdown domain powers down.

Visual explanationLow-power context: How does a virtual rail behave differently from a primary rail inside…
Low-power context: How does a virtual rail behave differently from a primary rail inside…A three-step concept map summarizes the focus, core answer, and practical verification for How does a virtual rail behave differently from a primary rail inside a shutdown domain, using the Mychip PD_COP example?Question focusHow does a virtual railbehave differently froma primary rail inside…Core answerIn PD_COP, the domain'sprimary power net is setto VDD1p0_SW —…Verify in practicecreate_supply_netVDD1p0_SW -domain PD_COPset_domain_supply_netPD_COP…Understand → explain the mechanism → verify the assumptions

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.