🔌 Module 5 · Chip Hardware · Chapter 5.12 · 10 min read

Metal Lines and IR Drop

The Cu wire feeding 256 cells — the invisible limit of large arrays.

What you'll learn here

  • Write IR-drop math along WL/BL
  • Compute Y1 crossbar IR-drop numbers (Cu BEOL)
  • Explain double-ended drive, wider wire, regulation strategies
  • Understand IR-drop tolerance and compiler compensation
  • State Y10 design improvements toward sub-1% IR drop

Hook: Feeding 256 Cells

In a crossbar, 256 cells share one WL. They all draw current in parallel. That current flows through the WL Cu wire. The resistance (~600 Ω) creates IR drop.

WL start: 0.25 V. WL end: ~0.20 V (5 mV IR). 50 mV gap → MVM accuracy shifts 5%.

This is a silent problem. If the compiler doesn’t account for it, AI outputs come out skewed.

Intuition: Voltage Falls Along the Current Path

Apply 0.25 V on the WL. The first cell sees a full 0.25 V. The second? The WL wire carries the current; wire resistance creates IR drop → cell 2 sees 0.249 V. …

After 256 cells: Vend=VstartItotalRwireV_{\text{end}} = V_{\text{start}} - I_{\text{total}} \cdot R_{\text{wire}}.

Typical: Vend0.180.20V_{\text{end}} \approx 0.18-0.20 V (5-7% drop).

Result: end-of-line cells see less voltage → produce less current → MVM output systematically shifted.

Formalism: IR Drop Compute

L1 · Başlangıç

WL geometry (Y1):

  • Cu, 30 nm × 50 nm × 26 µm.
  • ρCu,eff\rho_{Cu, eff} = 3.5 µΩ·cm.
  • Rwire=ρL/A=3.51062.6103/1.51011=607R_{\text{wire}} = \rho L / A = 3.5 \cdot 10^{-6} \cdot 2.6 \cdot 10^{-3} / 1.5 \cdot 10^{-11} = 607 Ω.

Cell currents (worst case):

256 cells × 0.25 V × 100 µS = ~6.4 mA total (LRS cells).

In practice: 30% activity → 2 mA average.

Current distribution along WL:

The first cell taps the WL near the source → its current is the entire wire current. The last cell → only its own current.

Current decreases along WL: Iwire(x)=Itotal(1x/L)I_{\text{wire}}(x) = I_{\text{total}} \cdot (1 - x/L)

xx: position along WL, LL: WL length.

Voltage profile:

