Skip to content

daquintero/piel

Repository files navigation

Photonic Integrated ELectronics

PyPI Name PyPI Version Documentation Status MIT Black

Microservices to codesign photonics, electronics, communications, quantum, and more.

Target functionality

  • Co-simulation and optimisation between integrated photonic and electronic chip design.
  • System interconnection modelling in multiple domains.
  • Chip and interposer design integration.
  • Co-design components to circuits flow.
  • Maintain a multi-tool dependency design environment.

piel aims to provide an integrated workflow to co-design photonics and electronics, classically and quantum. It does not aim to replace the individual functionality of each design tool, but rather provide a glue to easily connect them all together and extract the system performance.

Examples

Follow the many examples in the documentation.

Microservices Toolset

This package provides interconnection functions to easily co-design microelectronics through the functionality of the major python-integrated microelectronics projects and photonics via the GDSFactory project.

image

Some existing microservice dependency integrations are:

  • amaranth - A modern hardware definition language and toolchain based on Python.
  • cocotb - a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python.
  • hdl21 - Analog Hardware Description Library in Python
  • GDSFactory - An open source platform for end to-end photonic chip design and validation
  • OpenLane v1 - an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen and custom methodology scripts for design exploration and optimization
  • Openlane v2 - The next generation of OpenLane, rewritten from scratch in Python with a modular architecture
  • sax - S-parameter based frequency domain circuit simulations and optimizations using JAX.
  • thewalrus -A library for the calculation of hafnians, Hermite polynomials and Gaussian boson sampling.
  • qutip - QuTiP: Quantum Toolbox in Python

piel also provides a common dependency-resolved environment for all these tools, so that you just get started with designing rather than manage dependencies (which is a massive pain). Full flow environment toolsets can use nix, docker, and local installations following the existing open-source design flows.

Contribution

If you feel dedicated enough to become a project maintainer, or just want to do a single contribution, let's do this together!