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.


Language GitHub Pages 🌐 GitHub πŸ’»
πŸ‡ΊπŸ‡Έ English GitHub Pages EN GitHub Repo EN

🎯 Purpose

This repository is intended for:

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

βœ” Result

The following GDS was generated without errors:

spm.gds

The GDS has been visually verified in KLayout, confirming:

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


πŸŽ‰ 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:

This makes OpenLane-Lite an ideal platform for:


❌ This repository intentionally excludes:

These components are not provided, by design, to maintain lightweight operation:

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


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:

  1. RTL import
  2. Minimal synthesis
  3. Floorplan
  4. APR (simplified)
  5. Final layout steps

πŸ§ͺ Example Design: Inverter

designs/example_inv/

Useful for:


πŸ“˜ Documentation

Located in the /docs directory:

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


🀝 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 GitHub