Photonic Integrated ELectronics#
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
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 IIC-OSIC-TOOLS and photonics via GDSFactory.
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 some 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!
Contents#
- Examples
- Project Setup Example
- Run OpenLane Flow
- Digital Design & Simulation Flow
- Digital Simulation & Layout Design Space Exploration
- SAX Integration Basics
- Digital & Photonic Cosimulation with
sax
andcocotb
- Further Analogue-Enhanced Cosimulation including
SPICE
- Model Capabilities
- Analogue Circuit Layout & Simulation
- Quantum Integration Basics
- Component Codesign Basics
- Mixed-Signal & Photonic Cosimulation
- Environment
- Tool Environment Requirements
piel CLI
(Recommended - In Active Development)nix
Configuration (In Passive Development)apptainer
Configuration (In Passive Development)docker
Configuration (In Passive Development)mamba
Recipie Configuration (In Passive Development)- Installation
- Required Project Structure
- Design Files Interaction
- Python-Filesystem Useful Commands
- Tools
- Co-Design Functionality
- Models
- Contributing
- About
- API Reference