IntermediateQuestion 7 of 60

What are the different isolation clamp values (0, 1, latch), and when would you use each?

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

Short Answer

The clamp value is what the isolation cell drives while its source domain is off: 0 (an AND-type cell, the ICC2 default), 1 (an OR-type cell) or latch (holds the last value). Choose it signal by signal, from what the always-on receiver treats as inactive, not one value per domain. Active-high enables clamp to 0, active-low resets clamp to 1, and buses that must keep their last value use latch.

Technical Reference DiagramWhat are the different isolation clamp values (0, 1, latch), and when would you use each?

Technical Explanation

  • Clamp 0: AND-type cell. Right for active-high enables, requests, valids and interrupts, so the receiver sees "idle".
  • Clamp 1: OR-type cell. Right for active-low resets and selects, so the receiver is not held in reset or selected.
  • Latch: holds the value present when isolation turned on. Use it for configuration or status the receiver keeps using.
  • A latch cell with an asynchronous set or reset pin needs -async_set_reset on set_isolation (UPF) in ICC2.
  • Clamp 0 with no supply: -isolation_supply {} with clamp 0 lets ICC2 use a single-rail NOR-style cell.
  • A wrong clamp is functionally silent in synthesis: the receiver acts on a fake event during every shutdown.
# [UPF]  mychip.upf
set_isolation ISO_COP_EN -domain PD_COP -elements {U_COP/req U_COP/irq} -isolation_supply SS_AON -clamp_value 0 -isolation_signal U_PC/ISE -isolation_sense high
set_isolation ISO_COP_RSTN -domain PD_COP -elements {U_COP/rst_n} -isolation_supply SS_AON -clamp_value 1 -isolation_signal U_PC/ISE -isolation_sense high
set_isolation ISO_COP_CFG -domain PD_COP -elements {U_COP/cfg} -isolation_supply SS_AON -clamp_value latch -isolation_signal U_PC/ISE -isolation_sense high
# [ICC2]  icc2_shell
create_mv_cells
report_mv_cells

What To Check

  • Each PD_COP output has a clamp chosen from its receiver, not a domain-wide default.
  • Active-low signals are clamped to 1.
  • Latch strategies map to real latch-type isolation cells.
  • Power-aware simulation shows receivers idle during every PD_COP off period.

Command Checks & Actions

UPF (design.upf)set_isolation ISO_COP_RSTN -domain PD_COP -elements {U_COP/rst_n} -isolation_supply SS_AON -clamp_value 1

Clamp the active-low reset high while PD_COP is off

ICC2 (icc2_shell)create_mv_cells

Insert AND, OR or latch cells per strategy

ICC2 (icc2_shell)report_mv_cells

Confirm which cell type landed on each port

ICC2 (icc2_shell)check_mv_design -isolation

Check isolation cells against their strategies

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): req and irq sit behind AND-type cells, rst_n behind an OR-type cell, and cfg behind a latch cell, all on SS_AON.
  • Suspicious (illustrative): One domain-wide strategy clamps every output to 0, including an active-low signal.
  • Hard stop: rst_n clamped to 0: the PD_MYCHIP logic it feeds sits in reset for as long as PD_COP is off.

Common Mistake

The Trap: Writing one set_isolation (UPF) strategy for all PD_COP outputs with the default clamp 0.

  • Every active-low reset or select crossing into PD_MYCHIP is forced asserted during shutdown, and nothing in synthesis flags it.

What The Interviewer Is Testing

  • Do you choose clamp values per signal from the receiver side?
  • Do you know which gate type implements each clamp?

Follow-up Question & Model Response

"Why not use latch everywhere and let every signal keep its last value?"

Candidate Model Response: Because a held value is only safe if the receiver expects it to stay valid. An interrupt or request frozen high looks like a real event forever. Latch cells are also larger and need their enable timing checked so they capture a settled value. Use latch only where the receiver genuinely needs the last value, such as configuration.

Practical Example

Design Scenario: (illustrative; ISO_AND_X1, ISO_OR_X1 and ISO_LAT_X1 are illustrative cell names) PD_COP drives req, irq, rst_n and an 8-bit cfg bus into PD_MYCHIP. req and irq get ISO_AND_X1 (clamp 0), rst_n gets ISO_OR_X1 (clamp 1) and cfg gets eight ISO_LAT_X1 cells (latch). All run on SS_AON at 1.0 V and share U_PC/ISE. In power-aware simulation, PD_MYCHIP sees no request, no reset and the last cfg value while PD_COP is off.

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.