【Semiconductor】🧰 12. OpenLane1

— Building a Reproducible RTL→GDS Environment with WSL2 + Docker

topics: [“openlane”, “asic”, “eda”, “docker”, “wsl2”]


🧭 Introduction

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.


🧱 What Is OpenLane1? (Assumptions of This Article)

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.


🖥 Assumed Environment (Fixed)

To ensure reproducibility, the following setup is assumed:

macOS or native Linux setups also work,
but are out of scope for this article.


🛠 Prerequisites (Essentials Only)

WSL2

Follow Microsoft’s official documentation for detailed steps.


Docker Desktop

If this is disabled, OpenLane will not run.


📦 Obtaining and Building OpenLane1

All operations are performed inside Ubuntu on WSL2.

cd ~
git clone https://github.com/The-OpenROAD-Project/OpenLane.git
cd OpenLane
make

✅ Verification (Most Important Step)

Always run make test.

make test

What make test Means

This 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.


🎯 First Success Experience (GDS Generation)

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.


⚠ Common Pitfalls (Typical Cases)

Docker / WSL2 Issues


File Location



🧠 Why Start with OpenLane1?

OpenLane1 excels because:

OpenLane1 is not just an EDA tool—
it is educational infrastructure for completing a full design loop.


🚀 Next Steps

In the next article, we will address:

Why OpenLane2 exists as a separate lineage at all

from a design-philosophy perspective.


📝 Summary

First, run the loop once.