DEV Community

TAKE HooJoo
TAKE HooJoo

Posted on

Learning Open-Source PDKs by Playing With Them

From Standard Cell Layouts to SPICE, SRAM, and P&R Flows

If you’ve ever opened a PDK and thought, “Where do I even start?”, you’re not alone.

This article is for hobbyists, students, and engineers who want to understand PDKs beyond documentation—by actually touching and experimenting with them.

PDKs (Process Design Kits) often look overwhelming at first—huge directories, dense design rules, endless SPICE parameters. They’re usually introduced as something professional, serious, and not meant to be touched casually.

But here’s the good news: open-source PDKs don’t have to be scary.

In this post, I’ll share how I’ve been learning open-source PDKs by playing with them—looking at layouts, drawing my own cells, running SPICE simulations, breaking things, and sometimes fixing them again.

No tape-outs.

No deadlines.

Just curiosity and experiments.

A Practical Guide to Open-Source PDKs 🚶

In this article, I share a hands-on, experience-based guide to understanding open-source PDKs (Process Design Kits).

We will cover:

  • What a PDK actually is
  • How to read and explore an open-source PDK
  • Practical examples using standard cells, SPICE, SRAM, and P&R flows
  • How to learn PDKs by playing with them

This article is written for people who are interested in semiconductor design but feel unsure about where to start:

  • What exactly is a PDK?
  • How should I approach an open-source PDK?
  • What should I try first to really understand it?

Rather than treating PDKs as something purely professional or intimidating,
this guide focuses on learning by experimenting and having fun.


What Is a PDK?

A PDK (Process Design Kit) is a collection of everything required for semiconductor design.

It typically includes:

  • Transistor models (SPICE)
  • Device parameters
  • Design rules
  • DRC / LVS / ERC rules
  • Parasitic extraction rules (LPE / PEX)
  • Standard cell libraries
  • Configuration for place-and-route (P&R) flows

In the past, IC design could be done with just the so-called “three essentials”:

  • Device parameters
  • Design rules
  • SPICE models

However, as processes became more advanced and EDA tools more complex, things changed.

With increasing:

  • Verification complexity
  • Number of layers and device types
  • Mask costs and respin risks

Almost everything related to design and verification became part of the PDK.


Where Should You Start Reading a PDK?

If you want to understand a PDK,
jumping straight into design-rule documents is honestly painful.

A much better starting point is to look at standard-cell layouts.

From a single standard-cell layout, you can immediately see:

  • Layer stack and structure
  • Minimum rules (width, spacing, enclosure)
  • Metal pitch and routing directions
  • Poly width and pitch
  • Well structures and isolation strategies

Below is an example of a standard-cell layout from SKY130.

Example of a standard cell layout in the SKY130 open-source PDK

(Standard cells are essentially compressed collections of minimum rules.)

Rather than reading rules, you can often understand them visually just by looking.


Understanding Skyrockets When You Draw Cells Yourself

An even better approach is to draw standard cells yourself.

For example:

  • Try shrinking an 8-track cell into a 7-track cell

8-track and 7-track standard cell layouts compared to show cell height reduction

When you do this, you quickly discover:

  • Which rules actually matter
  • The real limits of poly, active, and contacts
  • Non-negotiable routing constraints
  • The unique “personality” of each PDK

To understand the design philosophy behind a PDK,
nothing beats drawing layouts while constantly checking the rules.


Reading the “Personality” from Device Parameters

Next, look at the device parameters.

Even just comparing Ion (on-current) and Ioff (off-current) reveals a lot about a process.

Ion and Ioff comparison across process corners

Typical trends include:

  • FF corner: fast but leaky
  • SS corner: slow but low leakage

From this, you can infer:

  • Speed vs. leakage trade-offs
  • Delay and power tendencies
  • Threshold-voltage variation windows

If device documentation is limited,
SPICE simulations can help fill the gaps
(though model accuracy should always be considered).


Try Running SPICE Simulations

Running SPICE simulations reveals device behavior very clearly.

You can explore things like:

  • I–V characteristics
  • Standard-cell delay (Tpd)
  • Power vs. speed trade-offs

SPICE schematic for I–V characterization and corresponding simulation results, with notes on manual netlist creation and recommended ISHI-kai hands-on sessions

Even if symbols are not provided,
handwritten netlists are usually enough to experiment.

Once you establish the flow:

Read → Draw → Simulate

your understanding of the PDK reaches a new level.

🔗 Open-source PDK community
https://ishi-kai.org/


If You Want to Build a PDK Yourself

With the classic three essentials
(device parameters, design rules, and SPICE models),
you can build a minimal PDK.

The goal is to start small and functional.

1. Layer Definitions (Layer Map)

  • Layer names, numbers, colors, GDS mappings
  • Mapping between design and mask layers

Examples of layer lists from different PDKs, highlighting vendor-specific implementations and naming conventions

This step defines the worldview of the PDK.

Minimum required layers include:

  • Active
  • N-well / P-well
  • Poly
  • N+/P+ source-drain
  • Contact
  • Metal / Via

