Explore / Methods & Algorithms / Finishing / Static Power-Grid Voltage Drop

Static Power-Grid Voltage Drop

Finishing foundational 1990s onward many; Qian, Nassif, Sapatnekar (random walks) one linear system millions of unknowns

The idea

Every cell draws current from the power grid, and every stripe and via of the grid has resistance, so the voltage a cell actually receives is lower than the supply at the pads. Static analysis replaces each cell with its average current and the grid with its resistances, then applies Kirchhoff's current law at every node of the grid. The result is one linear system:

G · v = i
  • G the conductance matrix of the grid: one row per node, sparse and symmetric
  • v the unknown voltage at each node, with the pads held at the supply voltage
  • i the current drawn at each node by the cells attached to it

The drop at a node is the supply voltage minus its solved voltage, and the report is the worst drop and where it occurs. With the pads fixed, the matrix is symmetric positive definite and very sparse, which suits preconditioned conjugate gradient or sparse direct factorization. Random-walk methods (Qian, Nassif and Sapatnekar, 2003) estimate the voltage at chosen nodes without solving the whole system.

Watch it work: a small grid, solved sweep by sweep

A seven-by-seven power grid with pads at the corners and a hotspot near the middle, with illustrative values. The walkthrough writes Kirchhoff's current law at every node, solves the system by repeated sweeps until it settles, and then adds a pad to show one fix.

The fine print

Static analysis uses average currents, so it misses the short, large surges when many cells switch at once. Dynamic analysis simulates the grid's resistance, capacitance and inductance over time with switching current waveforms, at a much higher cost. The currents themselves come from power analysis, and are only as good as the switching activity it assumed.

Where you meet it today

PDNSim in OpenROAD (analyze_power_grid) solves this system on the built grid, and the Gemmini challenge on this site requires the worst-case static drop to stay under a pinned limit.

References and further reading