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 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_supplyoption ofset_port_attributes(UPF) when it converts a tie cell. - AO backplane ties: with
mv.cells.ao_cells_without_primary_pg_pin(ICC2) set beforecommit_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_designWhat 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
check_mv_designFind voltage and isolation violations from tie outputs
fix_mv_design -tie_cell -report_only -verbosePreview the tie cell fixes without changing the design
fix_mv_design -tie_cell -verboseConvert or reconnect tie cells and report each change
report_mv_lib_cells -standard -verboseShow 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_designis 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_designreports 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
Master Low-Power VLSI & Multivoltage Design
Read the complete low-power guide library covering power domains, level shifters, isolation clamps, state retention, and UPF signoff verification.

Continue practising