HomePhysical DesignDay 16 — Power Planning

Power Planning & Power Grid Design

How to design the power delivery network (PDN) that keeps every cell alive: power rings, straps, IR drop, electromigration, decoupling capacitors, UPF power domains, and the full Voltus/RedHawk sign-off flow.

By EcrioniX Engineering Team · Published June 19, 2026 · ~4,800 words · 16 min read

1. Why Power Planning Is a First-Class Physical Design Step

Every chip failure mode ultimately comes back to power. If the power delivery network (PDN) drops too much voltage — a phenomenon called IR drop — logic gates switch slower than the timing model expects, setup violations appear at signoff, and the chip either fails at the rated frequency or fails completely. If metal wires carry too much current density — electromigration — they slowly degrade over years of operation until the chip dies in the field.

Power planning is therefore not an afterthought: it is done during floorplanning, before any standard cell is placed, because the PDN structure determines how much routing area is consumed, where macro blockages must go, and what the fundamental IR drop floor of the design will be.

<5%
Target static IR drop (% of VDD)
<10%
Target dynamic IR drop (% of VDD)
1–5 mA/µm
Cu EM current density limit (125 °C)
M7–M10
Typical power ring/strap metal layers

The PDN Hierarchy

Modern SoC power grids are a four-level hierarchy, each level progressively finer and closer to the cells:

LevelStructureMetal LayersWidth (28nm node)Purpose
L1 — Bump/PadC4 flip-chip bumps or wire-bond padsRDL / top metal50–100 µm pitchConnect package to die
L2 — Power RingWide ring around chip core or blockM8–M10 (top metals)10–40 µmDistribute power from pads to straps
L3 — Power StrapsH/V grid across coreM5–M92–10 µmReduce sheet resistance across die
L4 — Power RailsCell-pitch H wires (VDD/VSS rows)M1–M20.1–0.5 µmConnect directly to cell VDD/VSS pins
Power Delivery Network — 4-Level Hierarchy POWER RING (M9/M10) POWER RAILS M1/M2 — cell-pitch VDD/VSS V-Strap M7/M8 H-Strap M6 H-Strap M6 PAD PAD ↓ Current flows: Pad → Ring → Strap → Rail → Cell
Fig 1: Power Delivery Network hierarchy — rings (M9/M10) feed vertical and horizontal straps (M6–M8), which feed the cell-pitch rails (M1/M2).

2. Power Ring and Strap Design

2.1 Power Ring Sizing

The power ring must carry the entire chip current from the pads to the straps. Sizing starts from the power budget:

I_chip = P_total / VDD (e.g. 5W / 0.8V = 6.25 A) R_ring = ΔV_budget / I_chip (e.g. 20mV / 6.25A = 3.2 mΩ) R_metal = ρ × L / (W × T) → W = ρ × L / (R_ring × T) ρ_Cu = 1.7 × 10⁻⁸ Ω·m (bulk; on-chip ~2.2 × 10⁻⁸ due to grain boundaries) T = foundry-defined metal thickness (e.g. 0.9 µm for M9 at 28nm) L = ring perimeter segment length

In practice, power ring widths range from 10 µm for small blocks to 40–80 µm for full-chip rings carrying 10+ amperes. The ring runs on at least two metals (e.g. M9 for VDD, M8 for VSS) so they can be parallel without shorting.

2.2 Power Strap Pitch and Width

Straps create the grid interior. The key tradeoff: narrower pitch → lower IR drop but more routing blockage. A common starting point is to target IR drop contribution from straps of ≤ 3 mV, then calculate the required strap count from the current density per strap.

ParameterTypical Range (28nm)5nm FinFET RangeEffect of Increasing
Strap pitch20–60 µm5–15 µmMore straps → lower IR, less routing area
Strap width2–8 µm0.3–1 µmWider → lower resistance, lower EM risk
Metal layerM5–M8M4–M6Higher metal → lower ρ (thicker), less congestion
VDD:VSS ratio1:1 alternating1:1 alternatingEqual pitch minimizes loop inductance

