4.2.10VLSI Design

Parasitic extraction (RC)

2,180 words10 min readdifficulty · medium1 backlinks

WHY do parasitics exist at all?

WHY resistance? A wire of length LL, cross-sectional area A=WtA=W\cdot t (width × thickness), made of material with resistivity ρ\rho, cannot conduct perfectly. Electrons scatter → finite RR.

WHY capacitance? Any two conductors separated by a dielectric store charge when at different voltages. A signal wire has neighbors: the substrate below, wires above/below/beside it. Each pairing = a capacitor.

WHY do we care? Interconnect RC dominates delay in modern nodes. Gate delay shrinks with scaling, but wires get thinner (↑R) and closer (↑C), so wire delay RC\approx RC often exceeds gate delay. Miss it → chip fails timing → tape-out disaster.


HOW to derive wire Resistance from first principles

Start from Ohm's microscopic law. Resistance of a uniform block:

R=ρLA=ρLWtR = \rho \frac{L}{A} = \rho \frac{L}{W\,t}

Why this form? Longer wire = more scattering = more RR (∝ LL). Fatter cross-section = more parallel paths = less RR (∝ 1/A1/A).

Since a given metal layer has fixed thickness tt, group the constants:

R=ρtfixed per layerLW=RLWR = \underbrace{\frac{\rho}{t}}_{\text{fixed per layer}} \cdot \frac{L}{W} = R_{\square}\cdot \frac{L}{W}

Why "squares"? If L=WL=W, the shape is one square and R=RR=R_\square. Doubling both LL and WW keeps RR unchanged — resistance depends only on the aspect ratio, not absolute size (in-plane).


HOW to derive wire Capacitance

The simplest model is the parallel-plate capacitor between the wire (area A=WLA = W\cdot L) and ground plane, separated by oxide of thickness hh, permittivity ε=εrε0\varepsilon = \varepsilon_r\varepsilon_0:

Carea=εAh=εWLhC_{\text{area}} = \varepsilon \frac{A}{h} = \varepsilon \frac{W L}{h}

Why? Charge Q=CVQ=CV; field between plates E=V/hE=V/h; Q=εEA/...Q=\varepsilon E A/... → the standard C=εA/dC=\varepsilon A/d.

But a real wire is a thin rectangular bar, not an infinite plate. Field lines bulge out the sides → fringing capacitance. And it couples sideways to neighbors → coupling capacitance.

Miller effect (WHY coupling is worse than it looks): if a neighbor (aggressor) switches opposite to the victim, the effective coupling cap is doubled (Ceff=2CcC_{\text{eff}}=2C_c) because the voltage across it swings twice as much. If it switches the same way, Ceff0C_{\text{eff}}\to 0.


HOW extraction represents a long wire: the RC ladder

A wire isn't a lumped R then a lumped C — R and C are distributed along its length. Extraction tools break the wire into segments, each a small r,cr,c, forming an RC ladder.

Figure — Parasitic extraction (RC)

The Elmore delay gives the dominant delay of such a ladder. For a wire of length LL with per-unit resistance rr and capacitance cc, split into NN segments each carrying cc at the far end of resistance summing up:

tED=iRisourceCit_{ED} = \sum_i R_{i\to\text{source}}\,C_i

For a uniform distributed line:

tED=k=1N(krLN)(cLN)=rcL2N2k=1Nk=rcL2N2N(N+1)2NrcL22t_{ED} = \sum_{k=1}^{N}\left(k\,\frac{rL}{N}\right)\left(\frac{cL}{N}\right) = \frac{rc L^2}{N^2}\sum_{k=1}^{N}k = \frac{rcL^2}{N^2}\cdot\frac{N(N+1)}{2}\xrightarrow{N\to\infty}\frac{rcL^2}{2}


Extraction flow (WHAT the tool actually does)

  1. Read layout (GDSII) + technology file (per-layer ρ\rho, tt, ε\varepsilon, spacings).
  2. Recognize geometry, count squares → compute R per net segment.
  3. Compute area + fringe + coupling C using field solvers or pattern-matched formulas.
  4. Emit a SPEF/DSPF file (Standard Parasitic Exchange Format) = the RC netlist.
  5. Feed to STA (static timing analysis) and SPICE.

Two flavors:

  • Rule-based / pattern-matching extraction: fast, uses precomputed lookup tables. Good for signoff of billions of nets.
  • Field-solver extraction: solves Laplace's equation numerically. Accurate but slow; used for critical nets.

Worked Examples


Common Mistakes (Steel-manned)


Flashcards

