topics: [“openlane”, “asic”, “eda”, “docker”, “wsl2”]
OpenLane is an open-source ASIC design flow
that enables an end-to-end process from RTL to GDSII.
However, the first and most common hurdle is always
environment setup.
This article deliberately narrows the objective:
Before trying to “understand” OpenLane,
first make it run all the way to the end once.
To achieve that, we focus on OpenLane1 (Docker-based)
and explain how to set up a reproducible environment.
There are currently two major OpenLane lineages:
This article covers OpenLane1 only.
Key characteristics of OpenLane1:
👉 Chosen to prioritize understanding the design flow, not the environment itself.
To ensure reproducibility, the following setup is assumed:
macOS or native Linux setups also work,
but are out of scope for this article.
Follow Microsoft’s official documentation for detailed steps.
If this is disabled, OpenLane will not run.
All operations are performed inside Ubuntu on WSL2.
cd ~
git clone https://github.com/The-OpenROAD-Project/OpenLane.git
cd OpenLane
make
Always run make test.
make test
make test MeansThis checks whether:
can all launch and execute successfully.
If this step fails,
OpenLane cannot be used in that environment.
Do not proceed—fix the environment first.
Once the test passes, run a sample design.
make mount
Inside the container:
cd designs/spm
flow.tcl -interactive
Run the flow to completion and confirm that
a GDS file is generated under the runs/ directory.
Note: sample designs and exact steps may vary
depending on the OpenLane version.
Always consult the official README as well.
OpenLane1 excels because:
OpenLane1 is not just an EDA tool—
it is educational infrastructure for completing a full design loop.
In the next article, we will address:
Why OpenLane2 exists as a separate lineage at all
from a design-philosophy perspective.
make test is the minimum requirementFirst, run the loop once.