What is the precedence order for isolation strategies when multiple strategies could apply to the same element?
From PDVerse Low-Power Physical Design Mentor Guide · pdVerse Mentor Guide
Technical Explanation
When more than one set_isolation strategy could apply to the same element, the tool resolves the conflict using a fixed precedence order, from highest to lowest: (1) strategies applying to ports explicitly via -elements, (2) strategies applying to ports implied by an instance named via -elements, (3) strategies applying to ports implied purely by the domain name, (4) strategies using -no_isolation, (5) strategies using both -source and -sink together (ranked above one using just one of the two), (6) strategies with -diff_supply_only true, and (7) strategies with -diff_supply_only false. When two strategies still tie, the tool keeps whichever strategy was created first and strips the overlapping elements out of the later one.
Architecture-level Reasoning
Explicit, element-level intent (naming a specific port) is the most trustworthy signal of what the designer actually wants, so it outranks broader, domain-implied strategies; conflict resolution by creation order for equal-precedence strategies gives a deterministic, reproducible result rather than an arbitrary one.
Step-by-step Walkthrough
1) List every set_isolation strategy touching the element in question. 2) Rank each by which precedence bucket it falls into Flip-flop (primary VDD) Save-latch (backup VDDG) CLOCK / DATA SAVE NRESTORE Q holds state through shutdown (explicit port -elements highest, down to -diff_supply_only false lowest). 3) If two strategies land in the same bucket, the one written/created earlier in the UPF wins, and its elements are removed from the later strategy's applicability.
Switch-by-switch
-elements (on ports explicitly): highest precedence. -elements
(on instances, implying ports): second. domain-only application
(no -elements): third. -no_isolation: fourth. -source and -sink
together: fifth (above either alone). -diff_supply_only true:
sixth. -diff_supply_only false: seventh (lowest).Expected Result
A deterministic, unambiguous assignment of exactly one isolation strategy per element, with conflicts resolved by the documented precedence rather than by chance.
Possible Implementation Error
Two strategies both applying -diff_supply_only false to the same domain-level elements, expecting the later one to override the earlier — but the tool actually keeps whichever was created first and silently strips the overlap from the later strategy, so the later strategy's other settings never take effect for that element.
Likely Tool / Clp Warning
This topic is not covered in enough depth here to give a fully reliable answer regarding a specific tool error code for a silentlydropped overlapping strategy; the effect is automatic conflict resolution, not a flagged error.
Root Cause
Precedence and creation-order resolution happen silently by design — the tool does not warn when it drops overlapping elements from a lower-precedence or later-created strategy.
Debugging Sequence
1) List all set_isolation statements touching the element and note their creation order. 2) Classify each by precedence bucket per the seven-level order. 3) Determine which strategy the tool actually keeps for the contested element, and confirm that is the intended one — reorder or add -elements/-exclude_elements if not. A misapplied isolation strategy due to unnoticed precedence resolution is a functional risk (wrong clamp behavior or missing isolation) that must be verified before 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