2.3 Strap Pattern Strategies

Tcl — Cadence Innovus power ring + strap commands
# 1. Add VDD/VSS power ring around core addRing \ -nets {VDD VSS} \ -layer_top M9 \ -layer_bottom M9 \ -layer_left M8 \ -layer_right M8 \ -width 20 \ -spacing 5 \ -offset 2 # 2. Add power straps across the core (horizontal M6, vertical M7) addStripe \ -nets {VDD VSS} \ -layer M7 \ -direction vertical \ -width 4 \ -spacing 2 \ -set_to_set_distance 40 \ -start_offset 20 addStripe \ -nets {VDD VSS} \ -layer M6 \ -direction horizontal \ -width 3 \ -spacing 2 \ -set_to_set_distance 30 \ -start_offset 15 # 3. Connect standard cell rails to straps (globalNetConnect) globalNetConnect VDD -type pgpin -pin VDD -all globalNetConnect VSS -type pgpin -pin VSS -all

3. IR Drop Analysis — Static vs Dynamic

IR drop is the resistive voltage loss from the power source to the cells. There are two flavors with very different analysis methods:

TypeCauseAnalysis MethodTypical BudgetFix Strategy
Static IR dropDC leakage current through grid resistanceDC analysis: V = I_leakage × R_grid< 5% VDDWiden straps, add ring layers
Dynamic IR dropSimultaneous switching (SSO) creates large current transientsTransient simulation: L×dI/dt + I×R< 10% VDDAdd decoupling capacitors, stagger clocks
Self-heating (EM risk)High current density → Joule heating → accelerates EMThermal + EM co-analysisJ < J_limit (125°C)Widen wires, add vias, parallel paths

IR Drop Hotspot — What the Map Looks Like

IR Drop Heatmap — Cross-section of Die 3mV 4mV 18mV 22mV 5mV 4mV 15mV 58mV! 62mV! 17mV HOTSPOT HOTSPOT OK (<20mV) Warn (20–40mV) Fail (>40mV) VDD = 0.8V limit = 40mV (5% of VDD)
Fig 2: IR drop heatmap. Green = safe, yellow = warn, red = violation. Hotspots (58–62 mV) exceed the 40 mV budget and need more straps or decap placed nearby.

The Timing Impact of IR Drop

A 50 mV drop on a 0.8 V rail is 6.25%. Cell delay increases roughly linearly with reduced VDD — on a 0.8 V nominal, 50 mV drop adds ~8–10% delay to cells in that region. If your hold budget is tight, this can cause functional failures at speed even if the STA passed at nominal VDD.

How to Fix IR Drop Violations

  1. Add more straps in the violating region — halving strap pitch roughly quarters the IR drop in that area.
  2. Widen existing straps — width doubling halves resistance and IR drop proportionally.
  3. Add higher-metal straps — M9 has 3–5× less sheet resistance than M5; using higher metals delivers current more efficiently.
  4. Insert decoupling capacitors — fixes dynamic IR; described in Section 5.
  5. Stagger clock domains — if the hotspot is driven by simultaneous clock edges switching millions of flops, stagger launch edges across domains to spread the current transient in time.
  6. Reduce functional switching — add clock gating to suppress switching in idle blocks (also reduces dynamic power).

4. Electromigration — Black's Equation and Wire Sizing

Electromigration (EM) is the directed motion of metal atoms caused by momentum transfer from conduction electrons (the "electron wind"). In copper interconnects, this creates two failure modes over time: voids (where metal was) that increase resistance and eventually open-circuit, and hillocks (where metal piled up) that can create shorts to adjacent lines.