What are the two dominant interconnect parasitics extracted in VLSI?
Resistance (R) and Capacitance (C) — L is usually ignored except for high-freq/global clock nets.
Define sheet resistance RR_\square.
R=ρ/tR_\square=\rho/t, resistance of one unit square of a layer, in Ω/\Omega/\square; total R=RL/WR=R_\square\cdot L/W.
Why is wire resistance expressed in "squares"?
Because R=ρL/(Wt)=R(L/W)R=\rho L/(Wt)=R_\square(L/W) depends only on the aspect ratio L/WL/W, not absolute size.
Give the parallel-plate capacitance formula and why it holds.
C=εA/hC=\varepsilon A/h; closer/larger plates store more charge per volt due to stronger uniform field E=V/hE=V/h.
What three components make up total wire capacitance?
Area (bottom-plate), fringe (edge fields), and coupling (to neighbor wires).
State the Elmore/distributed-wire delay and why the factor ½ appears.
t=12RC=12rcL2t=\tfrac12 RC=\tfrac12 rcL^2; ½ arises because charge near the source sees less resistance than charge at the far end.
How does interconnect RC delay scale with wire length?
Quadratically (L2\propto L^2), because both R and C grow linearly with L.
What is the Miller effect on coupling capacitance?
Effective CcoupleC_{couple} = 2Cc2C_c if aggressor switches opposite the victim, 00 if same direction, CcC_c if quiet.
What file format stores extracted parasitics?
SPEF (Standard Parasitic Exchange Format) / DSPF.
Rule-based vs field-solver extraction?
Rule-based uses precomputed lookup tables (fast, full-chip); field-solver solves Laplace's equation (accurate, critical nets).
Why are long global wires buffered/repeatered?
To break the L2L^2 delay into smaller segments; N segments give delay (L/N)2×N=L2/N\propto (L/N)^2\times N = L^2/N, so delay drops ~linearly with buffer count.
Coupling cap per length between two wires (spacing s, thickness t)?
Ccεt/sC_c\approx \varepsilon\, t/s per unit length — facing sidewalls act as small parallel plates.

Recall Feynman: explain to a 12-year-old

Imagine your wire is a garden hose carrying water (electric current). A perfect hose lets water through instantly. But real hoses have friction on the inside walls (that's resistance, R) — it slows the flow, more so for long thin hoses. Now imagine the hose is stretchy and surrounded by other hoses; pushing water in first has to inflate the walls a little before flow reaches the end (that's capacitance, C — storing charge). A long hose is both very draggy AND very stretchy, and the two effects multiply, so a hose twice as long is FOUR times slower to fill. "Parasitic extraction" is just carefully measuring how draggy and stretchy every hose in the chip is, so we can predict exactly when the water arrives.


Connections

  • Interconnect delay modeling — where extracted RC feeds delay calc.
  • Elmore delay — the math of RC ladders.
  • Static Timing Analysis (STA) — consumes the SPEF file.
  • Crosstalk and Signal Integrity — driven by coupling capacitance + Miller.
  • Repeater / Buffer insertion — the fix for L2L^2 delay.
  • Technology scaling (Dennard) — why wire parasitics dominate in modern nodes.
  • Sheet resistance · Parallel-plate capacitor — physics primitives.

Concept Map

read by

computes

computes

derives

grouped as

times squares

gives

plus

add to

combine into

combine into

can exceed

feeds

Physical Layout

Parasitic Extraction

Wire Resistance

Wire Capacitance

Resistivity and Geometry

Sheet Resistance Rsq

Parallel-Plate Model

Area Capacitance

Total Capacitance

Fringing and Coupling

Wire Delay approx RC

Gate Delay

Timing and Power Simulation

Hinglish (regional understanding)

Intuition Hinglish mein samjho

Dekho, jab aap layout mein ek wire draw karte ho, toh aap sochte ho ki yeh perfect conductor hai — zero resistance, zero delay. Lekin reality mein har metal wire ek chhota resistor bhi hai (kyunki metal ki conductivity finite hai) aur ek capacitor bhi (kyunki wire ke aas-paas ground aur doosri wires hain, beech mein oxide hai). In "hidden" R aur C ko layout se nikalne ka process hi parasitic extraction kehlata hai. Yeh zaroori hai kyunki extract kiye bina aapka timing simulation silicon se match nahi karega.

Resistance nikalne ka funda simple hai: R=R×(L/W)R = R_\square \times (L/W), jahan R=ρ/tR_\square = \rho/t ek layer ki fixed property hai. Aap bas "squares" gino — wire kitni baar apne width jitni length cover karti hai. Capacitance mein teen cheezein hain: area cap (neeche ground ke saath parallel-plate), fringe cap (edges se nikalne wale field lines), aur coupling cap (bagal ki wire ke saath). Advanced nodes mein wires patli aur paas-paas hoti hain, isliye coupling cap bahut bada ho jata hai — aur Miller effect isko double kar deta hai agar neighbor opposite direction mein switch kare.

Sabse important insight: wire ka delay 12RC\frac{1}{2}RC hota hai, aur kyunki R aur C dono length ke saath badhte hain, delay L2L^2 ke proportional hai. Matlab wire double lambi karo toh delay char guna! Isiliye engineers lambi global wires ke beech mein buffers/repeaters lagate hain — length ko tukdon mein todkar quadratic delay ko control karte hain.

Exam aur real chip design dono mein yeh topic gold hai (80/20): squares se R, teen cap components, aur 12RCL2\tfrac12 RC \propto L^2 delay — bas yeh teen cheezein solid kar lo toh aadha VLSI interconnect samajh mein aa jayega.

Test yourself — VLSI Design

Connections