Home Knowledge Base Sub-threshold leakage current increases exponentially with each technology node shrink because threshold voltage must decrease to maintain switching speed at lower supply voltages.

Power gating reduces static leakage current by 99.28% in idle semiconductor circuit blocks by inserting high-threshold-voltage MTCMOS header or footer switch transistors between the power supply rail and the functional logic. At the 5 nm gate-all-around GAA node, ungated sub-threshold leakage reaches 1200.0 uA/mm² per square millimeter of silicon area, dissipating 0.84 mW/mm² even when the circuit performs no useful computation. Engaging a high-Vth MTCMOS switch with a 150 mV threshold voltage shift above the nominal logic Vth collapses leakage to 8.636 uA/mm², a reduction factor of 138.9x. This savings comes at the cost of a finite wake-up latency of 2.0 ns and an energy overhead of 196.0 pJ per transition, establishing a minimum idle interval of 0.235 us before power gating breaks even on energy.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 760 470" width="100%" height="100%">
  <rect width="760" height="470" fill="#0d1117" rx="8" />
  <text x="25" y="32" font-family="system-ui, -apple-system, sans-serif" font-size="18" font-weight="700" fill="#e6edf3">Power Gating Leakage-Latency Tradeoff Across Technology Nodes</text>
  <text x="25" y="52" font-family="system-ui, -apple-system, sans-serif" font-size="12" fill="#8b98a5">MTCMOS header/footer switch: +150 mV Vth shift, 70 mV/dec subthreshold slope, 1 mm² domain, 10% max droop</text>
  <rect x="25" y="70" width="345" height="250" fill="#161b22" stroke="#30363d" stroke-width="1.5" rx="6" />
  <text x="40" y="92" font-family="system-ui, -apple-system, sans-serif" font-size="13" font-weight="600" fill="#58a6ff">Leakage Current: Ungated vs MTCMOS-Gated</text>
  <line x1="80" y1="290.0" x2="350" y2="290.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="42" y="294.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">0.1</text>
  <line x1="80" y1="254.0" x2="350" y2="254.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="42" y="258.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">1</text>
  <line x1="80" y1="218.0" x2="350" y2="218.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="42" y="222.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">10</text>
  <line x1="80" y1="182.0" x2="350" y2="182.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="42" y="186.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">100</text>
  <line x1="80" y1="146.0" x2="350" y2="146.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="42" y="150.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">1k</text>
  <line x1="80" y1="110.0" x2="350" y2="110.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="42" y="114.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">10k</text>
  <text x="30" y="200" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5" transform="rotate(-90,30,200)">uA/mm²</text>
  <text x="85" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">180nm</text>
  <text x="123" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">65nm</text>
  <text x="161" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">28nm</text>
  <text x="199" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">14nm</text>
  <text x="237" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">7nm</text>
  <text x="275" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">5nm</text>
  <text x="313" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">3nm</text>
  <rect x="87" y="257.5" width="10" height="32.5" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="99" y="289.0" width="10" height="1.0" fill="#3fb950" rx="2" opacity="0.85" />
  <rect x="125" y="215.1" width="10" height="74.9" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="137" y="289.0" width="10" height="1.0" fill="#3fb950" rx="2" opacity="0.85" />
  <rect x="163" y="185.5" width="10" height="104.5" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="175" y="262.6" width="10" height="27.4" fill="#3fb950" rx="2" opacity="0.85" />
  <rect x="201" y="167.7" width="10" height="122.3" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="213" y="244.8" width="10" height="45.2" fill="#3fb950" rx="2" opacity="0.85" />
  <rect x="239" y="154.0" width="10" height="136.0" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="251" y="231.1" width="10" height="58.9" fill="#3fb950" rx="2" opacity="0.85" />
  <rect x="277" y="143.1" width="10" height="146.9" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="289" y="220.3" width="10" height="69.7" fill="#3fb950" rx="2" opacity="0.85" />
  <rect x="315" y="131.7" width="10" height="158.3" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="327" y="208.8" width="10" height="81.2" fill="#3fb950" rx="2" opacity="0.85" />
  <line x1="298" y1="143.1" x2="298" y2="220.3" stroke="#d29922" stroke-width="2" marker-start="url(#arrowUp)" marker-end="url(#arrowDown)" />
  <text x="304" y="181.7" font-family="system-ui, -apple-system, sans-serif" font-size="10" font-weight="700" fill="#d29922">139x</text>
  <rect x="390" y="70" width="345" height="250" fill="#161b22" stroke="#30363d" stroke-width="1.5" rx="6" />
  <text x="405" y="92" font-family="system-ui, -apple-system, sans-serif" font-size="13" font-weight="600" fill="#58a6ff">Energy Breakeven Idle Time vs Node</text>
  <line x1="445" y1="290.0" x2="715" y2="290.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="420" y="294.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">0 µs</text>
  <line x1="445" y1="254.0" x2="715" y2="254.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="420" y="258.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">1.0 µs</text>
  <line x1="445" y1="218.0" x2="715" y2="218.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="420" y="222.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">2.0 µs</text>
  <line x1="445" y1="182.0" x2="715" y2="182.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="420" y="186.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">3.0 µs</text>
  <line x1="445" y1="146.0" x2="715" y2="146.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="420" y="150.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">4.0 µs</text>
  <line x1="445" y1="110.0" x2="715" y2="110.0" stroke="#21262d" stroke-width="1" stroke-dasharray="3,3" />
  <text x="420" y="114.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">5.0 µs</text>
  <text x="450" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">180nm</text>
  <text x="488" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">65nm</text>
  <text x="526" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">28nm</text>
  <text x="564" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">14nm</text>
  <text x="602" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">7nm</text>
  <text x="640" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">5nm</text>
  <text x="678" y="305" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#8b98a5">3nm</text>
  <rect x="452" y="110.0" width="20" height="180.0" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="490" y="110.0" width="20" height="180.0" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="528" y="126.8" width="20" height="163.2" fill="#f85149" rx="2" opacity="0.85" />
  <rect x="566" y="243.6" width="20" height="46.4" fill="#d29922" rx="2" opacity="0.85" />
  <rect x="604" y="271.9" width="20" height="18.1" fill="#3fb950" rx="2" opacity="0.85" />
  <rect x="642" y="281.5" width="20" height="8.5" fill="#3fb950" rx="2" opacity="0.85" />
  <rect x="680" y="286.2" width="20" height="3.8" fill="#3fb950" rx="2" opacity="0.85" />
  <text x="640" y="273.5" font-family="system-ui, -apple-system, sans-serif" font-size="10" font-weight="700" fill="#3fb950">0.23 µs</text>
  <text x="678" y="278.2" font-family="system-ui, -apple-system, sans-serif" font-size="10" font-weight="700" fill="#3fb950">0.105 µs</text>
  <line x1="445" y1="254.0" x2="715" y2="254.0" stroke="#f85149" stroke-width="1.5" stroke-dasharray="2,2" />
  <text x="625" y="249.0" font-family="system-ui, -apple-system, sans-serif" font-size="10" font-weight="600" fill="#f85149">1 µs target</text>
  <rect x="25" y="335" width="710" height="115" fill="#161b22" stroke="#30363d" stroke-width="1.5" rx="6" />
  <text x="40" y="358" font-family="system-ui, -apple-system, sans-serif" font-size="12" font-weight="700" fill="#e6edf3">Power Gating Engineering Tradeoffs:</text>
  <rect x="40" y="370" width="12" height="12" fill="#f85149" rx="2" />
  <text x="58" y="381" font-family="system-ui, -apple-system, sans-serif" font-size="11" font-weight="600" fill="#f85149">Ungated Leakage (5nm: 1200.0 uA/mm², 0.84 mW/mm²)</text>
  <rect x="40" y="390" width="12" height="12" fill="#3fb950" rx="2" />
  <text x="58" y="401" font-family="system-ui, -apple-system, sans-serif" font-size="11" font-weight="600" fill="#3fb950">MTCMOS-Gated (5nm: 8.636 uA/mm², 139x reduction, 99.28% saving)</text>
  <rect x="40" y="410" width="12" height="12" fill="#d29922" rx="2" />
  <text x="58" y="421" font-family="system-ui, -apple-system, sans-serif" font-size="11" font-weight="600" fill="#d29922">Breakeven: domain must idle &gt;0.235 µs (5nm) to save energy</text>
  <rect x="430" y="370" width="12" height="12" fill="#58a6ff" rx="2" />
  <text x="448" y="381" font-family="system-ui, -apple-system, sans-serif" font-size="11" font-weight="600" fill="#58a6ff">Retention FF: +50.0% area vs standard FF</text>
  <text x="40" y="440" font-family="system-ui, -apple-system, sans-serif" font-size="11" font-style="italic" fill="#8b98a5">Claim: Sub-5nm nodes make power gating mandatory — leakage exceeds 1.2 mA/mm² ungated, breakeven drops below 0.24 µs.</text>
