IHP GDSFactory PDK¶
IHP's SG13G2 is an open-source 130nm SiGe BiCMOS technology for RF/mmWave electronics.
A GDSFactory-based Process Design Kit for the IHP SG13G2 130nm BiCMOS open-source technology. It provides parametric layout cells, design rule constants, simulation models, and example designs for tape-out-ready integrated circuits.
Quick start¶
Use Python 3.11, 3.12 or 3.13. We recommend VSCode as an IDE.
Then you need to restart Klayout to make sure the new technology installed appears and start generating IHP-SG13G2 GDSII immediately!
import gdsfactory as gf
from ihp import PDK
from ihp.cells import nmos, rfnmos, npn13G2, rsil, cmim
PDK.activate()
# Create a parametric NMOS transistor
c = nmos(width=1.0, length=0.13, nf=4)
c.write_gds("my_nmos.gds")
c.show() # opens in KLayout
Available devices¶
| Category | Device | Function |
|---|---|---|
| FET | nmos | nmos |
| pmos | pmos |
|
| nmos_hv | nmos_hv |
|
| pmos_hv | pmos_hv |
|
| RF FET | rfnmos | rfnmos |
| rfpmos | rfpmos |
|
| rfnmos_hv | rfnmos_hv |
|
| rfpmos_hv | rfpmos_hv |
|
| Bipolar | npn13G2 | npn13G2 |
| npn13G2L | npn13G2L |
|
| npn13G2V | npn13G2V |
|
| pnpMPA | pnpMPA |
|
| Resistor | rsil (silicided poly) | rsil |
| rppd (p-poly) | rppd |
|
| rhigh (high-R) | rhigh |
|
| Capacitor | cmim (MIM) | cmim |
| rfcmim (RF MIM) | rfcmim |
|
| cmom (MOM) | cmom |
|
| Inductor | inductor2 | inductor2 |
| inductor3 | inductor3 |
|
| Passive | svaricap (MOS varicap) | svaricap |
| ESD protection | esd_nmos |
|
| ntap1 / ptap1 | ntap1 / ptap1 |
|
| guard_ring | guard_ring |
|
| sealring | sealring |
|
| Diode | diodevdd 2kV/4kV | diodevdd_2kv / diodevdd_4kv |
| diodevss 2kV/4kV | diodevss_2kv / diodevss_4kv |
|
| schottky_nbl1 | schottky_nbl1 |
|
| Antenna | dantenna / dpantenna | dantenna / dpantenna |
| Bondpad | bondpad | bondpad |
Project structure¶
ihp/
├── cells/ # Pure GDSFactory parametric layout cells
│ ├── fet_transistors.py # NMOS/PMOS (standard & HV)
│ ├── rf_transistors.py # RF-MOSFETs with guard/gate rings
│ ├── bjt_transistors.py # SiGe HBTs (npn13G2, npn13G2L, npn13G2V, pnpMPA)
│ ├── resistors.py # Polysilicon & metal resistors
│ ├── capacitors.py # MIM & MOS capacitors
│ ├── inductors.py # Spiral inductors
│ ├── passives.py # Diodes, varactors, guard rings
│ ├── via_stacks.py # Via stack generators
│ └── bondpads.py # Bondpad cells
├── models/ # Compact models & SAX S-parameter models
├── gds/ # Pre-built GDS files for some cells
├── tech.py # Layer map, design rules, technology parameters
├── layers.yaml # Layer properties and colors for KLayout LYP
└── config.py # Paths and PDK configuration
tests/
├── test_cells.py # GDS regression & settings tests for all cells
└── gds_ref/ # Golden reference GDS files
docs/ # Documentation
Key architectural concepts:
cells/contains pure GDSFactory implementations — each@gf.cellfunction builds geometry from scratch usingadd_polygonand design rule constants fromtech.py. No external layout tools are needed at runtime.models/provides SAX-compatible S-parameter models for circuit simulation.
Installation¶
We recommend uv
Installation for contributors¶
git clone https://github.com/gdsfactory/ihp.git
cd ihp
uv venv --python 3.12
uv sync --extra docs --extra dev
python install_tech.py
Running tests¶
To run specific test subsets:
Documentation¶
License¶
Pre-commit¶
Pre-commit hooks are centrally maintained in pdk-ci-workflow-public. make dev fetches the canonical config and installs the git hook.
Release¶
-
Bump the version:
-
Push the tag:
This triggers the release workflow that builds wheels and uploads them. -
Create a pull request with the updated changelog since last release.