gdsfactory is an EDA (electronics design automation) tool to Layout Integrated Circuits. It is built on top of phidl, gdspy and klayout to work with GDSII components, PDKs and masks for different foundries. It combines the power of a code driven flow (python or YAML) together with visualization (Klayout for GDS, trimesh for 3D rendering, networkx for graphs …) and simulation (for component and circuit) interfaces.
You just need to adapt the functions to your foundry and build your own library of elements (see UBC PDK example).
gdsfactory provides you with functions that you can use to:
define components, circuits and masks in python or YAML
route between components
test settings, ports and GDS geometry
It enables both layout and netlist driven flows and is all code driven.
As input, you write python or YAML code.
As output it creates a GDSII file which is the most common file format used by CMOS foundries. It also can output components settings (that you can use for measurement and data analysis) or netlists (for circuit simulations). And you can easily adapt any outputs to your needs, thanks to being all natively written in python.
gdsfactory is based on phidl, gdspy and klayout.
gdsfactory top contributors:
Joaquin Matres (Google): maintainer
Damien Bonneau (PsiQ): cell decorator, Component routing functions, Klayout placer
Pete Shadbolt (PsiQ): Klayout auto-placer, Klayout GDS interface (klive)
Troy Tamas (Rockley): get_route_from_steps, netlist driven flow (from_yaml)
Floris Laporte (Rockley): netlist extraction and circuit simulation interface with SAX
Alec Hammond (Georgia Tech): Meep and MPB interface
Simon Bilodeau (Princeton): Meep FDTD write Sparameters
Thomas Dorch (Freedom Photonics): for Meep’s material database access, MPB sidewall angles, and add_pin_path
Igal Bayn (Google): for documentation improvements and suggestions.
Alex Sludds (MIT): for tiling fixes.
Skandan Chandrasekar (BYU): for simphony and SiPANN plugins.
Open source heroes:
Matthias Köfferlein (Germany): for Klayout
Lucas Heitzmann (University of Campinas, Brazil): for gdspy
Adam McCaughan (NIST): for phidl
Alex Tait (Queens University): for lytest
Thomas Ferreira de Lima (NEC): for
pip install klayout