OpenLane-Lite
Minimal educational version of the OpenLane RTL-to-GDSII flow.
OpenLane-Lite is a simplified, lightweight environment designed for education, training, and conceptual understanding of the ASIC physical design flow.
It preserves the core essence of OpenLane while removing heavy components such as full PDKs and industrial-scale flow automation.
Links
| Language | GitHub Pages π | GitHub π» |
|---|---|---|
| πΊπΈ English |
π― Purpose
This repository is intended for:
- Students and engineers learning digital physical design
- Lightweight experimentation without a full PDK installation
- Demonstrating the RTL β Synthesis β APR β GDSII pipeline
- Running inside WSL2 or Docker with minimal setup
This project does not replace the official OpenLane toolchain;
instead, it provides a small, easy-to-run sandbox suitable for learning and prototyping.
π β NEW (Dec 2025) β Verified GDSII Output Generation
This repository has been successfully validated by producing a full GDSII layout using the sample design spm.
β Verification Conditions
- Environment: WSL2 (Ubuntu-20.04)
- Runner: Docker-based OpenLane container β commit
a35b64a - PDK: sky130A enabled via
volare enable 0fe599b2afb6... - Flow: Full RTL β Synthesis β Floorplan β APR β Signoff β GDS
β Result
The following GDS was generated without errors:
spm.gds
The GDS has been visually verified in KLayout, confirming:
- Standard-cell placement
- Global & detailed routing
- PDN rails
- IO placement
- Final DRC/LVS/ANT checks all clean
This confirms that OpenLane-Lite is a fully functional minimal learning flow that can execute a complete ASIC physical design pipeline.
π¦ Repository Contents
OpenLane-Lite/
βββ config/ # Minimal example config for the flow
β βββ config.tcl
β
βββ designs/
β βββ example_inv/ # Simple inverter sample design
β βββ src/
β βββ sim/
β βββ inv.v
β
βββ docker/
β βββ Dockerfile
β βββ run_in_docker.sh # Start flow inside container
β
βββ docs/
β βββ wsl2_setup.md
β βββ usage.md
β
βββ scripts/
β βββ run_flow.sh # Main script for launching the mini-flow
β
βββ spm.gds # Verified GDS output (Dec 2025)
βββ README.md
β¨ Features
- β Minimal, easy-to-understand OpenLane-like flow
- β Standalone example design (inverter)
- β Docker-based execution for consistency
- β WSL2 support (Ubuntu recommended)
- β Very small footprint for teaching and experimentation
- β Verified to generate GDSII using
spm(Dec 2025)
π Why OpenLane-Lite Is Valuable for Learning
OpenLane-Lite provides a complete miniaturized ASIC design experience without requiring a full industrial setup.
Despite being lightweight, the flow allows users to:
- β Inspect real chip layouts (GDSII) using KLayout
- β Verify digital logic behavior through Verilog testbenches
- β View waveforms interactively with GTKWave
- β Follow the full RTL β Synthesis β APR β GDSII cycle in a minimal environment
- β Run entirely on WSL2 or Docker with almost no setup effort
This makes OpenLane-Lite an ideal platform for:
- Education & training
- University coursework
- Hackathons & workshops
- Self-study and experimentation
- Research prototypes
- In short, you can learn the entire ASIC design flow β from logic simulation to physical layout β in a compact, easy-to-run sandbox.
β This repository intentionally excludes:
These components are not provided, by design, to maintain lightweight operation:
- β PDKs
- β Toolchain binaries from OpenLane
- β Full APR flow automation
- β Run artifacts (logs, reports, DEF, etc.) except spm.gds
- β Machine-specific settings
Users must install their own PDK if they wish to run full backend flows.
π Getting Started
1. Clone the repository
git clone https://github.com/Samizo-AITL/SemiDevKit.git cd SemiDevKit/openlane/openlane-lite
π³ Option A β Run using Docker (Recommended)
cd docker ./run_in_docker.sh
This launches a clean minimal environment sufficient for educational usage.
πͺ Option B β Run inside WSL2
See:
docs/wsl2_setup.md
βΆ Running the Flow
Inside Docker or WSL2:
./scripts/run_flow.sh
This performs:
- RTL import
- Minimal synthesis
- Floorplan
- APR (simplified)
- Final layout steps
π§ͺ Example Design: Inverter
designs/example_inv/
Useful for:
- hierarchy understanding
- verifying RTL β netlist
- small-scale APR experiments
π Documentation
Located in the /docs directory:
- wsl2_setup.md β Setup instructions for WSL2
- usage.md β How to run the flow
More educational materials may be added.
OpenLane-Lite GDS Layout (KLayout View)
The following images show the physical layout generated by the OpenLane-Lite implementation in SemiDevKit.
β Full Standard-Cell Layout

This view shows the full placed-and-routed standard cell array.
β Diffusion + Poly Layer View

This layer view highlights transistor active regions (diffusion) and gate structures (poly), allowing users to understand MOSFET-level placement inside the standard cells.
βΆ GTKWave View (RTL Simulation Output)
The following screenshot shows the inv_tb.vcd waveform displayed in GTKWave,
generated from the example inverter testbench.

π License
- Source code & scripts: MIT License
- Documentation: CC BY 4.0
- Figures / diagrams: CC BY-NC 4.0
π€ Acknowledgements
This project draws inspiration from the official OpenLane toolchain:
https://github.com/The-OpenROAD-Project/OpenLane/
OpenLane-Lite is an independent educational project,
not affiliated with the original authors.
π€ Author
| π Item | Details |
|---|---|
| Name | Shinichi Samizo |
| GitHub |