Library of open source Process Design Kits
Project description
Lambdapdk
Lambdapdk is a collection of open-source Process Design Kits (PDKs) that enable chip design across multiple technology nodes. Each PDK includes standard cell libraries, I/O libraries, and memory compilers with full integration into the SiliconCompiler build system and Lambdalib Verilog hardware abstraction library.
Why Lambdapdk?
Challenges
- PDK setup is complex and error-prone
- Technology-specific designs limit portability
- Commercial PDKs have restrictive licenses
- Scattered PDK sources with inconsistent interfaces
Solution
- Pre-configured PDKs ready for immediate use
- Lambdalib mapping enables design portability
- Fully open-source PDKs for research and education
- Unified API across all supported technologies
Supported PDKs
| PDK | Node | Libraries | Source |
|---|---|---|---|
| ASAP7 | 7nm FinFET | Standard cells (RVT/LVT/SLVT), I/O, SRAM | Arizona State University |
| FreePDK45 | 45nm | Nangate standard cells, SRAM | NC State / Nangate |
| Sky130 | 130nm | Standard cells (HD/HDLL), I/O, SRAM | Google / Skywater |
| GF180 | 180nm | Standard cells (7T/9T), I/O, SRAM | Google / GlobalFoundries |
| IHP130 | 130nm SiGe | Standard cells, I/O, SRAM | IHP GmbH |
| Interposer | Multi-layer | Bump cells for chiplet integration | ZeroASIC |
Quick Start
Installation
pip install lambdapdk
Basic Usage
from siliconcompiler import ASIC, Design
from siliconcompiler.targets import skywater130_demo
# Create design and add source files
design = Design("mydesign")
design.set_topmodule("mydesign", fileset="rtl")
design.add_file("mydesign.v", fileset="rtl")
design.add_file("mydesign.sdc", fileset="sdc")
# Create ASIC project and load target
project = ASIC(design)
project.add_fileset(["rtl", "sdc"])
skywater130_demo(project)
# Run the flow
project.run()
project.summary()
Available targets: asap7_demo, freepdk45_demo, skywater130_demo, gf180_demo, ihp130_demo, interposer_demo
Cell Library Inventory
ASAP7 (7nm)
Standard cell libraries with three threshold voltage variants:
| Library | Type | Cells | Verilog |
|---|---|---|---|
| asap7sc7p5t_rvt | Regular Vt | ~200 | verilog |
| asap7sc7p5t_lvt | Low Vt | ~200 | verilog |
| asap7sc7p5t_slvt | Super Low Vt | ~200 | verilog |
Cell categories: AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, Adder, Tie, Filler, Decap, Tap
Memory macros (fakeram7):
| Configuration | Verilog |
|---|---|
| Single-port 64x32 to 8192x64 | verilog |
| Dual-port 64x32 to 8192x64 | verilog |
| True dual-port 64x32 to 8192x64 | verilog |
FreePDK45 (45nm)
| Library | Type | Verilog |
|---|---|---|
| nangate45 | Standard cells | lambda |
Cell categories: AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Tie, Filler, Tap
Memory macros (fakeram45):
| Configuration | Verilog |
|---|---|
| 64x32 to 512x64 | verilog |
Sky130 (130nm)
| Library | Type | Cells | Verilog |
|---|---|---|---|
| sky130hd | High Density | ~430 unique | verilog |
| sky130hdll | High Density Low Leakage | ~140 unique | verilog |
| sky130io | I/O cells | Various | verilog |
Cell categories: AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Delay, Tie, Filler, Decap, Tap, Antenna
Memory macros (sky130sram):
| Configuration | Verilog |
|---|---|
| 1RW1R 64x256 | verilog |
GF180 (180nm)
| Library | Type | Cells | Verilog |
|---|---|---|---|
| gf180mcu_fd_sc_mcu7t5v0 | 7-track | ~230 | verilog |
| gf180mcu_fd_sc_mcu9t5v0 | 9-track | ~230 | verilog |
| gf180mcu_fd_io | I/O cells | Various | verilog |
Cell categories: AND, OR, NAND, NOR, XOR, INV, BUF, MUX, DFF, Latch, AOI, OAI, Tristate, Delay, Tie, Filler, Decap, Tap, Antenna
Memory macros (gf180sram):
| Configuration | Verilog |
|---|---|
| 64x8 to 512x8 | verilog |
IHP130 (130nm SiGe)
| Library | Type | Verilog |
|---|---|---|
| sg13g2_stdcell | Standard cells | lambda |
| sg13g2_io | I/O cells | blackbox |
Note: IHP130 cell views are provided by the IHP Open PDK.
Interposer
| Library | Type | Description |
|---|---|---|
| bumps | Bump cells | Micro-bump cells for chiplet integration |
Stackup variants: 3ML, 4ML, 5ML with 400um, 800um, and 2000um bump pitches.
Architecture
lambdapdk/
├── asap7/ # 7nm FinFET PDK
│ ├── base/ # Technology files, DRC rules
│ └── libs/ # Standard cells, I/O, memory
├── freepdk45/ # 45nm PDK
│ ├── base/
│ └── libs/
├── sky130/ # 130nm PDK
│ ├── base/
│ └── libs/
├── gf180/ # 180nm PDK
│ ├── base/
│ └── libs/
├── ihp130/ # 130nm SiGe PDK
│ ├── base/
│ └── libs/
└── interposer/ # Passive interposer
├── base/
└── libs/
Contributing
We welcome contributions! Please report issues and submit pull requests at: https://github.com/siliconcompiler/lambdapdk/issues
License
This project is licensed under the Apache License 2.0.
Individual PDKs may have additional license terms:
| PDK | License | Details |
|---|---|---|
| ASAP7 | BSD 3-Clause | LICENSE |
| Nangate45 | Nangate Open Cell Library License | LICENSE (non-commercial use) |
| Sky130 | Apache 2.0 | Via open_pdks |
| GF180 | Apache 2.0 | Via gf180mcu-pdk |
| IHP130 | Apache 2.0 | Via IHP-Open-PDK |
| Interposer | Apache 2.0 | Copyright 2024 ZeroASIC Corp |
Copyright 2023 Zero ASIC Corporation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lambdapdk-0.2.9.tar.gz.
File metadata
- Download URL: lambdapdk-0.2.9.tar.gz
- Upload date:
- Size: 45.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f8f21f3ce8a6de3e33eddd2049908b312d0d26f17af8aee77074d3a187c956f
|
|
| MD5 |
3d6b72fd3163fd0b3bb77ccfab717986
|
|
| BLAKE2b-256 |
394f363c0f825f6305475b983fb76c54b4c931a752aa21fcd57934f4136d4ee5
|
Provenance
The following attestation bundles were made for lambdapdk-0.2.9.tar.gz:
Publisher:
wheels.yml on siliconcompiler/lambdapdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lambdapdk-0.2.9.tar.gz -
Subject digest:
2f8f21f3ce8a6de3e33eddd2049908b312d0d26f17af8aee77074d3a187c956f - Sigstore transparency entry: 908331989
- Sigstore integration time:
-
Permalink:
siliconcompiler/lambdapdk@2be1252ee38648aea87a154736881a3b9e06624a -
Branch / Tag:
refs/tags/v0.2.9 - Owner: https://github.com/siliconcompiler
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2be1252ee38648aea87a154736881a3b9e06624a -
Trigger Event:
release
-
Statement type:
File details
Details for the file lambdapdk-0.2.9-py3-none-any.whl.
File metadata
- Download URL: lambdapdk-0.2.9-py3-none-any.whl
- Upload date:
- Size: 51.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db5c9071f2b0b0f93fe6ee1cce98b2b9a368eab14e8cfd8ec7439c4e31692b8a
|
|
| MD5 |
bcaebda996098699d528608ea1411ddc
|
|
| BLAKE2b-256 |
b4beab5387182abf94e25131181e71a9882f83467c99a93f1697a7d264a95589
|
Provenance
The following attestation bundles were made for lambdapdk-0.2.9-py3-none-any.whl:
Publisher:
wheels.yml on siliconcompiler/lambdapdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lambdapdk-0.2.9-py3-none-any.whl -
Subject digest:
db5c9071f2b0b0f93fe6ee1cce98b2b9a368eab14e8cfd8ec7439c4e31692b8a - Sigstore transparency entry: 908331993
- Sigstore integration time:
-
Permalink:
siliconcompiler/lambdapdk@2be1252ee38648aea87a154736881a3b9e06624a -
Branch / Tag:
refs/tags/v0.2.9 - Owner: https://github.com/siliconcompiler
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@2be1252ee38648aea87a154736881a3b9e06624a -
Trigger Event:
release
-
Statement type: