Home Knowledge Base Process Design Kit (PDK)

Process Design Kit (PDK) is the complete package of files, models, and rules that a foundry delivers to chip designers so they can design circuits that will manufacture correctly on that process node — it is the contract between fabrication and design. A PDK contains SPICE transistor models (BSIM-CMG, PSP), standard-cell and I/O libraries characterized across PVT corners, technology LEF files defining metal-stack geometry, design-rule-check (DRC) decks, layout-versus-schematic (LVS) netlists, parasitic extraction (PEX) rules, electromigration limits, and reliability models. Without a PDK, a designer cannot simulate, lay out, verify, or tape out a chip. Every CFS simulator — from the Transistor sim at /transistor to the Interconnect sim at /interconnect — models the same physics that PDK characterization captures.

What's inside a PDK — the file taxonomy:

ComponentFormatPurposeWho consumes it
SPICE models (transistor)BSIM-CMG / PSP / HiSIMI-V, C-V, noise, mismatch for all device flavorsCircuit simulators (Spectre, HSPICE, Xyce)
Standard-cell libraryLiberty (.lib) + LEF + GDSPre-characterized gates/FFs with timing, power, noiseSynthesis (Genus/DC), PnR (Innovus/ICC2)
I/O libraryLiberty + GDS + IBISI/O pad cells (ESD, driver, receiver)Top-level integration
Technology LEFLEF (Cadence format)Metal/via layers, pitches, widths, spacing rulesPlace-and-route tools
DRC rule deckCalibre SVR / ICV / PegasusGeometric design rules (min width, spacing, enclosure)Physical verification
LVS rule deckCalibre / ICV / PegasusNetlist extraction + comparison to schematicPhysical verification
PEX rulesStarRC / QRC rule filesParasitic R, C, L extraction from layout geometryTiming sign-off (STA)
EM/IR rulesEM spec + PDN guidelinesCurrent-density limits per metal layer and viaReliability sign-off
Reliability modelsHCI, BTI, TDDB modelsAging/degradation over product lifetimeReliability simulation
PCells / iPDKSkill / Python / OpenAccessParameterized layout generators for custom devicesAnalog/custom layout
DocumentationPDF + onlineDesign manual, process specs, known issuesAll designers

PDK corners — spanning the manufacturing window. Silicon fabrication has inherent variation: threshold voltage, oxide thickness, metal resistance, and capacitance all fluctuate across wafers and lots. The PDK provides pre-characterized models at multiple corners:

A full sign-off requires running timing across the "worst-case corners": SS/low-V/125°C for setup, FF/high-V/−40°C for hold — and often 50+ additional Monte Carlo / AOCV statistical points for yield-aware closure.

SPICE models — the transistor contract. The foundry measures thousands of transistors across process splits, then fits the data to a compact model (BSIM-CMG for FinFET/GAA, PSP for planar). The model captures:

$$I_{DS} = f(V_{GS}, V_{DS}, V_{BS}, L, W, N_{\text{fin}}, T, \text{stress}, \text{aging}\ldots)$$

with 300–600 parameters per device flavor (NMOS/PMOS × SVT/LVT/HVT × multiple channel lengths). Accuracy target: <2% error vs measured silicon across the full bias range. Mismatch parameters ($A_{V_T}$, $A_{\beta}$) capture random dopant fluctuation for SRAM and analog yield.

The standard-cell library — pre-built logic. The PDK's cell library (see the CFS "standard cell" keyword) provides 500–2000 logic cells, each independently characterized by SPICE into Liberty tables across all PVT corners. The timing closure flow (synthesis → PnR → STA → ECO) operates entirely on these Liberty models — never on raw SPICE during physical design. Library quality (density, speed, leakage) directly determines the PPA (performance, power, area) achievable on the node.

DRC and LVS — the manufacturing contract. Design rules encode everything the fab can and cannot print:

A modern DRC deck at 3 nm contains 3000–5000 individual rules. A single violation can cause a systematic yield loss across every die on the wafer.

<svg viewBox="0 0 760 470" xmlns="http://www.w3.org/2000/svg" font-family="-apple-system,Segoe UI,Roboto,sans-serif">
  <rect x="0" y="0" width="760" height="470" fill="#0d1117"/>
  <text x="380" y="28" fill="#e6edf3" font-size="21" font-weight="700" text-anchor="middle">ASIC Physical Design — RTL to GDSII</text>
  <text x="380" y="48" fill="#8b98a5" font-size="12" text-anchor="middle">synthesize logic, place cells, route metal, verify DRC/LVS — the backend flow that makes silicon real</text>

  <!-- === TOP: Physical design flow === -->
  <rect x="25" y="62" width="710" height="95" rx="6" fill="#080d14" stroke="#233043" stroke-width="1.2"/>
  <text x="380" y="80" fill="#e6edf3" font-size="11" text-anchor="middle" font-weight="600">ASIC Backend Flow</text>

  <rect x="40" y="92" width="72" height="30" rx="3" fill="#1a1520" stroke="#a78bfa" stroke-width="0.8"/>
  <text x="76" y="110" fill="#c4b5fd" font-size="8" text-anchor="middle">RTL</text>

  <path d="M115,107 L130,107" fill="none" stroke="#8b98a5" stroke-width="0.7"/>
  <polygon points="128,104 134,107 128,110" fill="#8b98a5"/>

  <rect x="137" y="92" width="72" height="30" rx="3" fill="#0f1a2a" stroke="#60a5fa" stroke-width="0.8"/>
  <text x="173" y="107" fill="#93c5fd" font-size="7.5" text-anchor="middle">Synthesis</text>
  <text x="173" y="118" fill="#6b7684" font-size="6.5" text-anchor="middle">gate netlist</text>

  <path d="M212,107 L227,107" fill="none" stroke="#8b98a5" stroke-width="0.7"/>
  <polygon points="225,104 231,107 225,110" fill="#8b98a5"/>

  <rect x="234" y="92" width="72" height="30" rx="3" fill="#14261f" stroke="#34d399" stroke-width="0.8"/>
  <text x="270" y="107" fill="#6ee7b7" font-size="7.5" text-anchor="middle">Floorplan</text>
  <text x="270" y="118" fill="#6b7684" font-size="6.5" text-anchor="middle">macro + IO</text>

  <path d="M309,107 L324,107" fill="none" stroke="#8b98a5" stroke-width="0.7"/>
  <polygon points="322,104 328,107 322,110" fill="#8b98a5"/>

  <rect x="331" y="92" width="72" height="30" rx="3" fill="#2a1a0a" stroke="#f59e0b" stroke-width="0.8"/>
  <text x="367" y="107" fill="#fbbf24" font-size="7.5" text-anchor="middle">Placement</text>
  <text x="367" y="118" fill="#6b7684" font-size="6.5" text-anchor="middle">std cells</text>

  <path d="M406,107 L421,107" fill="none" stroke="#8b98a5" stroke-width="0.7"/>
  <polygon points="419,104 425,107 419,110" fill="#8b98a5"/>

  <rect x="428" y="92" width="72" height="30" rx="3" fill="#14261f" stroke="#34d399" stroke-width="0.8"/>
  <text x="464" y="107" fill="#6ee7b7" font-size="7.5" text-anchor="middle">CTS</text>
  <text x="464" y="118" fill="#6b7684" font-size="6.5" text-anchor="middle">clock tree</text>

  <path d="M503,107 L518,107" fill="none" stroke="#8b98a5" stroke-width="0.7"/>
  <polygon points="516,104 522,107 516,110" fill="#8b98a5"/>

  <rect x="525" y="92" width="72" height="30" rx="3" fill="#0f1a2a" stroke="#60a5fa" stroke-width="0.8"/>
  <text x="561" y="107" fill="#93c5fd" font-size="7.5" text-anchor="middle">Routing</text>
  <text x="561" y="118" fill="#6b7684" font-size="6.5" text-anchor="middle">metal wires</text>

  <path d="M600,107 L615,107" fill="none" stroke="#8b98a5" stroke-width="0.7"/>
  <polygon points="613,104 619,107 613,110" fill="#8b98a5"/>

  <rect x="622" y="92" width="72" height="30" rx="3" fill="#1a0f0f" stroke="#f87171" stroke-width="0.8"/>
  <text x="658" y="107" fill="#f87171" font-size="7.5" text-anchor="middle">Signoff</text>
  <text x="658" y="118" fill="#6b7684" font-size="6.5" text-anchor="middle">DRC/LVS/STA</text>

  <text x="380" y="148" fill="#6b7684" font-size="8" text-anchor="middle">PDK (Process Design Kit) provides standard cells, tech rules, SPICE models, and metal stack definitions</text>

  <!-- === MIDDLE LEFT: PDK and standard cells === -->
  <rect x="25" y="165" width="350" height="130" rx="6" fill="#0b1220" stroke="#233043" stroke-width="1"/>
  <text x="200" y="183" fill="#e6edf3" font-size="10" text-anchor="middle" font-weight="600">PDK — Process Design Kit</text>

  <text x="45" y="205" fill="#60a5fa" font-size="8.5" font-weight="600">Standard cells:</text>
  <text x="145" y="205" fill="#8b98a5" font-size="8.5">NAND, NOR, INV, FF, MUX (pre-characterized)</text>
  <text x="45" y="221" fill="#34d399" font-size="8.5" font-weight="600">Liberty (.lib):</text>
  <text x="135" y="221" fill="#8b98a5" font-size="8.5">timing, power, noise for each cell/corner</text>
  <text x="45" y="237" fill="#fbbf24" font-size="8.5" font-weight="600">LEF/DEF:</text>
  <text x="110" y="237" fill="#8b98a5" font-size="8.5">physical dimensions, pin locations, metal rules</text>
  <text x="45" y="253" fill="#c4b5fd" font-size="8.5" font-weight="600">DRC rules:</text>
  <text x="120" y="253" fill="#8b98a5" font-size="8.5">min width, spacing, enclosure, density</text>
  <text x="45" y="269" fill="#f87171" font-size="8.5" font-weight="600">SPICE models:</text>
  <text x="140" y="269" fill="#8b98a5" font-size="8.5">BSIM4/BSIM-CMG for transistor simulation</text>
  <text x="45" y="287" fill="#8b98a5" font-size="8">Corners: SS/TT/FF × 0.9V/1.0V/1.1V × -40/25/125°C</text>

  <!-- === MIDDLE RIGHT: ASIC vs FPGA === -->
  <rect x="390" y="165" width="345" height="130" rx="6" fill="#0b1220" stroke="#233043" stroke-width="1"/>
  <text x="562" y="183" fill="#e6edf3" font-size="10" text-anchor="middle" font-weight="600">ASIC vs FPGA Tradeoffs</text>

  <text x="410" y="203" fill="#60a5fa" font-size="8.5" font-weight="600">ASIC</text>
  <text x="410" y="219" fill="#8b98a5" font-size="8.5">+ 10-100× perf/watt vs FPGA</text>
  <text x="410" y="235" fill="#8b98a5" font-size="8.5">+ lowest unit cost at volume</text>
  <text x="410" y="251" fill="#f87171" font-size="8.5">- $5-50M NRE, 12-18mo design</text>
  <text x="410" y="267" fill="#f87171" font-size="8.5">- no post-fab changes (mask-set fixed)</text>

  <text x="590" y="203" fill="#34d399" font-size="8.5" font-weight="600">FPGA</text>
  <text x="590" y="219" fill="#8b98a5" font-size="8.5">+ instant reprogramming</text>
  <text x="590" y="235" fill="#8b98a5" font-size="8.5">+ $0 NRE, prototype in days</text>
  <text x="590" y="251" fill="#f87171" font-size="8.5">- 10× more power per op</text>
  <text x="590" y="267" fill="#f87171" font-size="8.5">- higher unit cost at scale</text>

  <text x="562" y="289" fill="#fbbf24" font-size="8.5" text-anchor="middle">Crossover: ~50K-100K units/year (volume → ASIC wins)</text>

  <!-- === BOTTOM: EDA tools === -->
  <rect x="25" y="305" width="710" height="95" rx="5" fill="#0b1220" stroke="#233043" stroke-width="1"/>
  <text x="380" y="323" fill="#e6edf3" font-size="10" text-anchor="middle" font-weight="600">EDA Tool Landscape</text>

  <text x="130" y="347" fill="#c4b5fd" font-size="9.5" text-anchor="middle" font-weight="600">Synopsys</text>
  <text x="130" y="361" fill="#8b98a5" font-size="8" text-anchor="middle">Design Compiler, ICC2</text>
  <text x="130" y="375" fill="#8b98a5" font-size="8" text-anchor="middle">PrimeTime, StarRC</text>
  <text x="130" y="389" fill="#6b7684" font-size="7.5" text-anchor="middle">#1 market share</text>

  <text x="310" y="347" fill="#fbbf24" font-size="9.5" text-anchor="middle" font-weight="600">Cadence</text>
  <text x="310" y="361" fill="#8b98a5" font-size="8" text-anchor="middle">Genus, Innovus</text>
  <text x="310" y="375" fill="#8b98a5" font-size="8" text-anchor="middle">Tempus, Quantus</text>
  <text x="310" y="389" fill="#6b7684" font-size="7.5" text-anchor="middle">strong in P&amp;R</text>

  <text x="490" y="347" fill="#34d399" font-size="9.5" text-anchor="middle" font-weight="600">Siemens (Mentor)</text>
  <text x="490" y="361" fill="#8b98a5" font-size="8" text-anchor="middle">Calibre (DRC/LVS)</text>
  <text x="490" y="375" fill="#8b98a5" font-size="8" text-anchor="middle">Questa, HyperLynx</text>
  <text x="490" y="389" fill="#6b7684" font-size="7.5" text-anchor="middle">#1 in signoff verify</text>

  <text x="650" y="347" fill="#60a5fa" font-size="9.5" text-anchor="middle" font-weight="600">Open-source</text>
  <text x="650" y="361" fill="#8b98a5" font-size="8" text-anchor="middle">OpenROAD, Yosys</text>
  <text x="650" y="375" fill="#8b98a5" font-size="8" text-anchor="middle">Magic, KLayout</text>
  <text x="650" y="389" fill="#6b7684" font-size="7.5" text-anchor="middle">SkyWater 130nm PDK</text>

  <!-- Key insight -->
  <rect x="25" y="408" width="710" height="26" rx="4" fill="#0b1220" stroke="#233043" stroke-width="0.8"/>
  <text x="380" y="425" fill="#fbbf24" font-size="9.5" text-anchor="middle">Physical design closes the gap between logic and manufacturing — timing, power, and area are decided here, not in RTL.</text>

  <text x="380" y="460" fill="#6b7684" font-size="11" text-anchor="middle">Every transistor in every chip went through this flow — synthesis, place, route, signoff — billions of times over.</text>
</svg>

Open-source PDKs — democratizing chip design. Google/SkyWater's SKY130 (130 nm, 2020) and GlobalFoundries' GF180MCU (180 nm, 2022) are open PDKs freely available to anyone — enabling university research, startups, and open-source EDA tool development (OpenROAD, OpenLane, Magic, ngspice) without the NDA-gated access that foundry PDKs traditionally require. While these are mature nodes (not competitive for AI chips), they let designers learn the full RTL-to-GDS flow on real, manufacturable technology — and several Google-sponsored shuttle runs have taped out functional chips using SKY130 at zero cost.

What PDK means for AI chip teams. Designing a frontier AI accelerator at 3–5 nm means working with a PDK that contains: ~4800 standard cells × 5+ PVT corners (24,000+ Liberty views), 600-parameter FinFET/GAA SPICE models, 4000+ DRC rules, multi-patterning-aware coloring constraints, and EM limits that require coupled thermal-electrical analysis. The PDK is updated quarterly as the foundry improves the process; each update can shift timing margins by 5–10%, requiring re-validation of the entire design. The PDK is not documentation — it is the executable specification of the manufacturing process.

layoutpdkasicfpga

Related Topics

Explore 500+ Semiconductor & AI Topics

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