13 min read | Intermediate Level
What You'll Learn
- Understand isolation cell types and selection criteria
- Learn retention flip-flop architecture and timing requirements
- Master level shifter variants for different voltage transitions
- Apply multi-Vt cells for leakage power optimization
The Library Cell Foundation
Your UPF specifies isolation, retention, and level shifters. Synthesis transforms this intent into gates. But which gates? Standard AND gates can't function without power. Standard flip-flops lose state when power is removed. Standard buffers can't safely translate between voltage levels.
Low-power design requires specialized library cells engineered specifically for power management scenarios.
Using incorrect library cells—or cells not designed for power management—causes functional failures in silicon. Isolation cells without always-on supply capability allow X-propagation. Retention cells without proper power domains lose state. Level shifters without correct voltage tolerance cause signal corruption.
Isolation Cells
Isolation Cell Purpose
When a domain powers down, its outputs become X (unknown). Isolation cells prevent this X-propagation by clamping signals to known values (0 or 1) using an always-on supply.
Isolation Cell Types
| Cell Type | Clamp Value | Logic Function | Use Case |
|---|---|---|---|
| ISO_AND | 0 | Z = A & EN | Active-low signals |
| ISO_OR | 1 | Z = A | ~EN | Active-high signals |
| ISO_LO | 0 | Z = EN ? A : 0 | Clamp to logic 0 |
| ISO_HI | 1 | Z = EN ? A : 1 | Clamp to logic 1 |
Isolation Cell Structure
// ISO_AND cell schematic
module ISO_AND (
input A, // Data input (from powered-down domain)
input EN, // Isolation enable (always-on supply)
output Z // Isolated output (to always-on domain)
);
// Powered by always-on supply (VDD_AON)
// When EN=0: Z=0 (isolated/clamped)
// When EN=1: Z=A (pass-through)
assign Z = A & EN;
endmodule
// ISO_OR cell schematic
module ISO_OR (
input A,
input EN,
output Z
);
// When EN=0: Z=1 (isolated/clamped)
// When EN=1: Z=A (pass-through)
assign Z = A | ~EN;
endmodule
Selection Criteria
- Clamp value: Match signal semantics (0 for active-low, 1 for active-high)
- Drive strength: Match fanout load (X1, X2, X4, X8)
- Area: Minimize for non-critical paths
- Supply pins: Ensure cell supports always-on supply connection
Quick Check
Q: Why can't a standard AND gate be used for isolation?
Show Answer
A standard AND gate is powered by the domain's primary supply. When the domain powers down, the AND gate itself loses power and its output becomes X—the exact problem isolation is meant to prevent. Isolation cells must be powered by an always-on supply independent of the domain being isolated, ensuring they remain functional and drive the clamp value even when the source domain is off.
Retention Flip-Flops
Retention Cell Architecture
Retention flip-flops extend standard flip-flops with shadow latches powered by always-on retention supply:
Standard Flip-Flop:
[D] --> [Master Latch] --> [Slave Latch] --> [Q]
Powered by VDD (switchable)
Retention Flip-Flop:
[D] --> [Master Latch] --> [Slave Latch] --> [Q]
Powered by VDD (switchable)
|
v
[Shadow Latch] --> (retention storage)
Powered by VDD_RET (always-on)
SAVE operation: Copy Slave Latch --> Shadow Latch
RESTORE operation: Copy Shadow Latch --> Slave Latch
Retention Cell Interface
// Retention flip-flop (DFFR)
module DFFR_X1 (
input D, // Data input
input CK, // Clock
input RN, // Active-low reset
input SAVE, // Save trigger (capture to shadow latch)
input RESTORE, // Restore trigger (restore from shadow)
output Q, // Data output
// Power pins
input VDD, // Primary supply (switchable)
input VDD_RET, // Retention supply (always-on, typically 0.6V)
input VSS // Ground
);
// Internal: master/slave latches (VDD powered)
// Internal: shadow latch (VDD_RET powered)
// Normal operation: Q follows D on CK rising edge
// SAVE=1: Shadow latch captures current Q value
// VDD powers down: Shadow latch retains value
// VDD powers up: Q is X until...
// RESTORE=1: Q restored from shadow latch
endmodule
Timing Requirements
SAVE timing: SAVE pulse width: = 3-5 clock cycles (ensure all FFs capture) SAVE to power-down: = 10 clock cycles (allow propagation) RESTORE timing: Power-up to RESTORE: = 20 clock cycles (allow supply stabilization) RESTORE pulse width: = 3-5 clock cycles (ensure all FFs restore)
Level Shifters
Level Shifter Types
Different voltage transitions require different level shifter architectures:
| Type | Transition | Architecture | Delay |
|---|---|---|---|
| LS_HL | High ? Low (1.0V ? 0.8V) | Pass-through buffer | Fast (~50ps) |
| LS_LH | Low ? High (0.8V ? 1.0V) | Cross-coupled inverters | Slow (~200ps) |
| LS_DUAL | Bidirectional | Combined HL + LH | Varies |
High-to-Low Level Shifter (LS_HL)
// LS_HL: 1.0V input to 0.8V output
module LS_HL_X1 (
input A, // Input (high voltage domain, e.g., 1.0V)
output Z, // Output (low voltage domain, e.g., 0.8V)
input VDDH, // High voltage supply (1.0V)
input VDDL, // Low voltage supply (0.8V)
input VSS
);
// Simple buffer architecture works because:
// - 1.0V logic-high easily recognized as high by 0.8V domain
// - 0V logic-low is 0V in both domains
// BUT: Input protection needed to prevent PMOS gate oxide stress
endmodule
Low-to-High Level Shifter (LS_LH)
// LS_LH: 0.8V input to 1.0V output
module LS_LH_X1 (
input A, // Input (low voltage domain, e.g., 0.8V)
output Z, // Output (high voltage domain, e.g., 1.0V)
input VDDL, // Low voltage supply (0.8V)
input VDDH, // High voltage supply (1.0V)
input VSS
);
// More complex: cross-coupled PMOS pull-up
// Required because 0.8V input insufficient to fully switch
// NMOS transistors in 1.0V domain
// Slower than LS_HL due to cross-coupled feedback settling
endmodule
Multi-Vt Cell Variants
Threshold Voltage Trade-offs
Modern libraries provide three Vt variants for each cell:
| Vt Type | Speed | Leakage | Area | Use Case |
|---|---|---|---|---|
| LVT | Fastest | Highest | Smallest | Critical timing paths |
| RVT | Medium | Medium | Medium | Moderate paths |
| HVT | Slowest | Lowest | Largest | Non-critical paths |
Leakage Power Comparison
Example: NAND2 gate in 7nm process NAND2_LVT: Delay: 15ps Leakage: 12nA Area: 0.45 um² NAND2_RVT: Delay: 20ps (+33%) Leakage: 3nA (-75%) Area: 0.48 um² (+7%) NAND2_HVT: Delay: 28ps (+87%) Leakage: 0.8nA (-93%) Area: 0.52 um² (+16%) Optimal mix: 10% LVT, 30% RVT, 60% HVT Timing: Meets all constraints Leakage: 45% reduction vs. all-LVT Area: +2.3%
Multi-Vt optimization is the single most effective leakage reduction technique, typically achieving 40-50% savings with minimal area/timing impact. Always specify multi-Vt constraints in synthesis.
Common Beginner Mistakes
Mistake #1: Using isolation cells without always-on supply
Symptom: X-propagation occurs despite isolation specified in UPF.
Cause: Selected library cells don't support separate always-on supply pin.
Fix: Verify library cells have VDD_AON pin distinct from domain VDD.
Mistake #2: Insufficient retention cell hold time
Symptom: Intermittent retention failures (some FFs lose state).
Cause: SAVE pulse too short—slow FFs don't complete capture.
Fix: Hold SAVE for =5 clock cycles, wait =10 cycles before power-down.
Mistake #3: Wrong level shifter direction
// WRONG: Using LS_HL for low-to-high transition
// 0.8V domain drives 1.0V domain with LS_HL cell
LS_HL ls_wrong (.A(signal_08v), .Z(signal_10v));
// Result: Insufficient voltage swing, signal corruption
// CORRECT: Use LS_LH for low-to-high
LS_LH ls_correct (.A(signal_08v), .Z(signal_10v));
Mistake #4: Over-using LVT cells
Impact: 3-5× higher leakage power for minimal timing benefit.
Fix: Use LVT only on critical paths (10-15% of design). Use HVT on all non-critical paths (60-70%).
Summary
In this tutorial, you learned:
- Isolation cells (ISO_AND, ISO_OR, ISO_LO, ISO_HI) clamp signals using always-on supply, preventing X-propagation from powered-down domains
- Retention flip-flops use shadow latches with always-on retention supply to preserve state during power-down
- Level shifters translate between voltage domains: LS_HL (high-to-low, fast), LS_LH (low-to-high, slow)
- Multi-Vt cells (LVT/RVT/HVT) provide leakage-speed trade-offs: use LVT sparingly on critical paths, HVT extensively on non-critical paths
- Cell selection criteria: clamp value, drive strength, area, supply pin compatibility
- Retention timing: SAVE for 5+ cycles, wait 10+ cycles before power-down, restore after 20+ cycles of power-up
- Multi-Vt optimization achieves 40-50% leakage reduction with ~2% area overhead