ExpertQuestion 34 of 50Source: Synopsys IC Compiler II Multivoltage User Guide: Correcting Multivoltage Violations for Tie Cells, Support for Always-On Backplane Tie Cells

Why do tie cells cause multivoltage violations, and how do you fix them?

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

Short Answer

A tie cell drives a constant, but that constant is only valid while the tie cell supply is on and at the right voltage. When you add tie cells by hand, ICC2 uses single-rail ones, which take the domain primary supply; if the load wants a different supply, check_mv_design (ICC2) reports a voltage or isolation violation. fix_mv_design -tie_cell (ICC2) repairs them by switching between single-rail and dual-rail tie cells or reconnecting the backup PG pin.

Technical Reference DiagramWhy do tie cells cause multivoltage violations, and how do you fix them?
Schematic of a tie-high cell in PD_COP powered from VDD1p0_SW (red) driving an enable pin whose related supply is VDD1p0 in PD_MYCHIP, then the fixed version: a dual-rail tie cell whose backup power pin connects to VDD1p0, labelled fix_mv_design -tie_cell (ICC2).

Technical Explanation

  • Mechanism: the tie output related supply is the tie cell supply; the load checks it like any other driver.
  • Isolation case: tie on VDD1 feeding a load on VDD2, where VDD1 is less always-on than VDD2, gives an isolation violation.
  • Voltage case: if VDD1 and VDD2 differ in voltage in the power state table, it is a voltage violation.
  • Fix directions: fix_mv_design -tie_cell (ICC2) converts single-rail to dual-rail with the backup on the load supply, dual-rail back to single-rail, or reconnects a wrong backup pin.
  • Constraints it honours: it will not use or modify dont_touch cells, keeps library cell purposes, stays within library subsets and site definitions, and respects bias rules.
  • Literal supply: it keeps any supply set with the -literal_supply option of set_port_attributes (UPF) when it converts a tie cell.
  • AO backplane ties: with mv.cells.ao_cells_without_primary_pg_pin (ICC2) set before commit_upf (ICC2), tie insertion uses always-on backplane tie cells.
# [ICC2]  icc2_shell
check_mv_design
fix_mv_design -tie_cell -report_only -verbose
fix_mv_design -tie_cell -verbose
report_mv_lib_cells -standard -verbose
check_mv_design

What To Check

  • Every tie cell output supply is at least as always-on as its loads.
  • Tie and load supplies are at the same voltage in every power state.
  • Dual-rail tie cells have their backup pin on the intended supply.
  • No tie cell is dont_touch where a fix is needed.

Command Checks & Actions

ICC2 (icc2_shell)check_mv_design

Find voltage and isolation violations from tie outputs

ICC2 (icc2_shell)fix_mv_design -tie_cell -report_only -verbose

Preview the tie cell fixes without changing the design

ICC2 (icc2_shell)fix_mv_design -tie_cell -verbose

Convert or reconnect tie cells and report each change

ICC2 (icc2_shell)report_mv_lib_cells -standard -verbose

Show tie cell PG pins, including AO backplane ties

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): The fix_mv_design report shows MV Illegal Tie Lib Cell at 0 after the run, and check_mv_design is clean.
  • Suspicious (illustrative): Violations are fixed, but several tie cells became dual-rail in a VA with no secondary strap.
  • Hard stop: A dont_touch tie cell still shows an isolation violation, or, with backplane support on, check_mv_design reports MV-546 for a regular dual-rail tie.

Common Mistake

The Trap: Assuming a constant cannot violate anything, so tie cells are left out of MV review.

  • A tie-high on a switched rail drops to 0 when the domain turns off, and an always-on enable it drives flips state without warning.

What The Interviewer Is Testing

  • Do you see a tie cell as a driver with a supply?
  • Can you name the isolation and voltage cases?

Follow-up Question & Model Response

"What is an always-on backplane tie cell, and when would you use one?"

Candidate Model Response: It is a tie cell with an always-on attribute and a backup power pin but no primary power pin. You enable support with mv.cells.ao_cells_without_primary_pg_pin (ICC2) before commit_upf (ICC2), and then tie insertion uses it where a dual-rail tie is needed. fix_mv_design -tie_cell (ICC2) can swap pre-instantiated regular dual-rail ties for it. You must connect the secondary supply to its PG pin explicitly.

Practical Example

Design Scenario: (illustrative) In MYCHIP, a tie-high TIEHI_X1 inside PD_COP on VDD1p0_SW holds cfg_en high on a register in PD_MYCHIP on VDD1p0. check_mv_design reports an isolation violation, since VDD1p0_SW is less always-on than VDD1p0. fix_mv_design -tie_cell (ICC2) converts it to a dual-rail tie with its backup pin on VDD1p0, so cfg_en stays high while PD_COP is off. Cell names are illustrative.

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. →