Home Knowledge Base Standard cell

Standard cell is the pre-designed, pre-characterized logic building block that every digital chip is assembled from — a fixed-height rectangle containing a handful of transistors that implements one Boolean function (NAND, NOR, INV, AOI, MUX, flip-flop, latch, buffer). A foundry PDK ships a library of 500–2000 standard cells spanning multiple drive strengths, threshold voltages, and functions; the synthesis tool maps RTL into these cells, and place-and-route tiles them edge-to-edge in rows across the die. An Apple M-series chip contains billions of transistors, but they are organized into perhaps 50–100 million placed standard-cell instances drawn from a library of ~1000 unique cells.

Anatomy of a standard cell. Every cell in a row-based library shares the same height (measured in metal-pitch "tracks") and a width that is an integer multiple of the placement grid (contacted poly pitch, CPP). Within the fixed height:

$$\text{Cell height} = N_{\text{tracks}} \times M2_{\text{pitch}}$$

At TSMC N5 with 28 nm M2 pitch and a 6.5-track (6.5T) cell library: height = 6.5 × 28 = 182 nm. At 2 nm (21 nm pitch, 5T): height = 5 × 21 = 105 nm.

Cell height scaling — the dominant density knob. Reducing cell height (from 9T → 7.5T → 6T → 5T → 4T) is the primary way to shrink standard-cell area across nodes, more impactful than transistor pitch scaling alone:

NodeCPP (nm)M2 pitch (nm)Typical cell heightTracksCell area trend
7 nm (N7)54367.5T = 270 nm7.51.0× (baseline)
5 nm (N5)48286.5T = 182 nm6.5~0.67×
3 nm (N3)48236T = 138 nm6~0.51×
2 nm (N2, GAA)45215T = 105 nm5~0.39×
14A (BSPDN)42184.5T = 81 nm4.5~0.30×

Fewer tracks means fewer routing resources inside the cell, making internal wiring harder. Below 5T, backside power delivery (BSPDN) removes the VDD/VSS rails from the cell interior, recovering 1–2 tracks for signal routing — which is why BSPDN and ultra-short cells are co-adopted at the 2 nm node.

Drive strength and Vt variants. Each logic function (e.g. NAND2) is implemented in multiple variants:

A full N5 library might contain: 200 functions × 6 drive strengths × 4 Vt options = ~4800 cell variants, each independently characterized for timing, power, and noise.

Liberty (.lib) characterization. Every cell is characterized by SPICE simulation across PVT (process, voltage, temperature) corners into a Liberty timing model:

The synthesis and STA tools never run SPICE — they interpolate these pre-computed tables millions of times per second to evaluate billions of paths.

