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.
uv pip install ihp-gdsfactory --upgrade
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 complex cells
├── tech.py # Layer map, design rules, technology parameters
├── layers.yaml # Layer definitions
└── config.py # Paths and PDK configuration
tests/
├── test_cells.py # GDS regression & settings tests for all cells
└── gds_ref/ # Golden reference GDS files
docs/ # Jupyter Book documentation (Sphinx)
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
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
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
make test # run full test suite
make test-force # run tests and regenerate reference GDS files
To run specific test subsets:
uv run pytest tests/test_cells.py -v # GDS regression + settings tests
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.
make dev
Release
-
Bump the version:
tbump 0.0.1
-
Push the tag:
git push --tags
This triggers the release workflow that builds wheels and uploads them.
-
Create a pull request with the updated changelog since last release.
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 ihp_gdsfactory-2.0.0.tar.gz.
File metadata
- Download URL: ihp_gdsfactory-2.0.0.tar.gz
- Upload date:
- Size: 575.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d474a0f367acbccf1865b1acf3eeb03b542bb8543fcfc6d325e4f15abc14404
|
|
| MD5 |
01b2c69fb9c5a1d6d6b8d218daa7e443
|
|
| BLAKE2b-256 |
64c923b872ee98fbd83cc00c3a7f451f770b588b4d7c1a32253e3dd2aeec6a97
|
File details
Details for the file ihp_gdsfactory-2.0.0-py3-none-any.whl.
File metadata
- Download URL: ihp_gdsfactory-2.0.0-py3-none-any.whl
- Upload date:
- Size: 661.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d441b8fe9579e6c880dc4a2971533c2bdf7ba1f0bc9096c4a45c9330e91c2a82
|
|
| MD5 |
a3d7d5b3fa6b99087863f3a1673c1d4f
|
|
| BLAKE2b-256 |
696a99e5e63331a5fb8cc08f3569df73cc1253c6752d76fbb51fd145b77e2cf6
|