2. Minimal DRC

  • Width, spacing, enclosure rules
  • Enough to draw INV / NAND gates

3. LVS

  • MOS extraction (W/L)
  • Connectivity extraction
  • Consistency with SPICE models

4. Simple Standard Cells

  • INV / NAND for rule validation
  • DFF to confirm practical usability

The initial goal is simple:

A PDK that design tools can correctly interpret


Open-Source PDKs Are Meant to Be Played With

Professional PDK development and open-source PDK exploration are completely different.

Professional Work Playing
Deadlines and precision Try ideas freely
Reproducibility Breaking things is OK
Corporate rules Your own rules

Tuning SPICE models,
characterizing cells with Libretto,
designing SRAM bitcells,
running OpenLane with 7-track libraries…

Through this kind of “play,”
you often gain deeper insight than from formal work.


Things I’ve Tried with Open-Source PDKs

Below are some examples of how I’ve been playing with open-source PDKs—not as work, but as exploration.


Building Design Environments with Mini PCs and SSDs

I start from the environment.

Using low-cost mini PCs and multiple small SSDs, I prepare:

  • Mini PC (CHUWI LarkBox X 2023)
  • Linux (Linux Mint 21.3 “Virginia”)
  • Various EDA tools
  • Multiple open-source PDKs

Each PDK lives on its own SSD.

This makes it easy to:

  • Break environments without worry
  • Carry setups between machines
  • Maintain clean, PDK-specific systems

Supported PDKs include:

  • SKY130
  • GF180MCU
  • TR-1um

Mini PC and mini SSDs used to switch between SKY130, GF180MCU, and TR-1um PDK environments

Mini USB SSD used as a portable open-source PDK environment

Portable PDK environment on a mini SSD


Playing with SPICE Model Parameters

Next, I tweak SPICE model parameters such as Vth0 and U0.

By gradually changing them, I observe:

  • Changes in Id–Vg curves
  • Differences from virtual measurement data

Id–Vg curves for a MOSFET with different threshold voltages (VTH0 = 0.5 V, 0.7 V, and 0.9 V), showing the shift in turn-on behavior

I also tried simple fitting to minimize error between:

  • Synthetic measurement data
  • SPICE simulation results

The goal is not model accuracy, but intuition:

How do model parameters affect circuit behavior?

NMOS I–V curves before and after fitting, comparing simulation results with measured data


Using Libretto for Cell Characterization

I used Libretto, a characterization tool, with:

  • Original models
  • Self-adjusted models

By comparing results, I could clearly see:

  • Delay trends
  • Slope dependencies
  • Where model differences appear

Seeing characterization results helps bridge
SPICE models and circuit-level behavior.

Rise propagation delay comparison between original and MySpice models

🔗 Libretto
https://github.com/snishizawa/libretto


Drawing SRAM Butterfly Curves

Using a 6T SRAM bitcell,
I plotted butterfly curves to evaluate SNM (Static Noise Margin).

By varying:

  • SPICE models
  • Transistor sizing

I could visually understand SRAM stability much better.

SRAM 6T bitcell and corresponding butterfly curve for SNM evaluation


Laying Out SRAM Bitcells

I also laid out SRAM bitcells:

  • Conventional vertical cells
  • Point-symmetric cells

Comparing them reveals differences in:

  • Routing efficiency
  • Cell area
  • Scalability potential

Doing both circuit and layout work connects understanding in a powerful way.

Vertical versus point-symmetric SRAM bitcell layouts


Running OpenLane with Custom 7-Track Cells

Finally, I prepared a full digital flow using custom 7-track standard cells:

  • GDS
  • LEF
  • Verilog
  • Liberty (.lib)

Running the OpenLane flow answers key questions:

  • Does P&R actually succeed?
  • Where are routing density limits?
  • How compatible are these cells with existing libraries?

The key is not stopping at cell creation,
but running the full flow.

Custom 7-track standard cell layout

Placement and routing result using a custom 7-track standard cell


Playing Deepens Understanding

None of these experiments are:

  • Required for professional work
  • Particularly efficient

But in an environment where you can:

  • Break things
  • Try ideas
  • Laugh at failures

your understanding of PDKs deepens naturally.

Open-source PDKs are, in my opinion,
excellent learning and experimentation platforms.

If you’re curious about semiconductor design, don’t wait for permission—open a PDK, draw something small, and start playing.


Summary

  • Playing with open-source PDKs leads to deeper understanding
  • Breaking and fixing things yourself is the best teacher

Open-source PDKs are
a gateway to making semiconductor design accessible and enjoyable for everyone.


Related Materials

📅 December 2025 Event: Open PDK Seminar by Tokai Rika Shuttle
https://ishi-kai.org/information/seminar/2025/10/30/DecEvent_1213.html

📄 Presentation slides (PDF):
A Practical Guide to Open-Source PDKs
https://ishi-kai.org/assets/presentation/event/202512/Guide2OpenSourcePDKs.pdf

🇯🇵 Japanese version of this article (Qiita):

https://qiita.com/take_hoojoo/items/8840528d3e26b31d18bb


Top comments (0)