Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

+ Add tt05-i2c-bert ( to CI
~ Replace instances of ABC command `rewrite` with `drw -l` with `SYNTH_ABC_LEGACY_REWRITE` being set to `1` restoring the older functionality (`0` by default)
~ Replace instances of ABC command `refactor` with `drf -l` with `SYNTH_ABC_LEGACY_REFACTOR` being set to `1` restoring the older functionality (`0` by default)
~ Added `delete t:\$print` to `synth.tcl` to fix designs such as PPU with synthesized prints (as in efabless/openlane2#189)


Co-authored-by: Mohamed Gaber <>

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
November 22, 2023 10:46
October 9, 2023 07:48
November 14, 2023 07:53
October 8, 2020 17:56
July 20, 2020 13:03
November 22, 2023 10:46
November 22, 2023 10:46
September 6, 2023 14:48
May 30, 2023 17:44


Open in Colab License: Apache 2.0 GitHub Actions Status Badge Documentation Build Status Badge Invite to the Open Source Silicon Slack Python Code Style: black

OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen, CVC, SPEF-Extractor, KLayout and a number of custom scripts for design exploration and optimization. The flow performs all ASIC implementation steps from RTL all the way down to GDSII.

You can check out the documentation, including in-depth guides and reference manuals at ReadTheDocs.

Banner promoting OpenLane 2

Quick-start Guide

If you just want to try OpenLane out, try this Colaboratory by our friends at Google and ChipsAlliance. It's an online Python-based utility, and the best part is, you don't need to install anything.

Installation, the short version

The short version is, to install the OpenLane environment...

On Windows, install and launch the Windows Subsystem for Linux before doing anything. We recommend and provide instructions for Ubuntu 20.04.

On macOS, get brew.

  1. Get Docker (or a compatible container engine)
  2. Get Python 3.6 or higher (macOS | Ubuntu)
    • On Ubuntu, you may also need to install venv: apt-get install python3-venv
  3. Get git (macOS | Ubuntu)
  4. Get GNU Make (macOS | Ubuntu)

Run the following commands in your command-line prompt:

cd $HOME
git clone
cd OpenLane
make test

If everything's gone smoothly, that's it. OpenLane is set up on your computer. To enter the OpenLane environment, cd $HOME/OpenLane and then make mount.

Installation, the long version

See the installation docs at


After entering the OpenLane environment, you can start hardening chips: the following command, for example, runs the included spm design.

./flow.tcl -design spm

Need more help?

You can join the Open Source Silicon Slack, where you can ask thousands of other open source hardware enthusiasts for help with setting up or running OpenLane.


If you use OpenLane in your research, please cite the following paper.

  • M. Shalan and T. Edwards, “Building OpenLANE: A 130nm OpenROAD-based Tapeout-Proven Flow: Invited Paper,” 2020 IEEE/ACM International Conference On Computer Aided Design (ICCAD), San Diego, CA, USA, 2020, pp. 1-6. Paper
  author={Shalan, Mohamed and Edwards, Tim},
  booktitle={2020 IEEE/ACM International Conference On Computer Aided Design (ICCAD)}, 
  title={Building OpenLANE: A 130nm OpenROAD-based Tapeout- Proven Flow : Invited Paper}, 


The Apache License, version 2.0.

Docker images distributed by Efabless Corporation under the same license.

Binaries in OpenLane distributions may fall under stricter open source licenses.