IntermediateQuestion 5 of 60

How do you write an isolation strategy with set_isolation, and what do its key options control?

From PDVerse Low-Power Physical Design Mentor Guide, part of the pdVerse Mentor Guide

Short Answer

set_isolation (UPF) tells the tool which boundary ports of a switchable domain need an isolation cell, what powers that cell, and what value it holds while the domain is off. Pair it with a control signal, and the always-on side never sees a floating input.

Technical Reference DiagramHow do you write an isolation strategy with set_isolation, and what do its key options control?

Technical Explanation

  • What gets isolated: -applies_to inputs|outputs|both, narrowed with -elements or filtered with -source, -sink or -diff_supply_only.
  • ICC2 default: with no -applies_to and no source or sink filter, the strategy covers outputs only.
  • What powers the cell: -isolation_supply SS_AON. It must stay on while the domain is off, or the clamp dies with it.
  • What it holds: -clamp_value 0 | 1 | latch. Pick 0 for active-high enables and 1 for active-low resets. ICC2 defaults to 0.
  • Control: -isolation_signal U_PC/ISE -isolation_sense high sits on set_isolation itself in 1801-2015. ICC2 defaults the sense to high.
  • Legacy form (still accepted by ICC2/PT): -isolation_power_net VDD1p0 -isolation_ground_net GND, with the signal on set_isolation_control (UPF).
  • -location self, parent, other or fanout picks the domain that hosts the cell; IEEE 1801-2015 defaults to self.
# [UPF]  mychip.upf
set_isolation ISO_COP_OUT -domain PD_COP -applies_to outputs -isolation_supply SS_AON -clamp_value 0 -isolation_signal U_PC/ISE -isolation_sense high -location parent
# Legacy form (still accepted by ICC2/PT), control moves to set_isolation_control
set_isolation ISO_COP_OUT -domain PD_COP -applies_to outputs -isolation_power_net VDD1p0 -isolation_ground_net GND -clamp_value 0
# [ICC2]  icc2_shell
create_mv_cells
check_mv_design -isolation

What To Check

  • Every PD_COP output that reaches an always-on receiver is covered by a strategy.
  • The isolation supply is on in every state where PD_COP is off.
  • The clamp value matches what each receiver treats as inactive.
  • The control comes from always-on logic, and its sense matches the cell enable.

Command Checks & Actions

UPF (design.upf)set_isolation ISO_COP_OUT -domain PD_COP -applies_to outputs -isolation_supply SS_AON -clamp_value 0 -isolation_signal U_PC/ISE -isolation_sense high

Define ports, supply, clamp and control in one strategy

ICC2 (icc2_shell)create_mv_cells

Insert the isolation cells from the strategy before placement

ICC2 (icc2_shell)check_mv_design -isolation

Check isolation strategy and isolation cell rules

VC LP (vc_static_shell)check_lp -stage upf

Statically check the strategies against the power intent

VC LP (vc_static_shell)report_violations -app LP

List tags such as ISO_STRATEGY_MISSING or ISO_CONTROL_INVERT

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): check_mv_design -isolation is clean, and every PD_COP output has an isolation cell on SS_AON.
  • Suspicious (illustrative): The same net is isolated twice, once by PD_COP and once by the receiver domain; the tool can merge these, but confirm the intent.
  • Hard stop: ISO_CONTROL_INVERT from VC LP, or an isolation supply that turns off together with PD_COP.

Common Mistake

The Trap: Powering the isolation cell from the domain's own switched supply, for example -isolation_supply SS_COP.

  • The cell loses power at the exact moment it must hold the clamp, so the always-on receiver sees a floating input.

What The Interviewer Is Testing

  • Can you say what each option controls and what fails when it is wrong?
  • Do you know the 1801-2015 form and the legacy set_isolation_control split?
  • Do you know the ICC2 defaults: outputs only, clamp 0, sense high?

Follow-up Question & Model Response

"What happens if two isolation strategies claim the same port?"

Candidate Model Response: ICC2 resolves it by precedence, not by the order you wrote them. Ports named explicitly in -elements win, then ports implied by an instance in -elements, then domain-wide strategies, then -no_isolation, then -source/-sink, then -diff_supply_only true, then false. If two strategies still conflict, the one created first keeps the port. So a broad strategy never silently overrides a port you named on purpose.

Practical Example

Design Scenario: (illustrative; ISO_AND_X1 is an illustrative cell name) PD_COP at 1.0 V drives irq and req into PD_MYCHIP. ISO_COP_OUT covers both outputs with clamp 0, SS_AON as isolation supply and U_PC/ISE active high. create_mv_cells uses ISO_AND_X1 cells, placed in PD_MYCHIP because of -location parent. Before U_PC opens the PD_COP switch it raises ISE, so irq and req read 0 until ISE drops after wake-up.

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.