Skip to content

Repository files navigation

QPDK — Quantum Process Design Kit

HTML Docs PDF Docs Binder PyPI - Version DOI MIT Docs Tests DRC Code Coverage Model Coverage


QPDK is an open-source process design kit (PDK) for superconducting quantum RF applications built on gdsfactory. It provides a library of parametric quantum circuit components (transmon qubits, CPW resonators, Josephson junctions, etc.), analytical S-parameter models, routing utilities, and test-chip examples.

QPDK gives researchers, engineers, and students a scriptable, version-controlled foundation to go from concept to GDSII in minutes.

Key Features

  • Rich component library — Transmons, fluxonium, unimon and gatemon qubits, CPW resonators, interdigital capacitors, SQUID junctions, launchers, bump bonds, TSVs, and more.
  • Parametric & composable — Combine Python functions (@gf.cell) into hierarchical designs or define full chips in YAML.
  • Analytical circuit models — Fast, differentiable S-parameter simulations powered by SAX and JAX.
  • Automated routing — CPW-aware routing strategies with auto-tapers for complex layouts.
  • KLayout integration — Layer definitions, technology files, and cross sections for immediate visual inspection.
  • Regression-tested — GDS regression tests, netlist checks, and model validation.
  • Notebook-driven workflows — Jupyter notebooks for frequency modeling, tolerance analysis, parameter extraction, pulse-level simulation, and optimization.
  • GDSFactory+ integration — Seamlessly design, verify, and validate chips with the enhanced commercial extension. Includes access to 43+ foundry PDKs, graphical layout and schematic editors directly in VSCode, an AI assistant, and comprehensive verification tools (DRC, LVS, Connectivity checks). See the QPDK graphical workflow tutorial.

Notable Components

QPDK ships with a broad set of ready-to-use superconducting circuit components. Browse all the components in the documentation.

Qubits

Transmon Fluxonium
Double-pad capacitively shunted qubit Superinductance-shunted qubit
Transmon Fluxonium
Unimon SQUID Junction
Resonator-embedded junction qubit Superconducting quantum interference device
Unimon SQUID Junction

Passive Components

CPW Resonator Interdigital Capacitor
Meandering coplanar waveguide resonator Finger-style lumped-element capacitor
CPW Resonator Interdigital Capacitor

Composite Components

Transmon with Resonator & Probeline — Qubit cell with coupled resonator and probeline section:

Transmon with Resonator and Probeline

Sample Test Chips

QPDK includes complete, tapeout-ready test chip examples that demonstrate real-world design workflows.

Qubit Test Chip

A four-transmon test chip with coupled readout resonators, probeline routing, flux lines, and launchers. Defined entirely in YAML.

Qubit Test Chip

Filled Qubit Test Chip

The same qubit test chip with magnetic vortex trapping holes filling the ground plane and chip edges.

Filled Qubit Test Chip

Flip-Chip (Flipmon) Test Chip

A four-flipmon test chip demonstrating flip-chip qubit integration with coupled readout resonators, interdigital capacitor inputs, probeline routing, and flux lines — shown here with ground-plane filling and chip edges.

Flipmon Test Chip

Gatemon Test Chip

A two-gatemon test chip after Riechert et al. (2025): each gatemon sits at the input end of a half-wave meander resonator between two series coupling capacitors, with its gate electrode routed to a dedicated launcher. Shown here with ground-plane filling and chip edges. Both independent readout channels target the reported device A frequency of 5.056 GHz using QPDK's analytical CPW and capacitor models, including the nominal island load with its Josephson junction open. The physical lengths and capacitor dimensions are design estimates, and the qubit coupling still needs electromagnetic calibration.

Gatemon Test Chip

TSV Flip-Chip Test Chip

Two mirrored CPW lines that use every metal layer of a flip-chip stack. Each line runs from a launcher on M1 through a TSV down to a backside (MB) underpass, back up to M1, across an indium-bump transition to the top chip (M2), through a top-chip TSV to a meander on the top chip's backside (MB2), and back out the same way to a second launcher. Indium bump arrays tie the two chips' ground planes together.

TSV Flip-Chip Test Chip

A 3D cut-away through one of the lines, rendered with to_3d() and translucent substrates, shows the TSVs through both chips and the top chip with its MB2 meander on the backside.

TSV Flip-Chip Test Chip 3D view

Resonator Test Chip

A 16-resonator characterization chip with systematically varied CPW widths and gaps across two probelines. Ideal for extracting loss tangents and kinetic inductance. See also the notebook demonstrating network model simulations and fabrication tolerance Monte Carlo.

Resonator Test Chip

Simulation Showcase

QPDK comes with worked examples for circuit, quantum, and electromagnetic simulation. Every figure below is taken from one of the example notebooks as rendered in the documentation. Click a title to open the full notebook.

Circuit & Network Models

Resonator Test Chip Transmission Fabrication Tolerance Monte Carlo
Both probelines of the 16-resonator chip, via SAX Resonance spread from CPW width and gap variations
Resonator test chip transmission Monte Carlo frequency spread

