Skip to main content

Library of open source Process Design Kits

Project description

Lambdapdk

CI Tests Wheels PyPI Downloads GitHub stars GitHub issues License

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

lambdapdk-0.2.12.tar.gz (43.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lambdapdk-0.2.12-py3-none-any.whl (52.1 kB view details)

Uploaded Python 3

File details

Details for the file lambdapdk-0.2.12.tar.gz.

File metadata

  • Download URL: lambdapdk-0.2.12.tar.gz
  • Upload date:
  • Size: 43.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lambdapdk-0.2.12.tar.gz
Algorithm Hash digest
SHA256 d185c8aa487241c94792a8a5e1021713fd6b94738d226b40ad29aa026b120761
MD5 03f4b51f59060ecdc7085c396df7468b
BLAKE2b-256 f62b2f7b29a5c1e7a91d201330bfed74fcabd7da52224518546af7ee13ac1a29

See more details on using hashes here.

Provenance

The following attestation bundles were made for lambdapdk-0.2.12.tar.gz:

Publisher: wheels.yml on siliconcompiler/lambdapdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lambdapdk-0.2.12-py3-none-any.whl.

File metadata

  • Download URL: lambdapdk-0.2.12-py3-none-any.whl
  • Upload date:
  • Size: 52.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lambdapdk-0.2.12-py3-none-any.whl
Algorithm Hash digest
SHA256 87bc0ccb36cd519273bf5f0455302b03dca38891550ecde9b6e4dcf37557fd78
MD5 5ffda89180e0d45a53300319952a8e0b
BLAKE2b-256 4475433b9005658150176cffb0339643c6318ec3143e3f45dd4b4c1125be6a3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for lambdapdk-0.2.12-py3-none-any.whl:

Publisher: wheels.yml on siliconcompiler/lambdapdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page