</svg>

Sub-threshold leakage current increases exponentially with each technology node shrink because threshold voltage must decrease to maintain switching speed at lower supply voltages. The fundamental relationship governing leakage is the sub-threshold drain current $I_{\text{leak}} = I_0 \cdot 10^{(V_{\text{gs}} - V_{\text{th}}) / S}$, where $S$ is the sub-threshold swing of 70.0 mV/decade for well-optimized FinFET and GAA transistors. At 180 nm with a supply voltage of 1.8 V, leakage density measured only 0.8 uA/mm². By the 28 nm planar node at 0.9 V, leakage climbed to 80.0 uA/mm². The 7 nm FinFET generation at 0.75 V reaches 600.0 uA/mm², and the 3 nm GAA node at 0.65 V drives leakage to a staggering 2500.0 uA/mm². Modern SoC designs from Apple, Qualcomm, MediaTek, and Samsung partition their die into 10 to 40 independent power domains specifically to apply fine-grained power gating to each idle block.

The exponential suppression of leakage through MTCMOS switching is governed by the threshold voltage shift $\Delta V_{\text{th}}$ applied above the logic transistor baseline:

$$I_{\text{gated}} = I_{\text{leak}} \cdot 10^{-\Delta V_{\text{th}} / S}, \qquad \text{Reduction Factor} = 10^{\Delta V_{\text{th}} / S}$$