<svg viewBox="0 0 760 470" xmlns="http://www.w3.org/2000/svg" font-family="-apple-system,Segoe UI,Roboto,sans-serif"><rect width="760" height="470" fill="#0d1117"/><defs><marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto"><path d="M0 0L10 5L0 10Z" fill="#60a5fa"/></marker><marker id="green" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto"><path d="M0 0L10 5L0 10Z" fill="#34d399"/></marker></defs><text x="380" y="34" fill="#e6edf3" font-size="21" font-weight="700" text-anchor="middle">Standard Cell Library — Characterized Logic for P&amp;R</text><text x="380" y="56" fill="#8b98a5" font-size="13" text-anchor="middle">fixed-height layouts package Boolean function, timing arcs, power, and legal geometry</text><g transform="translate(42 118)"><path d="M0 0h224v224H0Z" fill="#0b1220" stroke="#3a4453"/><g stroke="#233043"><path d="M0 32h224M0 64h224M0 96h224M0 128h224M0 160h224M0 192h224M32 0v224M64 0v224M96 0v224M128 0v224M160 0v224M192 0v224"/></g><rect x="15" y="15" width="194" height="194" fill="none" stroke="#f87171" stroke-dasharray="5 4"/><rect x="28" y="37" width="168" height="56" rx="25" fill="#3a1c1c" stroke="#f87171"/><rect x="28" y="131" width="168" height="56" rx="25" fill="#10233b" stroke="#60a5fa"/><rect x="92" y="21" width="35" height="180" fill="#392d12" stroke="#f59e0b"/><g fill="#1e3a5f" stroke="#60a5fa"><rect x="10" y="6" width="204" height="15"/><rect x="10" y="201" width="204" height="15"/><rect x="109" y="88" width="91" height="14"/></g><g fill="#cbd5e1"><rect x="105" y="50" width="8" height="8"/><rect x="105" y="145" width="8" height="8"/><rect x="144" y="91" width="8" height="8"/></g><text x="112" y="244" fill="#8b98a5" font-size="9.5" text-anchor="middle">NAND2_X1 · fixed site height</text></g><path d="M268 230H319" stroke="#60a5fa" stroke-width="2" marker-end="url(#arrow)"/><g transform="translate(327 112)"><path d="M0 0h174v244H0Z" fill="#101a28" stroke="#60a5fa"/><text x="87" y="25" fill="#93c5fd" font-size="11" font-weight="700" text-anchor="middle">Liberty model</text><path d="M18 42h138M18 87h138M18 132h138M18 177h138" stroke="#3a4453"/><g fill="#8b98a5" font-size="9.5"><text x="18" y="62">function: !(A &amp; B)</text><text x="18" y="107">A→Y rise / fall delay</text><text x="18" y="152">input slew × output load</text><text x="18" y="197">leakage + internal power</text><text x="18" y="222">PVT corners</text></g></g><path d="M503 230H548" stroke="#34d399" stroke-width="2" marker-end="url(#green)"/><g transform="translate(556 108)"><path d="M0 0h160v250H0Z" fill="#0b1220" stroke="#3a4453"/><g stroke="#233043"><path d="M0 50h160M0 100h160M0 150h160M0 200h160M40 0v250M80 0v250M120 0v250"/></g><g stroke-width="2"><rect x="8" y="8" width="64" height="84" fill="#10233b" stroke="#60a5fa"/><rect x="80" y="8" width="72" height="84" fill="#211936" stroke="#a78bfa"/><rect x="8" y="108" width="104" height="84" fill="#123c35" stroke="#34d399"/><rect x="120" y="108" width="32" height="84" fill="#392d12" stroke="#f59e0b"/></g><path d="M22 33h36M94 33h44M22 133h76M128 133h16" stroke="#e6edf3"/><text x="80" y="231" fill="#8b98a5" font-size="9.5" text-anchor="middle">placed rows · abutted rails</text></g><text x="380" y="452" fill="#6b7684" font-size="11.5" text-anchor="middle">A cell library is a silicon-calibrated contract connecting transistor layout to synthesis, timing, power analysis, and placement.</text></svg>

The synthesis-to-layout flow. Standard cells are the interface between logic design and physical implementation: (1) Synthesis (Genus, DC) maps RTL into a gate-level netlist of library cells; (2) Placement (Innovus, ICC2) assigns each cell instance to a row position minimizing wirelength and congestion; (3) Clock-tree synthesis inserts buffer/inverter cells to distribute the clock with minimal skew; (4) Routing connects cell pins through the metal stack; (5) Timing optimization swaps cells to stronger/weaker drive or different Vt to fix setup/hold violations. The quality of the standard-cell library — its density, speed, and completeness — directly determines the PPA (performance, power, area) a design can achieve at a given node.

What this means for AI accelerators. A modern GPU or TPU die at 3–5 nm contains 50–100 billion transistors organized as tens of millions of placed cells. The cell library's area efficiency (track height, CPP, pin-access rules) determines how many compute units (tensor cores, systolic array PEs) physically fit on the die — which directly gates TOPS and training throughput. Every node's headline "transistor density" (MTr/mm²) is primarily a function of standard-cell height × CPP, not the transistor itself. The CFS platform simulates the transistor physics at /transistor and the array-level compute at /systolic — the standard cell is the bridge between them.

standard cell librarydesign

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.