Quantum Dynamics & Hamiltonians

Flux-Tunable Transmon Spectrum Pulse-Level Gate Simulation
Energy levels versus external flux with scQubits X-gate populations and leakage in QuTiP-QIP
Flux-tunable transmon spectrum QuTiP X-gate population dynamics
Dispersive Shift Differentiable Transmon Optimization
Block-diagonalized dispersive shift with Pymablock Circulax JAX gradients to target f and anharmonicity
Pymablock dispersive shift Circulax optimization convergence

Parametric Amplifiers

Traveling-Wave Parametric Amplifier Flux-Pumped JPA
2047-junction TWPA gain in JosephsonCircuits.jl VACASK harmonic balance vs. single-mode theory
TWPA signal and idler gain VACASK JPA signal gain

Electromagnetic Field Solvers

COMSOL Resonator HFSS Eigenmode Elmer Capacitance
Driven E-field at resonance Meandered CPW eigenmode field IDC capacitance vs. FEM remeshing
COMSOL resonator field HFSS eigenmode field Elmer IDC convergence

COMSOL Transmon Capacitance — Electrostatic potential and field around the double-pad transmon:

COMSOL transmon potential

The same workflows extend to HFSS driven-modal and Q2D impedance analyses, Qucs-S model validation, and NetKet and Optuna optimization.

Quick Start

import gdsfactory as gf
from qpdk import PDK

PDK.activate()

# Create a transmon qubit
from qpdk.cells.transmon import double_pad_transmon

qubit = double_pad_transmon(pad_size=(250, 400), pad_gap=15)
qubit.plot()
# Build a complete test chip from YAML
from gdsfactory.read import from_yaml
from qpdk import tech

chip = from_yaml(
    "qpdk/samples/qubit_test_chip.pic.yml",
    routing_strategies=tech.routing_strategies,
)
chip.show()  # Opens in KLayout

Graphical Workflow with GDSFactory+

Prefer a visual workflow? QPDK runs in GDSFactory+, where you can place components in the schematic editor, inspect the layout, and run circuit simulations without leaving VSCode. The Quantum-RF graphical workflow tutorial walks through exploring and simulating a resonator with QPDK step by step.

Examples & Notebooks

  • PDK cells in the documentation — Collection of all available geometries.
  • qpdk/samples/ — Example layouts and simulations including qubit test chips, resonator arrays, routing demos, and 3D export.
  • notebooks/ — Jupyter notebooks covering:
    • Resonator frequency modeling and S-parameter analysis
    • Circuit simulation with SAX
    • Monte Carlo fabrication tolerance analysis
    • Hamiltonian parameter extraction with scqubits
    • Pulse-level quantum gate simulation with QuTiP
    • Capacitor geometry optimization with Optuna
    • Dispersive shift calculation with Pymablock
    • Transmon design optimization with NetKet
  • GDSFactory+ Quantum-RF tutorial — Graphical design and simulation of a resonator with QPDK in GDSFactory+.
  • gsim example notebooks — Electromagnetic simulation examples using Palace and Meep with gdsfactory.

Installation

We recommend uv for package management and use just for project-specific recipes.

Installation for Users

Install the package with:

uv pip install qpdk

Or with pip:

pip install qpdk

Install the optional dependencies for the analytical models and simulation tools (SAX, scqubits, JAX) with:

uv pip install "qpdk[models]"

models is one of several extras — hfss, circulax, netket, pymablock, qutip, ray, scqubits and graphics pull in the remaining simulation backends, and extras compose ("qpdk[models,netket]"). See Installing optional extras for what each one installs and which notebooks need it.

KLayout Technology Installation

To use the PDK in KLayout (for viewing GDS files with correct layers and technology settings), install the technology files:

python -m qpdk.install_tech

Note

After installation, restart KLayout so the new technology appears.

Installation for Contributors

Follow the installation and development workflow instructions.

Project Structure

quantum-rf-pdk/
├── qpdk/               Core Python package
│   ├── cells/          Component definitions (transmons, resonators, capacitors, …)
│   ├── models/         Analytical models, mostly S-parameters
│   ├── samples/        Example layouts and complete test chips
│   ├── klayout/        KLayout technology files
│   └── tech.py         Layer stack, cross sections, routing strategies
├── tests/              Regression, integration and unit tests
├── notebooks/          Jupyter notebooks for design and simulation workflows
└── docs/               Sphinx documentation (HTML + PDF)

Documentation

Citing QPDK

If you use QPDK in research, please cite the Zenodo record for the release you used. Use the concept DOI when referring to QPDK as a project without a specific version. Citation metadata is in CITATION.cff. See the authorship policy for how citation authors are selected.

Contributing

We welcome contributions of all sizes: new components, improved models, bug fixes, documentation, and notebook tutorials. Please see the contributing guide to get started.

To build a PDK for your own fabrication process on top of QPDK, see Customizing QPDK for Your Process.

Support

For commercial support, training, and custom PDK development, please visit gdsfactory+ (gdsfactory.com/plus).

License

QPDK is released under the MIT License.