Skip to main content

Banner explaining that OpenLane 2.0 is not the primary supported option for hardening Caravel User Project-based designs targeting chipIgnite

OpenLane

License: Apache 2.0 Python 3.8 or higher Code Style: black Checked with mypy Built with Nix

Open in Colab Documentation Build Status Badge Invite to the Open Source Silicon Slack

OpenLane is an ASIC infrastructure library based on several components including OpenROAD, Yosys, Magic, Netgen, CVC, KLayout and a number of custom scripts for design exploration and optimization.

A reference flow, "Classic", performs all ASIC implementation steps from RTL all the way down to GDSII.

You can find the documentation here to get started. You can discuss OpenLane 2 in the #openlane-2 channel of the Efabless Open Source Silicon Slack.

timeline
  title The OpenLane Infrastructure
  RTL to Netlist
    : Linting / Verilator
    : Power Distribution Network Hierarchy / Yosys
    : Synthesis / Yosys
    : Synthesis / Design Compiler (with proprietary plugin)
    : Multi-corner Netlist STA / OpenSTA
  Floorplanning
    : Floorplan Initialization / OpenROAD
    : Manual Macro Placement / OpenDB
    : Tap/Endcap Insertion / OpenROAD
    : PDN Generation / OpenROAD
  Placement
    : Pin Placement (from config file) / OpenROAD, OpenDB
    : Pin Placement (Random/Matching/Annealing) / OpenROAD
    : Pin Placement (from template DEF) / OpenDB
    : Global Placement / OpenROAD
    : Resizer Design Repair (Post-GPL) / OpenROAD
    : Detailed Placement / OpenROAD
  Clock Tree Synthesis
    : Clock-Tree Synthesis / OpenROAD
    : Resizer Timing Repair (Post-CTS) / OpenROAD
  Routing
    : Global Routing / OpenROAD
    : Resizer Design Repair (Post-GRT) / OpenROAD
    : Diode Insertion on Ports / OpenDB
    : Heuristic Diode Insertion / OpenDB
    : Antenna Repair / OpenROAD
    : Resizer Timing Repair (Post-GRT) / OpenROAD
    : Detailed Routing / OpenROAD
    : Row Filling / OpenROAD
  Signoff (Timing)
    : Parasitics Extraction / OpenROAD
    : Multi-corner Static Timing Analysis / OpenSTA
    : SI-Enabled Multi-corner Static Timing Analysis / PrimeTime (with proprietary plugin)
  Signoff (Physical)
    : GDSII Stream-Out / Magic
    : GDSII Stream-Out / KLayout
    : Magic vs. KLayout Stream XOR / KLayout
    : Design Rule Checks / Magic
    : Design Rule Checks / KLayout
    : Spice Extraction / Magic
    : Layout vs. Schematic / Netgen
    : Equivalence Check (Alpha) / Yosys EQY

Try it out

You can try OpenLane right in your browser, free-of-charge, using Google Colaboratory by following this link.

Installation

You'll need the following:

  • Python 3.8 or higher with PIP, Venv and Tkinter

Nix (Recommended)

Works for macOS and Linux (x86-64 and aarch64). Recommended, as it is more integrated with your filesystem and overall has less upload and download deltas.

See Nix-based installation in the docs for more info.

Docker

Works for Windows, macOS and Linux (x86-64 and aarch64).

See Docker-based installation in the docs for more info.

Do note you'll need to add --dockerized right after openlane in most CLI invocations.

Python-only Installation (Advanced, Not Recommended)

You'll need to bring your own compiled utilities, but otherwise, simply install OpenLane as follows:

python3 -m pip install --upgrade openlane

Python-only installations are presently unsupported and entirely at your own risk.

Usage

In the root folder of the repository, you may invoke:

python3 -m openlane --pdk-root <path/to/pdk> </path/to/config.json>

To start with, you can try:

python3 -m openlane --pdk-root $HOME/.volare ./designs/spm/config.json

Publication

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
@INPROCEEDINGS{9256623,
  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}, 
  year={2020},
  volume={},
  number={},
  pages={1-6},
  doi={}}

License and Information

The Apache License, version 2.0.

Docker images distributed by Efabless Corporation under the same license.

Binaries bundled with OpenLane either via Cachix or Docker are distributed by Efabless Corporation and may fall under stricter open source licenses.

Release files for openlane 2.3.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openlane 2.3.10
File Size Uploaded
openlane-2.3.10.tar.gz 273.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openlane 2.3.10
File Interpreter ABI Platform
openlane-2.3.10-py3-none-any.whl Python 3 none any Details

Total release size: 651.2 kB

Release files / openlane-2.3.10.tar.gz

Download URL openlane-2.3.10.tar.gz
Size 273.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8293ea36c5df4f599e03979d3b857e6fb6e6c28bf3fee8c4bdfc6956124f8fb9
BLAKE2b-256 checksum
How to use checksums
1ddc29c1417ec5881081afbb6cd3290e700a080cc7d473d3ead9c0eab2cd2f49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release files / openlane-2.3.10-py3-none-any.whl

Download URL openlane-2.3.10-py3-none-any.whl
Size 377.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
83d19d7b9b589c10349576701d0cd69bbed7e8f1ad4ee384b7ff9f4dce2a79ee
BLAKE2b-256 checksum
How to use checksums
8d071fc4901f2aab3801d2fc90085e625aa628a2a1b09a497d64fadac92e3215
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.21

Release history Release notifications | RSS feed

This release

2.3.10 This release

2 release files

2.3.9

2 release files

2.3.8

2 release files

2.3.7

2 release files

2.3.6

2 release files

2.3.5

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.9

2 release files

2.2.8

2 release files

2.2.7

2 release files

2.2.6

2 release files

2.2.5

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.11

2 release files

2.1.10

2 release files

2.1.9

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.10

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page