ExpertQuestion 11 of 50

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, part of the pdVerse Mentor Guide

Short Answer

When two isolation strategies could claim the same port, ICC2 ranks them in a fixed seven-level order, highest first: ports named in -elements, ports implied by an instance in -elements, ports implied by the domain name alone, -no_isolation, -source with -sink (both beats one), -diff_supply_only true, and -diff_supply_only false. The order of execution does not matter. If two strategies still conflict, the one created first keeps the port and later ones lose it.

Technical Reference DiagramWhat is the precedence order for isolation strategies when multiple strategies could apply to the same element?

Technical Explanation

  • Levels 1 to 3 rank by how specifically the port is named: explicit port, then instance, then the whole domain.
  • Level 4: strategies with -no_isolation (UPF) rank below any strategy that names elements or only the domain.
  • Levels 5 to 7 are filter strategies: -source and -sink together beat either alone, then -diff_supply_only true, then false.
  • Conflicts: the strategy created first keeps the port. With ISO1 and ISO2 both listing p1, ISO1 wins p1 and ISO2 keeps only p2.
  • Precedence is resolved per port, so one strategy can win some ports and lose others.
  • Level-shifter and retention strategies have their own, shorter orders, so this ladder does not carry over to them.
  • What breaks: a plain domain strategy with the wrong clamp beats the -sink (UPF) strategy you meant, because naming the domain outranks filters.
# [UPF]  mychip.upf
set_isolation ISO_ALL -domain PD_COP -applies_to outputs -isolation_supply SS_AON -clamp_value 0 -isolation_signal ISE -isolation_sense high
set_isolation ISO_DSP -domain PD_COP -applies_to outputs -sink PD_DSP -isolation_supply SS_AON -clamp_value 1 -isolation_signal ISE -isolation_sense high
set_isolation ISO_IRQ -domain PD_COP -elements {U_COP/irq_n} -isolation_supply SS_AON -clamp_value 1 -isolation_signal ISE -isolation_sense high
# [ICC2]  icc2_shell
create_mv_cells
report_mv_cells
check_mv_design

What To Check

  • For each boundary port you can name the winning strategy and its level.
  • No domain-only strategy takes ports that a filter strategy was written for.
  • Strategies that conflict at the same level are created in the order you intend.
  • The winning strategy on each port has the clamp its receiver needs.

Command Checks & Actions

UPF (design.upf)set_isolation ISO_IRQ -domain PD_COP -elements {U_COP/irq_n} -isolation_supply SS_AON -clamp_value 1 -isolation_signal ISE -isolation_sense high

Names the port explicitly, so it wins at level 1

ICC2 (icc2_shell)create_mv_cells

Inserts isolation cells according to the resolved strategies

ICC2 (icc2_shell)report_mv_cells

Lists the inserted multivoltage cells so you can see which strategy each port got

ICC2 (icc2_shell)check_mv_design

Reports crossings left without the isolation they need

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): Every PD_COP output has the expected strategy: ISO_IRQ on irq_n and ISO_ALL on the rest.
  • Suspicious (illustrative): The 4 ports that feed PD_DSP got ISO_ALL with clamp 0 although ISO_DSP asked for 1.
  • Hard stop: An active-low PD_DSP reset input from PD_COP is clamped to 0 by the winning strategy, holding PD_DSP in reset whenever PD_COP is off.

Common Mistake

The Trap: Assuming the most specific-looking filter strategy beats a plain domain strategy.

  • In the ICC2 order, naming only the domain ranks above -source, -sink and -diff_supply_only, so the plain strategy takes those ports.

What The Interviewer Is Testing

  • Whether you know the exact ICC2 order rather than a guess such as last one wins.
  • Whether you can predict the winning clamp on a specific port.

Follow-up Question & Model Response

"How would you make ISO_DSP win the ports that feed PD_DSP?"

Candidate Model Response: Take those ports out of the domain strategy, for example with -exclude_elements on ISO_ALL. Or list them explicitly in ISO_DSP with -elements, which lifts it to level 1. Then confirm the result in the inserted-cell report rather than trusting the UPF text. Keeping one strategy per clamp value per port group makes the intent easy to review.

Practical Example

Design Scenario: (illustrative) PD_COP has 64 outputs. ISO_ALL clamps them to 0, ISO_DSP asks for clamp 1 on the 4 ports that feed PD_DSP, and ISO_IRQ names irq_n with clamp 1. After insertion irq_n gets ISO_IRQ (level 1), but the 4 PD_DSP ports get ISO_ALL, because level 3 beats level 5. Adding -exclude_elements for those 4 ports on ISO_ALL gives them to ISO_DSP.

Low-Power & UPF Handbook

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

Offline PDF Bundle

Want all 1109 questions offline?

Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

See what's inside the bundle
Low-Power VLSI & UPF Handbook โ€” nine chaptersLow-Power & UPFDomains, isolation, retention, and multivoltage UPF.