OpenLane is an innovative silicon implementation platform that supports open-source tools such as Yosys, OpenROAD, Magic, KLayout, along with other open-source and proprietary utilities. Since 2020, OpenLane has been used for every Open MPW and chipIgnite shuttle. OpenLane integrates and abstracts the various steps of silicon implementation, allowing users to harden their projects using simple configuration files
Currently, there are two versions of OpenLane, each tailored to its own use case.
OpenLane 1: Tried-and-True Open-Source Silicon Implementation Flow
OpenLane 1 is a stable silicon implementation platform built entirely on open-source software. It offers a simple, Docker®-based installation and has enabled countless tape-outs for Efabless's chipIgnite and Google's Open MPW programs, completely free of charge.
We currently recommend OpenLane 1 for all designs targeting Efabless's MPW programs, including chipIgnite, due to its extensive silicon validation.
For more information on OpenLane 1, please visit https://github.com/The-OpenROAD-Project/OpenLane.
OpenLane 2: Next-Generation Silicon Implementation Platform for Highly-Custom Chips
OpenLane 2 reimagines OpenLane not just as a simple implementation flow but as a fully customizable silicon implementation platform. It allows users to write fully custom ASIC implementation steps or flows. OpenLane 2 has been extensively used internally at Efabless and by partners for more complex silicon projects, such as the Tiny Tapeout multiplexer.
We currently recommend OpenLane 2 for educational purposes and for those implementing more complex custom chips, where the OpenLane 1 flow is not sufficiently flexible. For more general use, the OpenLane 1-compatible flow built on OpenLane 2, named "Classic," is available in beta. This is pending further silicon validation and is expected to replace OpenLane 1 in the future.
Features and Benefits
Stability and Flexibility: OpenLane 2 introduces a stable infrastructure that supports the creation of multiple, customizable flows. Whether integrating custom steps or leveraging advanced options for flow control, OpenLane 2 accommodates a wide range of user needs.
Enhanced User Experience: Users benefit from complete configuration validation, more graceful failure handling, and the flexibility to resume workflows from specific stages—enhancing productivity and reducing time to implementation.
Customizability at Its Core: With OpenLane 2, users can write their own steps in Python, create complex flows with decision-making capabilities, and even experiment within Python Notebooks.
How it Works
OpenLane 2 provides a new, clean API for implementing custom flows by reusing execution components known as Steps. Users can construct new flows from both existing and ad-hoc steps, enabling functionality not previously possible in OpenLane. These capabilities include (but are not limited to) implementing highly esoteric implementation steps, creating automatic engineering change orders, and seamlessly integrating open-source and proprietary utilities within the same flow.
Getting Started with OpenLane 2
To check out an example of an OpenLane 2-based flow right in your browser, try the Google Colab™ notebook at
https://colab.research.google.com/github/efabless/openlane2/blob/main/notebook.ipynb
To set up OpenLane 2 on your computer, check out the Getting Started guide at the following link: https://openlane2.readthedocs.io/en/latest/getting_started/index.html
Helpful Links:
Check it out on GitHub! https://github.com/efabless/openlane2
Reference Manual: https://openlane2.readthedocs.io/en/latest/reference/index.html
Additional Material: https://openlane2.readthedocs.io/en/latest/additional_material.html