🔧 Physical Design Blog

Part 9 of 10

Power Analysis

IR drop, EM analysis, and power grid verification

By Praveen Kumar Vagala

1,098 views

Why Power Analysis?

Power issues can cause chip failure even if timing is clean.

IR Drop

IR Drop = Current × Resistance

VDD Pad = 1.0V │ R = 10mΩ │ ▼ ┌────┴────┐ │ 0.99V │ └────┬────┘ R = 20mΩ │ ▼ ┌────┴────┐ │ 0.97V │ ← Cells see lower voltage! └────┬────┘ R = 30mΩ │ ▼ ┌────┴────┐ │ 0.94V │ ← 6% drop - may cause failures! └─────────┘

Static IR Drop

Average voltage drop based on average current draw.

Dynamic IR Drop

Instantaneous drop during switching (much worse than static).

Static Dynamic Voltage: ─────────────── ─────╲ ╱───── Constant drop ╲╱ Sudden dip during switching!

IR Drop Analysis

# Setup power analysis (Voltus/Innovus)
read_activity_file -format VCD design.vcd
# or
read_activity_file -format SAIF design.saif

# Set power pads
set_power_pads -net VDD -pad {PAD_VDD*}
set_power_pads -net VSS -pad {PAD_VSS*}

# Run analysis
analyze_power_grid -net VDD
analyze_power_grid -net VSS

# Check IR drop
report_power_rail_results

IR Drop Guidelines

TypeLimit
Static IR< 5% of VDD
Dynamic IR< 10% of VDD
Hot spotsIdentify and fix

Fixing IR Drop

IR Drop Fixes: 1. Add more power straps 2. Widen power straps ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ (more straps) (wider straps) 3. Add more power pads 4. Reduce switching ▓VDD▓ ▓VDD▓ (clock gating, lower freq) (more pads at edge) 5. Move high-current blocks closer to power pads

Electromigration (EM)

High current density causes metal atoms to move, eventually breaking wires.

Current flow → ═══════════════════════════ ↓ ↓ ↓ Metal atoms move ↓ ↓ ↓ ═══════╳═══════════════════ │ Void forms → Wire breaks!

EM Rules

ParameterDescription
JavgAverage current density limit
JpeakPeak current density limit
JrmsRMS current density limit
# EM analysis
analyze_rail -type em -net VDD

# Check EM violations
report_em_violations

# Typical limits (example):
# Javg: 1 mA/um for M1
# Javg: 2 mA/um for upper metals

Fixing EM Violations

Power Consumption Analysis

Power Components

Total Power = Dynamic Power + Static Power

Dynamic = α × C × V² × f
  α = switching activity
  C = capacitance
  V = voltage
  f = frequency

Static = I_leak × V
  I_leak = leakage current

Power Report

# Generate power report
report_power -hierarchy

Example output:
Module          Switching   Internal   Leakage    Total
─────────────────────────────────────────────────────────
top             125.3mW     85.2mW     5.1mW      215.6mW
  cpu_core       80.1mW     52.3mW     3.2mW      135.6mW
  cache          35.2mW     25.1mW     1.5mW       61.8mW
  peripherals    10.0mW      7.8mW     0.4mW       18.2mW

Power Optimization

TechniqueReducesMethod
Clock gatingDynamicTurn off clock to idle blocks
Multi-VtLeakageUse HVT on non-critical paths
Power gatingBothTurn off power to idle blocks
DVFSBothLower V and f when not needed
Operand isolationDynamicHold inputs stable

Power Grid Sign-off Flow

┌─────────────────────────────────────────────────────────────┐ │ 1. Extract power grid resistance │ │ • RC extraction of power nets │ ├─────────────────────────────────────────────────────────────┤ │ 2. Get switching activity │ │ • VCD/SAIF from simulation │ │ • or vectorless (statistical) │ ├─────────────────────────────────────────────────────────────┤ │ 3. Static IR drop analysis │ │ • Check average drop │ ├─────────────────────────────────────────────────────────────┤ │ 4. Dynamic IR drop analysis │ │ • Check peak drop during switching │ ├─────────────────────────────────────────────────────────────┤ │ 5. EM analysis │ │ • Check current density limits │ ├─────────────────────────────────────────────────────────────┤ │ 6. Fix violations and iterate │ │ • Strengthen power grid where needed │ └─────────────────────────────────────────────────────────────┘

Power Analysis Tools

VendorToolPurpose
CadenceVoltusPower/IR/EM analysis
SynopsysPrimeTime PXPower analysis
SynopsysRedHawkIR/EM analysis
ANSYSRedHawk-SCIR/EM analysis

Summary

CheckLimit
Static IR drop< 5% VDD
Dynamic IR drop< 10% VDD
EM (Javg)Per layer limit
Power consumptionMeet power budget