Skip to main content

python library to generate GDS layouts

Project description

gdsfactory 6.23.1

docs PyPI Conda Version Dockerhub PyPI Python issues forks GitHub stars Downloads Downloads Downloads MIT codecov black Binder Colab

logo

GDSfactory is a design automation tool for photonics and analog circuits.

You can describe your circuits in code (python or YAML), verify them (DRC, simulation) and analyze them.

It provides you with an end to end flow for building chips.

workflow

You can:

  • Design (Layout, Simulation, Optimization)
    • define parametric cells (PCells) functions in python or YAML. Define routes between component ports.
    • Test component settings, ports and geometry to avoid unwanted regressions.
    • Capture design intent in a schematic.
  • Verificate (DRC, DFM, LVS)
    • Run simulations directly from the layout thanks to the simulation interfaces. No need to draw the geometry more than once.
      • Run Component simulations (solve modes, FDTD, EME, TCAD, thermal ...)
      • Run Circuit simulations from the Component netlist (Sparameters, Spice ...)
      • Build Component models and study Design For Manufacturing.
    • Create DRC rule decks in Klayout.
    • Make sure complex layouts match their design intent (Layout Versus Schematic).
  • Validate
    • Make sure that as you define the layout you define the test sequence, so when the chips come back you already know how to test them.
    • Model extraction: extract the important parameters for each component.
    • Build a data pipeline from raw data, to structured data and dashboards for monitoring your chip performance.

As input, you write python or YAML code.

As output you write a GDSII or OASIS file that you can send to your foundry for fabrication. It also exports component settings (for measurement and data analysis) and netlists (for circuit simulations).

layout_to_components

flow

It provides you a common syntax for design (KLayout, gdstk, Ansys Lumerical, tidy3d, MEEP, MPB, DEVSIM, SAX, ...), verification and validation.

tool interfaces

Multiple Silicon Photonics foundries have gdsfactory PDKs available. Talk to your foundry to access their gdsfactory PDK.

You can also access:

Installation

Installation for new python users

If you don't have python installed on your system you can download the gdsfactory installer that includes python3, miniconda and all gdsfactory plugins.

Installation for new gdsfactory users

Open Mamba, Miniconda or Anaconda Prompt and then install using pip

anaconda prompt

pip install gdsfactory --upgrade
gf tool install

Installation for developers

For developers you need to fork the GitHub repository, git clone it (download it), git add, git commit, git push your improvement. Then pull request your changes to the main branch from the GitHub website. For that you can install gdsfactory locally on your computer in -e edit mode.

git clone https://github.com/gdsfactory/gdsfactory.git
cd gdsfactory
pip install -e . pre-commit
pre-commit install
gf tool install

Then you need to restart Klayout to make sure you activate the klayout gdsfactory integration.

Getting started

Testimonals

"I've using gdsfactory since 2017 for all my chip tapeouts. I love that is fast, easy to use and to extend. It's the only tool that allows us to have and end to end chip design flow (design, verification and validation)."

Joaquin Matres - Google (ref)

Acks

Contributors (in chronological order):

  • Joaquin Matres (Google): write some documentation pages, help porting from gdspy to gdstk.
  • Damien Bonneau (PsiQuantum): cell decorator, Component routing functions, Klayout placer.
  • Pete Shadbolt (PsiQuantum): 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 (Meta Reality Labs Research): Meep and MPB interface.
  • Simon Bilodeau (Princeton): Meep FDTD write Sparameters, TCAD device simulator.
  • Thomas Dorch (Freedom Photonics): Meep's material database access, MPB sidewall angles, and add_pin_path.
  • Jan-David Fischbach (Black semiconductor): improvements in pack_doe.
  • Igal Bayn (Google): documentation improvements and suggestions.
  • Alex Sludds (MIT): tiling fixes.
  • Momchil Minkov (Flexcompute): improve tidy3d plugin.
  • Skandan Chandrasekar (BYU): simphony, SiPANN plugins, A-star router.
  • Helge Gehring (Google): simulation plugins (FEM heat solver), improving code quality and new components (spiral paths).
  • Tim Ansell (Google): documentation improvements.
  • Ardavan Oskoii (Google): Meep plugin documentation improvements.
  • Marc de Cea (MIT): ge_detector, grating_coupler_dual, mmi_90degree_hybrid, coherent transceiver, receiver.
  • Bradley Snyder (PHIX): grating_coupler snap to grid fixes.
  • Jonathan Cauchon (Ciena): measurement database.
  • Raphaël Dubé-Demers (EXFO): measurement database.
  • Bohan Zhang (Boston University): grating coupler improvements.
  • Niko Savola (IQM): optimization, notebook and code improvements.

Open source heroes:

  • Matthias Köfferlein: Klayout
  • Lucas Heitzmann (University of Campinas, Brazil): for gdstk
  • Adam McCaughan (NIST): phidl. Inspiration for geometry manipulation.
  • Alex Tait (Queens University): lytest inspiration for gdsfactory testing GDS framework.
  • Thomas Ferreira de Lima (NEC): pip install klayout python API.
  • Juan Sanchez: DEVSIM for TCAD simulations.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gdsfactory-6.23.1.tar.gz (779.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gdsfactory-6.23.1-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file gdsfactory-6.23.1.tar.gz.

File metadata

  • Download URL: gdsfactory-6.23.1.tar.gz
  • Upload date:
  • Size: 779.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for gdsfactory-6.23.1.tar.gz
Algorithm Hash digest
SHA256 57f2811b604909480cd7f1485f3f525cc4ce7172051440ed9d2d3bd06bc3bc80
MD5 fdc0e4f21e183be10f7f17c8594c15ba
BLAKE2b-256 77137f3a8b64fddc5f0dd6f8dafad9fd7814156fe0b39bfd4b7285ac49ac55e3

See more details on using hashes here.

File details

Details for the file gdsfactory-6.23.1-py3-none-any.whl.

File metadata

  • Download URL: gdsfactory-6.23.1-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.1

File hashes

Hashes for gdsfactory-6.23.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d34d559464b55a779d5aba1fd9f157ba41dc67903dd4356c6d2751bfe1f74547
MD5 053abf3eb8d5d493950d212ac8984a17
BLAKE2b-256 a56f7d86e43014821f5bf4cb9809819a4576ea9529f86123c08194843eea132d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page