MTCMOS header switches connect the true VDD supply to a virtual VDD rail through a high-Vth PMOS transistor that is turned off during sleep mode. Footer switches perform the equivalent function on the ground side using a high-Vth NMOS transistor connecting virtual VSS to true VSS. Intel PowerVia technology and TSMC N3E power management both employ distributed header arrays with a total switch gate width of 200.0 um per mm² of domain area. The aggregate on-resistance of the switch array determines the IR drop on the virtual supply rail during active mode, typically limited to 70.0 mV or 10.0% of VDD. Cadence Voltus and Synopsys PrimePower perform static and dynamic IR-drop analysis across the virtual rail to verify that worst-case voltage droop does not violate timing margins for retention flip-flops during state save and restore sequences.

Wake-up latency from power-gated sleep to full-speed operation is governed by the rush current charging the virtual supply rail capacitance against the switch on-resistance. The virtual VDD rail in a 1.0 mm² power domain carries approximately 800.0 pF of total decoupling capacitance from gate oxide, junction capacitance, and explicit MIM decoupling capacitors. When the header switch turns on, the inrush current is limited to 28.0 mA by the switch on-resistance of 25.0 ohms. Under a 10.0% maximum droop constraint, the virtual rail settles within 2.0 ns at the 5 nm node and 2.0 ns at 3 nm. ARM Cortex-A and Cortex-X CPU cores implement staged wake-up sequences with 3 to 5 progressive switch-enable phases to limit di/dt noise on the package power delivery network.

The wake-up time $t_{\text{wake}}$ is determined by the RC charging time constant of the virtual supply rail:

$$t_{\text{wake}} = \frac{C_{\text{virtual}} \cdot \Delta V_{\text{max}}}{I_{\text{rush}}} = \frac{C_{\text{virtual}} \cdot \Delta V_{\text{max}} \cdot R_{\text{on}}}{V_{\text{DD}}}$$
Technology NodeVDD (V)Ungated Leak (uA/mm²)Gated Leak (uA/mm²)Reduction FactorSaving (%)Ungated Power (mW/mm²)
180 nm1.80.80.006138.9x99.280.001
65 nm1.212.00.086138.9x99.280.014
28 nm0.980.00.576138.9x99.280.072
14 nm FinFET0.8250.01.799138.9x99.280.2
7 nm FinFET0.75600.04.318138.9x99.280.45
5 nm GAA0.71200.08.636138.9x99.280.84
3 nm GAA0.652500.017.992138.9x99.281.625

