Skip to main content

python library to generate GDS layouts

Project description

GDSFactory 8.18.2

docs PyPI PyPI Python Downloads MIT codecov Binder

🚀 Notice: Major Release

We are excited to announce that GDSFactory has upgraded its backend from gdstk to KLayout. This change brings enhanced routing functions and additional features from KLayout, including DRC, dummy fill, and connectivity checks.

Notice that the routing and some advanced functions have changed. For a complete list of changes, please refer to our migration guide or review the updated layout tutorial.

GDSFactory is a powerful Python library for designing a wide range of complex systems, including photonic circuits, analog devices, quantum components, MEMs, 3D printed objects, and PCBs. With GDSFactory, you can create and refine your designs using Python or YAML, perform rigorous verification through Design Rule Checking (DRC), Layout Versus Schematic (LVS) checks, and simulations. Additionally, it facilitates automated lab testing to ensure that your fabricated devices meet precise specifications, streamlining the entire design-to-fabrication workflow.

As input you write python code, as an output GDSFactory creates CAD files (GDS, OASIS, STL, GERBER).

cad

import gdsfactory as gf

c = gf.Component()
ref1 = c.add_ref(gf.components.rectangle(size=(10, 10), layer=(1, 0)))
ref2 = c.add_ref(gf.components.text("Hello", size=10, layer=(2, 0)))
ref3 = c.add_ref(gf.components.text("world", size=10, layer=(2, 0)))

ref1.xmax = ref2.xmin - 5
ref3.xmin = ref2.xmax + 2
ref3.rotate(30)
c.show()

Highlights:

  • +2M downloads
  • +70 Contributors
  • +15 PDKs available

workflow

We provide a comprehensive end-to-end design flow that enables you to:

  • Design (Layout, Simulation, Optimization): Define parametric cell functions in Python to generate components. Test component settings, ports, and geometry to avoid unwanted regressions, and capture design intent in a schematic.
  • Verify (DRC, DFM, LVS): Run simulations directly from the layout using our simulation interfaces, removing the need to redraw your components in simulation tools. Conduct component and circuit simulations, study design for manufacturing. Ensure complex layouts match their design intent through Layout Versus Schematic verification (LVS) and are DRC clean.
  • Validate: Define layout and test protocols simultaneously for automated chip analysis post-fabrication. This allows you to extract essential component parameters, and build data pipelines from raw data to structured data to monitor chip performance.

Your input: Python or YAML text. Your output: A GDSII or OASIS file for fabrication, alongside component settings (for measurement and data analysis) and netlists (for circuit simulations) in YAML.

We provide a common syntax for design (Ansys, Lumerical, Tidy3d, MEEP, DEVSIM, SAX, MEOW, Xyce ...), verification, and validation.

tool interfaces

Numerous foundries offer GDSFactory PDKs that are accessible under an NDA. To gain access to these PDKs, please send proof of your NDA to contact@gdsfactory.com

  • AIM photonics PDK
  • AMF photonics PDK
  • Compoundtek photonics PDK
  • GlobalFoundries 45SPCLO Photonics PDK
  • HHI Photonics PDK
  • IMEC photonics PDK
  • Smart Photonics Photonics PDK
  • TowerSemi PH18 photonics PDK
  • III-V Labs PDK
  • Lionix PDK

Coming soon:

  • Ligentec PDK
  • Lightium PDK

There are also open source PDKs available without an NDA:

Getting started

Who is using GDSFactory?

Hundreds of organisations are using GDSFactory. Some companies and organizations around the world using GDSFactory include:

logos

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

Joaquin Matres - Google

"I've relied on GDSFactory for several tapeouts over the years. It's the only tool I've found that gives me the flexibility and scalability I need for a variety of projects."

Alec Hammond - Meta Reality Labs Research

"The best photonics layout tool I've used so far and it is leaps and bounds ahead of any commercial alternatives out there. Feels like GDSFactory is freeing photonics."

Hasitha Jayatilleka - LightIC Technologies

"As an academic working on large scale silicon photonics at CMOS foundries I've used GDSFactory to go from nothing to full-reticle layouts rapidly (in a few days). I particularly appreciate the full-system approach to photonics, with my layout being connected to circuit simulators which are then connected to device simulators. Moving from legacy tools such as gdspy and phidl to GDSFactory has sped up my workflow at least an order of magnitude."

Alex Sludds - MIT

"I use GDSFactory for all of my photonic tape-outs. The Python interface makes it easy to version control individual photonic components as well as entire layouts, while integrating seamlessly with KLayout and most standard photonic simulation tools, both open-source and commercial.

Thomas Dorch - Freedom Photonics

Why use GDSFactory?

  • It's fast, extensible and easy to use.
  • It's free, as in freedom and in cost.
  • It's the most popular EDA tool with a growing community of users, developers, and extensions to other tools.

GDSFactory is really fast thanks to KLayout C++ library for manipulating GDSII objects. You will notice this when reading/writing big GDS files or doing large boolean operations.

Benchmark gdspy GDSFactory Gain
10k_rectangles 80.2 ms 4.87 ms 16.5
boolean-offset 187 μs 44.7 μs 4.19
bounding_box 36.7 ms 170 μs 216
flatten 465 μs 8.17 μs 56.9
read_gds 2.68 ms 94 μs 28.5

Contributors

Thanks to all the contributors that make this awesome project possible!

contributors

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-8.18.2.tar.gz (457.1 kB view details)

Uploaded Source

Built Distribution

gdsfactory-8.18.2-py3-none-any.whl (642.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gdsfactory-8.18.2.tar.gz
  • Upload date:
  • Size: 457.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for gdsfactory-8.18.2.tar.gz
Algorithm Hash digest
SHA256 9642d73260fe2e1ca8bce7c7996cbc73088d9bae421b5d028a5a6b0143384433
MD5 f5404ea8a87c0b684593f367dd5c1d36
BLAKE2b-256 ae0012c2d2eed8b734697ba08f35c78693509877d8a1021ceb80e1e0bf01bf01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gdsfactory-8.18.2-py3-none-any.whl
  • Upload date:
  • Size: 642.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for gdsfactory-8.18.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f6d773cfd408784a9cf78dc0117f48b421054e715bc3c569281a79e49bd3b9f6
MD5 5cabb3e2e1065f8b2328df3865fbd6aa
BLAKE2b-256 6d0484f50dbebad96c1a2673f62cce66b3568a281451a25ea80f91fa47e963de

See more details on using hashes here.

Supported by

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