piel < 0.1
is still in active development. The API is starting to stabilize, but use it currently at your own risk.
Microservices to codesign photonics, electronics, communications, quantum, and more.
- Free software: MIT license
- Documentation: https://piel.readthedocs.io
- Slack Channel: Join
#piel
in open-source-silicon.dev
- Co-simulation and optimisation between integrated photonic and electronic chip design.
- System interconnection modelling in multiple domains.
- Experimental and simulation metadata/data management & integration.
- 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.
Follow the many examples in the documentation.
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.
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 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.
If you feel dedicated enough to become a project maintainer, or just want to do a single contribution, let's do this together!