Energy breakeven analysis determines the minimum idle interval below which power gating wastes more energy than it saves due to the switching overhead. Every sleep-to-wake transition dissipates 196.0 pJ at the 5 nm node from charging the virtual rail capacitance. The power saved during sleep equals the difference between ungated and gated leakage power, which at 5 nm is 0.834 mW/mm². Dividing the switching energy by the saved power yields a breakeven idle time of 0.235 us at 5 nm and 0.105 us at 3 nm. Operating system power management frameworks including Linux cpuidle and Android Runtime Power Management from Google use predicted idle duration histograms to decide whether entering a power-gated C-state will achieve net energy savings for each core and accelerator block.

Retention flip-flops preserve architectural state across power-gated sleep intervals by storing critical register values in always-on shadow latches. A standard edge-triggered flip-flop occupies 2.4 um² at the 5 nm node with 12.0 nW of leakage. The balloon-latch retention flip-flop adds a non-volatile shadow latch powered from the always-on supply rail, increasing area to 3.6 um² (a 50.0% overhead) and leakage to 18.0 nW. The save-and-restore sequence executes in a single clock cycle, adding 10 ps of setup time penalty. Synopsys Design Compiler and Cadence Genus automatically substitute retention cells for all flip-flops in power-gated domains based on the Unified Power Format UPF specification defined in IEEE 1801. Modern SoC designs at TSMC N5 and Samsung SF5 instantiate between 50,000 and 500,000 retention flip-flops per power domain to preserve processor microarchitectural state, cache tag arrays, and interrupt controller registers during deep sleep.

Technology NodeVirtual Cap (pF)Switch R_on (ohm)Rush Current (mA)Wake-up (ns)Switch Energy (pJ)Breakeven Idle (us)
180 nm800.025.072.02.01296.0906.524
65 nm800.025.048.02.0576.040.29
28 nm800.025.036.02.0324.04.533
14 nm FinFET800.025.032.02.0256.01.289
7 nm FinFET800.025.030.02.0225.00.504
5 nm GAA800.025.028.02.0196.00.235
3 nm GAA800.025.026.02.0169.00.105

Power domain isolation cells prevent floating virtual-rail signals from corrupting always-on logic during sleep by clamping domain boundary outputs to known safe values. Clamp-to-zero isolation cells add 15 ps of propagation delay and occupy 1.8 um² at the 5 nm node. Clamp-to-one variants require 18 ps and 2.0 um². Latch-type isolation cells capture the last valid output before shutdown, requiring 25 ps and 3.2 um² but avoiding glitches on always-on bus interfaces. Mentor Questa Power Aware and Synopsys VCS NLP verify the correct insertion and enable sequencing of isolation cells against the UPF power intent specification, catching illegal signal crossings between powered and unpowered domains.

Physical implementation of MTCMOS switch arrays requires careful floorplanning to minimize IR drop gradients across the virtual rail mesh while meeting electromigration current density limits. Header switches are distributed uniformly across the power domain in dedicated switch rows that interrupt the standard cell placement grid every 8 to 16 cell rows. The switch transistor gate width is sized to limit active-mode IR drop below 3.0% of VDD at maximum switching activity. At the 5 nm node with 0.70 V supply, this translates to a maximum virtual rail droop of 21.0 mV under peak dynamic current. Ansys RedHawk and Cadence Voltus perform full-chip EM and IR analysis on the virtual rail mesh, enforcing JEDEC-qualified current density limits of 2.0 MA/cm² for copper interconnects at 105°C junction temperature.

Read power gating through a sub-threshold leakage exponential suppression with finite RC wake-up latency and energy breakeven constraint lens rather than a simple on-off power switch lens to correctly architect multi-domain SoC power management across advanced technology nodes.

power gatingpower domainpower shut offmtcmos

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.