Black's Equation — Mean Time to Failure (MTTF): MTTF = A × J⁻ⁿ × exp(Ea / kT) Where: A = process-specific pre-exponential constant J = current density (mA/µm²) n = current density exponent ≈ 2 (for void-dominated EM) Ea = activation energy ≈ 0.9 eV (Cu) / 0.7 eV (Al) k = Boltzmann constant = 8.617 × 10⁻⁵ eV/K T = temperature in Kelvin Key insight: doubling J reduces MTTF by 4× (n=2) raising T by 10°C reduces MTTF by ~2×

EM Design Rules in Practice

Wire TypeJ_limit (mA/µm) at 125°CFix if violated
Power strap (unidirectional DC)1.0–2.0Widen strap, add parallel via path
Power rail M1/M20.5–1.0Add more vias, increase rail width
Signal wire (bidirectional AC)4–8 (RMS, AC relaxed rule)Wider wire, reduce drive strength
Via stack (via current)0.1–0.5 mA/viaAdd via array (more vias in parallel)

Why Vias Are Often the EM Bottleneck

A single via may carry only 0.1–0.5 mA before exceeding its EM limit. A 4 µm strap on M7 might be EM-clean (it's wide), but the single via connecting it to M6 below carries all the current through a tiny contact area. Always check via EM, not just wire EM. Fix: use via arrays (e.g. 4×4 = 16 vias in parallel) to spread the current load.

Tcl — Innovus EM/IR analysis trigger (pre-sign-off check)
# Set power analysis mode setAnalysisMode -analysisType onChipVariation -cppr both # Load activity file (switching probability per net) read_activity_file -format VCD design_activity.vcd # Run static IR and EM check (quick pre-Voltus check) analyzeIRDrop \ -nets {VDD VSS} \ -temperature 125 \ -report_violations_only yes \ -out_file ir_drop_report.rpt # View violations in GUI report_ir_drop -min_violation 10 -max_violation 200

5. Decoupling Capacitors — Taming Dynamic IR Drop

Decoupling capacitors (decaps) act as local charge reservoirs. When a large block switches simultaneously, instead of drawing a huge current spike from the distant power ring (which takes nanoseconds to respond due to inductance), the cells draw from decap cells placed nearby that discharge instantly.

Types of Decap Cells

TypeConstructionCapacitance/areaUse Case
Standard decap cellNMOS transistor, gate = VDD, source/drain = VSS → gate-oxide capHigh (gate oxide thin)Placed in filler cell slots between standard cells
Well-tap decapCombined well-tap + decap in one cellMediumRows requiring both well tie and decap
MOM cap (Metal-Oxide-Metal)Interdigitated metal comb structureLower density, no oxide riskBlocks where gate-oxide reliability is marginal
MIM capDedicated metal-insulator-metal layerMediumAnalog domains, I/O ring

Decap Placement Strategy

Tcl — Cadence Innovus decap insertion
# Add decap cells in empty filler slots — run after placement addDecap \ -cell_list {DCAP4 DCAP8 DCAP16 DCAP32} \ -total_cap 2.0e-9 \ -target_cap 2.5e-9 \ -distribute_location user_defined \ -region {100 100 800 700} # Alternatively: activity-driven decap (requires VCD/power intent) addDecap \ -cell_list {DCAP8 DCAP16} \ -voltage_domain VDD \ -target_dynamic_ir_drop 0.05 ;# 5% VDD target # Check result report_power -rail_analysis

6. Power Domains, Voltage Islands & UPF

Modern SoCs are not a single-voltage chip. A smartphone SoC may have 8–12 distinct power domains running at different voltages or completely powered off when idle. UPF (Unified Power Format, IEEE 1801) is the standard that describes this multi-voltage intent in a file that synthesis, PnR, and sign-off tools all consume.

Key UPF Concepts

UPF ConstructWhat It DoesPhysical Meaning
create_power_domainDefines a logic region with its own supplyArea enclosed by power ring or strap set
create_supply_netDeclares a named supply railVDD1, VDD_CPU, VDD_GPU, VDDIO…
create_power_switchPower gating transistor (header/footer)MTCMOS header cell in row between on/off domain
create_isolation_cellClamps signals crossing powered→off domainISO cells at domain boundary; clamp to 0 or 1
create_level_shifterConverts voltage between domainsLS cells at boundary between VDD1 and VDD2 domains
create_retention_registerSaves state when domain powers downRetention FF (bubble/balloon FF) with shadow latch on always-on supply
Multi-Voltage SoC Power Domains ALWAYS-ON DOMAIN — VDD_AON = 0.7V (PMU, RTC, retention regs) CPU Cluster VDD_CPU = 0.65–1.0V (DVS — scales with load) Core 0 Core 1 Core 2 GPU / Neural Engine VDD_GPU = 0.7–1.0V (power-gated when idle) ⚡ HEADER SWITCH SRAM / Cache VDD_MEM = 0.75V (retention at 0.5V) ISO/LS ISO/LS I/O Ring — VDDIO = 1.8V / 3.3V Level-shift at I/O boundary (core 0.8V ↔ IO 1.8V)
Fig 3: Multi-voltage SoC power domains. Each domain has its own supply rail, isolation cells at boundaries, and optional power switch (MTCMOS header).
UPF — power domain and isolation definition
# Always-on top domain create_power_domain PD_TOP -include_scope # GPU domain — can be power-gated create_power_domain PD_GPU \ -elements {u_gpu} \ -scope top # Supply rails create_supply_net VDD_AON -domain PD_TOP create_supply_net VDD_GPU -domain PD_GPU # Power switch (MTCMOS header) create_power_switch SW_GPU \ -domain PD_GPU \ -input_supply_port {vin VDD_AON} \ -output_supply_port {vout VDD_GPU} \ -control_port {sleep gpu_sleep_n} \ -on_state {on_state vin {!sleep}} \ -off_state {off_state {} {sleep}} # Isolation strategy at PD_GPU output create_isolation_cell ISO_GPU \ -domain PD_GPU \ -applies_to outputs \ -clamp_value 0 \ -isolation_supply_net VDD_AON \ -isolation_signal gpu_iso_en \ -isolation_sense high

7. PDN Sign-Off — Voltus and RedHawk Flow

Pre-signoff checks in Innovus catch obvious problems, but full PDN sign-off requires dedicated power integrity tools — Cadence Voltus or Ansys RedHawk. These tools solve a resistor-network equation with millions of nodes and use VCD-derived switching activity to model dynamic currents accurately.

Voltus Flow (Cadence)

StepInputWhat Voltus DoesOutput
1. DEF/SPEF importPost-route DEF, RC SPEFBuild resistor network from metal/via geometryInternal PDN netlist
2. Power intentUPF + Liberty (.lib)Map cells to supply rails, leakage per cellCell current map
3. Activity annotationVCD or switching probabilityAssign dynamic current sources per cellAnnotated netlist
4. Static IR analysisDC leakageSolve V=IR across PDN — find worst nodeIR map, violation report
5. Dynamic IR analysisVCD transientsTransient simulation — finds voltage droop magnitudeTime-domain droop waveforms
6. EM checkCurrent density per wireCompare J to PDK EM limit; compute MTTFEM violation report
7. ECO feedbackViolation listSuggest strap additions, decap placementECO script for Innovus
Tcl — Voltus static IR + EM signoff invocation
# Run from Cadence Voltus environment set_db design_process_node 28 read_physical -def chip_postroute.def read_parasitics -format spef chip.spef.gz # Load power intent read_power_intent -cpf design.cpf ;# or -upf design.upf # Set activity for dynamic analysis read_activity_file -format VCD sim_output.vcd \ -scope top -start 1000ns -end 2000ns # Static IR analysis analyze_power_rail \ -rail_name {VDD VSS} \ -temperature 125 \ -type static \ -report chip_static_ir.rpt # Dynamic droop analysis analyze_power_rail \ -rail_name {VDD} \ -type dynamic \ -time_range {1000ns 2000ns} \ -report chip_dynamic_ir.rpt # EM sign-off check_em \ -temperature 125 \ -nets {VDD VSS} \ -report em_violations.rpt \ -max_violations 0

Real Chip Numbers — Apple A17 and AMD EPYC

MetricApple A17 Pro (3nm)AMD EPYC Genoa (5nm)Intel Xeon SPR (Intel 7)
TDP~8W (mobile)~360W (server)~350W
Supply voltage~0.7–1.0V (DVS)~0.7–1.05V~0.75–1.0V
Peak current~10–12A~360A~380A
IR drop budget<30 mV static<40 mV static<50 mV static
Power domains12+ (CPU/GPU/NE/ISP…)Chiplet-level + core-levelTile-based + ring-level
Bump/pad pitch130 µm (C4 flip-chip)130 µm100 µm (FOVEROS)

Server Chips Have an Entirely Different PDN Problem

AMD EPYC draws 360W at ~0.85V — that's 420 amperes total. At this scale, package and PCB resistance (not just on-chip) become the dominant IR drop sources. The VRM (Voltage Regulator Module) must be positioned within centimetres of the socket, and the package substrate power planes are as thick as 50–100 µm copper. On-chip PDN design is just one layer of a multi-board stack problem.

8. Common Power Planning Mistakes and How to Avoid Them

MistakeConsequencePrevention
Under-sized power ringIR drop concentrated at ring segments; all cells downstream sufferSize ring for worst-case I × R in first iteration; check with Innovus before placement
Missing via arrays at strap–ring intersectionEM failure at via after 2–3 years in fieldAlways use max-via array at power connections; check EM at via in Voltus
Straps blocked by macro placementCurrent forced to route around macros → long path → high RPlan strap grid BEFORE placing macros; reserve strap channels in floorplan
No isolation cells at power domain boundaryUnknown logic levels from powered-off domain corrupt active domainCheck UPF isolation coverage in DC/Genus; verify in Voltus power intent check
Excessive decap leakageStatic power increases 10–15% above power budgetUse tool-controlled decap insertion with leakage limit constraint
Ignoring dynamic IR at clock edgesSetup violations appear only at high frequenciesAlways run dynamic IR with representative VCD; check droop at clock edge

9. Interview Q&A — Power Planning

#Interview QuestionStrong Answer Points
1What is the difference between static and dynamic IR drop?Static = DC leakage × R_grid (permanent). Dynamic = transient SSO current spike + inductance effect (L·dI/dt). Dynamic is usually 2–3× worse. Dynamic requires VCD for analysis.
2How do you size a power strap?Start from power budget → peak current → target IR (5% VDD) → R_max = ΔV/I → W = ρL/(R_max × T). Then verify EM: J = I/W < J_limit.
3What is Black's equation and what does it govern?MTTF = A·J⁻ⁿ·exp(Ea/kT). Governs electromigration MTTF. Key: doubling J reduces MTTF by 4×; raising temp 10°C ~halves MTTF. Used to set current density limits on power wires and vias.
4What is an isolation cell and when is it needed?ISO cell clamps a signal from a powered-off domain to a known value (0 or 1) so the always-on domain doesn't see floating/corrupted inputs. Required at every output crossing from a power-gated domain.
5What is the purpose of a decoupling capacitor in a power grid?Decap stores local charge that can supply switching current instantly, preventing voltage droop. It bridges the time between when a current transient occurs and when the distant power rail can respond through its RC network.
6What tools do you use for PDN sign-off?Cadence Voltus (static/dynamic IR, EM, thermal), Ansys RedHawk-SC. Pre-signoff quick check inside Innovus (analyzeIRDrop). Both tools require DEF, SPEF, UPF, and VCD activity.

10. Day 16 Power Planning Checklist

Power Grid Design Sign-Off Checklist

← PreviousDay 15 — Post-Silicon Validation Next →Day 17 — Clock Tree Synthesis Deep Dive