BeginnerQuestion 139 of 157Source: Synopsys ICC2 Implementation User Guide: Preparing the Design

What is a threshold-voltage (Vt) swap?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

A Vt swap replaces a cell with the same function, size and footprint but a different threshold voltage. Lower Vt cells switch faster and leak more, higher Vt cells are slower and leak less. You swap to LVT only on paths that need the speed, and swap non-critical cells to HVT to recover leakage.

Technical Reference DiagramWhat is a threshold-voltage (Vt) swap?
Table of a Vt ladder from HVT through SVT to LVT for one cell footprint, with illustrative delay and leakage ledger columns showing speed rising and leakage rising together.

Technical Explanation

  • Libraries usually offer the same cells in several Vt flavours, such as HVT, SVT and LVT. The threshold voltage sets how easily the transistor turns on, which sets both its speed and how much current leaks when it is off.
  • Leakage rises steeply as Vt drops. An LVT cell can leak several times more than the HVT version of the same cell, so blanket LVT use has a large leakage cost.
  • Because the footprint is the same, a Vt swap needs no placement change and no new routing. That makes it one of the cheapest timing fixes late in the flow.
  • The ICC2 note in the UG is plain: LVT cells have a smaller cell delay but higher leakage, so limiting the number of LVT cells reduces leakage.
  • ICC2 can cap LVT usage. You mark the LVT cells with a threshold voltage group and declare that group low_vt with set_threshold_voltage_group_type -type low_vt (ICC2), then set set_multi_vth_constraint -low_vt_percentage (ICC2) with a limit by cell count or by area. report_multi_vth_constraint (ICC2) shows it.
  • The constraint applies to data path cells during place_opt (ICC2), clock_opt (ICC2) and route_opt (ICC2), but the tool limits LVT-percentage optimization during route_opt (ICC2) to avoid disturbing QoR. Set it early in the flow.
  • PrimeTime uses Vt swapping in both directions. Setup fixing can swap to faster cells, and the final power recovery with fix_eco_power (PT) can swap slack-positive cells to higher Vt with no layout change.

What To Check

  • LVT percentage by count and by area against the project limit.
  • Which paths still fail after LVT swaps; those need structural fixes.
  • Leakage before and after the swap round.
  • That the LVT cells are in a threshold voltage group and not dont_use.

Command Checks & Actions

ICC2 (icc2_shell)set_multi_vth_constraint -low_vt_percentage 8

Caps LVT cells at 8% of data path cells so optimization cannot swap freely.

ICC2 (icc2_shell)report_multi_vth_constraint

Reports the LVT constraint and current usage.

Healthy, Suspicious & Hard-stop Results

  • Healthy (illustrative): LVT use under the project cap, for example 6% against an 8% limit, with setup closed.
  • Suspicious (illustrative): LVT at the cap with a few paths still failing. Swaps are exhausted, so look at structure.
  • Hard stop: Leakage over the power budget because a late setup ECO swapped hundreds of cells to LVT outside the constraint. Recover before signoff.

Common Mistake

The Trap: Enabling the LVT percentage limit only at route_opt (ICC2). By then place_opt (ICC2) and clock_opt (ICC2) have already used LVT freely, and route_opt only applies limited LVT-percentage optimization. The block ends at 19% LVT against a 10% target and leakage misses the budget.

What The Interviewer Is Testing

  • Knowing that a Vt swap keeps the footprint and so needs no placement change.
  • Can you describe the leakage cost and the need to cap LVT usage?
  • Awareness that the ICC2 LVT limit is weaker during route_opt.

Follow-up Question & Model Response

"After setup closes, how do you get leakage back?"

Candidate Model Response: I run a leakage recovery step that swaps cells on paths with positive setup slack to a higher Vt. In PrimeTime that is the final step of the recommended ECO order, done with fix_eco_power (PT), and it does not introduce new timing or DRC violations and needs no layout change. It works best when there is spread-out slack on non-critical paths. I still recheck setup afterwards, because each swap spends some of the setup margin on those paths.

Practical Example

Tapeout Scenario: A path fails by -15 ps with six SVT cells (illustrative ledger for one NAND2 size: HVT 48 ps and 0.4 units leakage, SVT 40 ps and 1.0 unit, LVT 33 ps and 3.2 units). Swapping the three slowest cells to LVT saves about 7 ps each, 21 ps total, and the path passes at +6 ps. Leakage on those three cells rises from 3.0 to 9.6 units. In the same run, 120 non-critical SVT cells swap to HVT, saving 72 units.

PnR Flow Mentor Guide

Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

PnR Flow Physical Design Mentor Guide — eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out. →