IntermediateQuestion 34 of 60Source: Synopsys IC Compiler II Multivoltage User Guide: Always-On Design and Always-On Legalization of Preinstantiated RTL Buffers and Inverters

How do you buffer an always-on net that runs through a shutdown domain?

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

Short Answer

Buffers placed inside a shutdown voltage area on an always-on net must stay powered when the domain is off. You use dual-rail always-on buffers whose backup power pin connects to an always-on secondary supply, never single-rail buffers on the switched rail. ICC2 does this automatically during optimization, and fix_mv_design -buffer (ICC2) and create_mv_cells -always_on (ICC2) repair buffers that are on the wrong supply.

Technical Reference DiagramHow do you buffer an always-on net that runs through a shutdown domain?
A long always-on net from PD_MYCHIP crossing the hatched PD_COP voltage area to a load on the far side, buffered by three dual-rail AO buffers inside PD_COP whose backup pins tap a VDD1p0 secondary strap, with one single-rail buffer on the switched VDD1p0_SW rail marked red as the illegal alternative.

Technical Explanation

  • Always-on net: a signal such as save, restore, isolation enable or a feedthrough that must keep working while the domain it crosses is off.
  • Dual-rail AO buffer: primary pins on the local rail, backup power pin on an always-on supply that stays up in shutdown.
  • The tool uses the driver or load supply for the buffer; if neither is available in the domain, it marks the net dont_touch.
  • fix_mv_design -buffer (ICC2) converts single-rail buffers with MV violations, such as ECO buffers, to dual-rail.
  • create_mv_cells -always_on (ICC2) legalizes existing buffers and inverters; with -level_shifter it can also fix voltage violations in the same run.
  • Dual-rail buffers need a nearby secondary strap, so secondary PG placement constraints decide where they may go.
  • A single-rail buffer on the switched rail cuts the net when the domain powers down, so the control signal floats.
# [ICC2]  icc2_shell
create_mv_cells -always_on -level_shifter
fix_mv_design -buffer -verbose
get_cells -filter is_always_on_logic==true -hierarchical
check_mv_design

What To Check

  • Every buffer or inverter on an always-on net inside a shutdown voltage area is dual-rail with its backup pin on an always-on supply.
  • check_mv_design (ICC2) reports no MV violations on control nets such as isolation enable and save or restore.
  • Dual-rail AO buffers sit within the secondary PG placement margin.
  • ECO buffers added late went through fix_mv_design -buffer (ICC2).

Command Checks & Actions

ICC2 (icc2_shell)create_mv_cells -always_on -level_shifter

Legalizes buffers and inverters and inserts level shifters together.

ICC2 (icc2_shell)fix_mv_design -buffer -verbose

Converts single-rail buffers with MV violations to dual-rail and reports the buffer trees fixed.

ICC2 (icc2_shell)get_cells -filter is_always_on_logic==true -hierarchical

Lists always-on buffers, inverters and tie cells on a supply other than their domain primary.

ICC2 (icc2_shell)check_mv_design

Confirms no MV violations remain on always-on nets.

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): All 6 buffers on the PD_COP save and ISE nets are dual-rail on VDD1p0 backup, and check_mv_design (ICC2) is clean.
  • Suspicious (illustrative): Buffers are dual-rail but two sit 40 um from the nearest VDD1p0 strap, beyond the 15 um margin.
  • Hard stop: A single-rail buffer powered by VDD1p0_SW on ISE inside PD_COP.

Common Mistake

The Trap: Adding an ECO buffer with a normal buffer command on an always-on net and skipping the MV fix-up.

  • The new buffer is single-rail and takes the switched rail of the voltage area it lands in.
  • When PD_COP powers down, the net breaks, and isolation or retention control stops working exactly when it is needed.

What The Interviewer Is Testing

  • Knows which signals must stay alive through a shutdown domain.
  • Understands dual-rail cell power pins.
  • Uses the ICC2 fix-up and check commands after ECOs.

Follow-up Question & Model Response

"Why not route the always-on net around the shutdown domain instead?"

Candidate Model Response: Sometimes you should; it is a floorplanning trade-off you decide. A detour avoids dual-rail cells but adds wire length, delay and congestion, and for a large domain the detour can be hundreds of microns. Dual-rail buffers inside the domain keep the route short but need a secondary strap and cost more area per buffer. For short critical controls such as ISE, the direct path with AO buffers is usually better.

Practical Example

Design Scenario: (illustrative) The ISE net from U_PC in PD_MYCHIP runs 350 um across PD_COP, which runs on VDD1p0_SW (header-switched from VDD1p0), to isolation cells on the far edge. Optimization adds three buffers along the route. create_mv_cells -always_on -level_shifter (ICC2) makes them dual-rail, backup pin on VDD1p0, placed within 15 um of the M9 VDD1p0 straps. A late ECO adds a fourth buffer as single-rail on VDD1p0_SW; check_mv_design (ICC2) flags it, and fix_mv_design -buffer (ICC2) swaps it to dual-rail.

Low-Power & UPF Handbook

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

Low-Power VLSI & UPF Handbook — nine chaptersLow-Power & UPFDomains, isolation, retention, and multivoltage UPF. →