PDKs (Process Design Kits) contain a set of predefined components, DRCs (Design Rule Checks), and simulation models specific to a particular fabrication facility.

GDSFactory+ supports over 40 foundry PDKs with at least predefined components to facilitate the design of photonic integrated circuits. We continue to enhance our PDK support by adding additional DRC rules and simulation models, particularly in the Quantum RF space.

These PDKs jump start the chip development process by allowing users to design circuits that are compatible with the chosen foundry's manufacturing processes.

Using project templates for PDKs

We recommend using gdsfactory+ project templates for new projects. These templates include a pyproject.toml file that configures the project to use GDSFactory+ and its dependencies.

If you are using GDSFactory+ Cloud workspaces, you can create a new project using the GDSFactory+ template directly from the Customer Portal interface when you set up your workspace.

Workspace template

See the Quickstart guide for an example of creating a new project in GDSFactory+ Cloud with the Cornerstone PDK template.

If you are working locally, you can create a new project with a GDSFactory+ template by clicking on the folder icon in the GF+ tab.

Folder icon

Choose your PDK's template and you're ready to rock! 🎸

New project template

PDK support

GDSFactory+ supports a wide range of PDKs, including publicly PDKs and proprietary PDKs that require an NDA from the Foundry.

The table below shows the current PDK support status. Layout means predefined components are available, DRC means design rule checks are supported, and Models means simulation models are included.

Photonics PDKs

Foundry Process Platform Layout DRC Models Distribution
Tower - Open Light PH18DA SiPho Tower eBizz Portal
Tower - Open Light PH18DAZ SiPho Tower eBizz Portal
Tower PH18MA SiPho Tower eBizz Portal
Tower PH18MA_SL SiPho Tower eBizz Portal
Tower PH18MA_SL2 SiPho Tower eBizz Portal
Tower PH18MA_SL3 SiPho Tower eBizz Portal
Tower PH18MA_SL4 SiPho Tower eBizz Portal
Tower PH18MN SiPho Tower eBizz Portal
Tower PH18MCG SiPho Tower eBizz Portal
Tower PH18MCI SiPho Tower eBizz Portal
Tower TPS45 SiPho Tower eBizz Portal
AMF GP SiPho Email request to AMF
AMF HP SiPho Email request to AMF
AIM Photonics ACT SiPho AIM customer portal
AIM Photonics Qflex SiPho AIM customer portal
Ligentec AN800 SiN Ligentec customer portal
Ligentec AN350 SiN Ligentec customer portal
Ligentec AN150 SiN Ligentec customer portal
Ligentec LN SOI SiN, TFLN Ligentec customer portal
HHI III-V JePPiX
Quantum Computing Inc. QCi LN TFLN Email request to QCi
Luxtelligence TFLN GitHub
Silterra Silterra SiPho
IMEC Photonics ISIP50G SiPho IMEC
IMEC Photonics ISIP200G SiPho IMEC
Compoundtek SiPho Compoundtek
SiEPIC Ebeam UBC Ebeam, SiPho GitHub
Applied Nanotools ANT Ebeam, SiPho Email request to Applied Nanotools
Cornerstone si220 SiPho GitHub
Smart Photonics III-V JePPiX
III-V Labs III-V JePPiX
Lionix SiN JePPiX
Lightium TFLN Email request to Lightium
VTT SiPho GitHub
Generic GDSFactory SiPho GitHub
Honeywell 1550nm SiN Coming soon
Honeywell 780nm SiN Coming soon

Electronic / RF / Mixed-Signal PDKs

Foundry Process Platform Layout DRC Models Distribution
GlobalFoundries 180nm MCU CMOS RF GitHub
Skywater130 CMOS RF GitHub
IHP RF GitHub
Quantum RF Superconducting RF GitHub
Northrop Grumman 90 GaN RF Under development

Create a project without a template

If you would prefer to create a project without using a template, you can manually configure your project to use GDSFactory+.

To configure GDSFactory+ in your project add the following to your project's pyproject.toml:

[tool.gdsfactoryplus.pdk]
name = "..." # Set the PDK used in this project.

[tool.gdsfactoryplus.drc]
process = "ph18ma" # Set the DRC process used in this project. If not set, defaults to the PDK process.
timeout = 3000 # DRC timeout in seconds.

[tool.gdsfactoryplus.sim.wls]
max = 1.6
min = 1.5
num = 1000

For RF simulations, you can add the following configuration:

[tool.gdsfactoryplus.sim.x]
name = "f"
min = 1 # 1GHz
max = 20 # 20GHz
num = 3000