V(x)=V00xIwire(x)ρ/AdxV(x) = V_0 - \int_0^x I_{\text{wire}}(x') \rho/A \, dx' =V0ItotalRwire(x/Lx2/(2L2))= V_0 - I_{\text{total}} \cdot R_{\text{wire}} \cdot (x/L - x²/(2L²))

End (x=Lx = L): V(L)=V0IRwire/2V(L) = V_0 - I R_{\text{wire}} / 2.

So the effective drop is half the total (because of the falling current distribution).

Numbers:

Itotal=2I_{\text{total}} = 2 mA (avg), Rwire=600R_{\text{wire}} = 600 Ω → total IR = 1.2 V?! Way too much!

Hmm — at 600 Ω with 2 mA you’d get 1.2 V. That swallows the whole WL.

Fix: WLs are voltage-driven (held flat). Practically WL acts more like a “voltage rail”; each cell pulls current via BL.

Even so, WL drop is 50-100 mV in practice (depends on current distribution).

L2 · Tam

IR drop on BL:

BL currents accumulate (Kirchhoff). The ADC at the BL bottom sees all 256 cell currents. The cell at the top of the BL has all current flow through → highest IR drop here.

BL has the same geometry as WL = 600 Ω. Total current 256 × 12.5 µA = 3.2 mA.

Average BL drop: 3.2mA600/2=13.2 mA \cdot 600 / 2 = 1 V! Also impossible. Real design: BL is wider (50 nm × 100 nm) → R drops to ~300 Ω. Drop 0.5 V → still big.

Practical: ADC input impedance is high (kΩ) → current limited. The voltage drops less because current is bounded.

Net effect: ~5-10% MVM error.

Double-ended drive:

Drive WL from both ends. Current flows from each end → each cell takes half through the wire.

Effective drop: half. 5% → 2.5%.

Y1 standard: double-ended WL drive.

Wider wire:

Thicker WL → lower resistance. 100 nm × 100 nm WL → R = 150 Ω (4× lower). But: more area, more capacitance (RC may worsen).

Compensation:

Compiler “pre-distorts” weights: program end-cell weights slightly larger → IR drop compensated.

The Y1 simulator (chapter 6.8) includes an IR-drop model used by the compiler.

L3 · Derin

IR drop simulation (Y1):

256-cell WL, 50% sparsity:

  • Active cells: 128.
  • Average current/cell: 5 µA.
  • Total current: 640 µA.
  • WL R = 600 Ω.
  • Single-end drive: drop = 640 µA × 300 Ω (half-length avg) = 192 mV. Way too big (75% of V_in).
  • Double-end drive: drop = 96 mV (~40%).

Practical: BL-end ADC output is already compensated by the compiler.

Better: the compiler reads different columns at different times to thin out current. Sequential column activation.

Practical Y1 IR drop: ~5-7% sustainable. After compiler compensation, MVM error 2-3%. AI tolerates.

Y10 improvements:

  • 1S1R 3D-stack: shorter WL.
  • 7 nm CMOS: tighter wire + narrower lower layers.
  • New wire material: Co (cobalt) instead of Cu, better (chapter 2.8).
  • Target: 2% IR drop.

Y100:

  • Photonic on-chip: optical signals don’t have IR drop!
  • Wafer-scale: limited single-wire length.
  • Target: negligible.

Voltage-regulator IR drop:

Power delivery from the VR to the crossbar (PDN). Separate problem. Decoupling caps + thick metal layers (M16-M20).

Y1 PDN IR drop: ~50 mV (5% of 1 V supply). Tolerable.

Frequency interaction:

High frequency (1 GHz) → more switching → more instantaneous current → IR spikes. Decoupling caps critical.

In low DVFS modes IR is smaller (less current).

Experiment: Y1 WL IR Drop Calculation

256-cell WL:

  • V0=0.25V_0 = 0.25 V.
  • Rwire=600R_{\text{wire}} = 600 Ω.
  • Active cells: 64 (25% sparsity).
  • Cell current: 5 µA (mid).
  • Total current: 320 µA.

Single-end drive:

WL voltage profile: V(x)=V0Icum(x)R(x)V(x) = V_0 - I_{\text{cum}}(x) \cdot R(x).

Current is approximately linearly falling: average 160 µA.

Vdrop=160μA600Ω=96V_{\text{drop}} = 160 \mu A \cdot 600 \Omega = 96 mV.

WL end: 0.25 - 0.096 = 0.154 V.

Skew: 38% voltage loss. Big.

Double-end drive:

Drop halved: 48 mV. WL end: 0.202 V.

19% loss. Still big.

Compiler compensation:

Program end-cell weights 20% larger. Inference correct.

Y1 practical (with compiler comp): 3-5% effective error.

Y10 target (new design): 1% effective error.

Quick Quiz

1/6What is IR drop?

Lab Exercise

Y1 IR-drop budget simulation.

Crossbar: 256×256, 1T1R, Cu WL/BL.

Questions:

(a) WL drop at 50% sparsity (128 active cells)? (b) What does the ADC at the BL end see? (c) Without compiler compensation, MVM error? (d) Maximum sparsity to maintain ideal? (e) Y10 with 7 nm CMOS + 1S1R 3D-stack: estimated drop?

Solutions

(a) 128 × 5 µA = 640 µA total. Double-end avg drop = 640/2 × 300 = 96 mV. WL end 0.154 V. 38% drop. Very high.

(b) BL current = 256 × 5 µA = 1.28 mA. BL R = 600 Ω. Drop typically 200 mV → ADC bias needed.

(c) WL drop 38% + BL loss → MVM error ~30%. Devastating. Compiler mandatory.

(d) For 5% drop: 0.05 × 0.25 = 12.5 mV → I_total < 41 µA → 8 active cells. 3% sparsity limit. Practically too low → compensation required.

(e) Y10: shorter WL (1024×1024 but smaller cell = same length), wider wire (50 nm × 100 nm), 1S1R OTS limits current. Net estimate 2-3%. Compiler down to 1%.

Cheat Sheet

  • IR drop: voltage falls along WL/BL = current × wire R.
  • Y1 WL R: ~600 Ω.
  • Typical drop: Y1 5-7% (uncompensated).
  • Fixes: double-ended drive, wider wire, compiler compensation.
  • AI tolerance: 2-3% effective.
  • Y10 target: 1%.
  • Y100: photonic on-chip = zero.

Vision: Wire-Free Compute

  • Y1: Cu BEOL, IR drop managed.
  • Y3: Co wire + 1S1R, drop 3%.
  • Y10: wider wire + 7 nm + advanced compiler, 1%.
  • Y100: photonic waveguides, no IR drop.
  • Y1000: superconducting (4 K), zero R.

Further Reading