• Stars
    star
    1,337
  • Rank 35,156 (Top 0.7 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen and custom methodology scripts for design exploration and optimization.

OpenLane

Open in Colab License: Apache 2.0 GitHub Actions Status Badge Documentation Build Status Badge Invite to the Open Source Silicon Slack Python Code Style: black

OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen, CVC, SPEF-Extractor, KLayout and a number of custom scripts for design exploration and optimization. The flow performs all ASIC implementation steps from RTL all the way down to GDSII.

You can check out the documentation, including in-depth guides and reference manuals at ReadTheDocs.

Quick-start Guide

If you just want to try OpenLane out, try this Colaboratory by our friends at Google and ChipsAlliance. It's an online Python-based utility, and the best part is, you don't need to install anything.

Installation, the short version

The short version is, to install the OpenLane environment...

On Windows, install and launch the Windows Subsystem for Linux before doing anything. We recommend and provide instructions for Ubuntu 20.04.

On macOS, get brew.

  1. Get Docker (or a compatible container engine)
  2. Get Python 3.6 or higher (macOS | Ubuntu)
    • On Ubuntu, you may also need to install venv: apt-get install python3-venv, and pip: apt-get install python3-pip.
  3. Get git (macOS | Ubuntu)
  4. Get GNU Make (macOS | Ubuntu)

Run the following commands in your command-line prompt:

cd $HOME
git clone https://github.com/The-OpenROAD-Project/OpenLane
cd OpenLane
make
make test

If everything's gone smoothly, that's it. OpenLane is set up on your computer. To enter the OpenLane environment, cd $HOME/OpenLane and then make mount.

Installation, the long version

See the installation docs at https://openlane.readthedocs.io/en/latest/getting_started/installation/index.html.

Usage

After entering the OpenLane environment, you can start hardening chips: the following command, for example, runs the included spm design.

./flow.tcl -design spm

Need more help?

You can join the Open Source Silicon Slack, where you can ask thousands of other open source hardware enthusiasts for help with setting up or running OpenLane.

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

The Apache License, version 2.0.

Docker images distributed by Efabless Corporation under the same license.

Binaries in OpenLane distributions may fall under stricter open source licenses.

More Repositories

1

OpenROAD

OpenROAD's unified application implementing an RTL-to-GDS Flow. Documentation at https://openroad.readthedocs.io/en/latest/
Verilog
1,513
star
2

OpenSTA

OpenSTA engine
C++
343
star
3

OpenROAD-flow-scripts

OpenROAD's scripts implementing an RTL-to-GDS Flow. Documentation at https://openroad-flow-scripts.readthedocs.io/en/latest/
Verilog
268
star
4

RePlAce

RePlAce global placement tool
Verilog
206
star
5

OpenDB

Database and Tool Framework for EDA
C++
94
star
6

OPENROAD_USERS_READ_ME_FIRST

OpenROAD users should look at this repository first for instructions on getting started
84
star
7

TritonRoute

UCSD Detailed Router
C++
79
star
8

alpha-release

Builds, flow and designs for the alpha release
Verilog
54
star
9

DAC-2020-Tutorial

Material for OpenROAD Tutorial at DAC 2020
Python
45
star
10

TritonCTS

Source codes and calibration scripts for clock tree synthesis
C++
37
star
11

OpeNPDN

Public repository for Task 6 of OpenROAD project. ML-based PDN synthesis and optimization.
Python
31
star
12

SA-PCB

Annealing-based PCB placement tool
C++
29
star
13

TritonMacroPlace

Macro placement tool for OpenROAD flow
C++
20
star
14

asap7

20
star
15

PcbRouter

C++
19
star
16

asap5

Perl
18
star
17

TritonSizer

UCSD Sizer for leakage/dynamic power recovery, timing recovery
C++
17
star
18

OpenLane-MPW-CI

Shell
15
star
19

OpenRCX

C++
15
star
20

KicadParser

C++
11
star
21

PCB-PR-App

Python
11
star
22

Birds-of-a-Feather-Open-Source-Academic-EDA-Software

Welcome to Birds-of-a-Feather: Open-Source-Academic-EDA-Software !
11
star
23

OpenROAD-Cloud

The source code that empowers OpenROAD Cloud
10
star
24

PDNSim

Power grid analysis
Verilog
10
star
25

PD-Rev

Prim-Dijkstra Revisited
C++
6
star
26

megaboom

SystemVerilog
6
star
27

tapcell

Welltap and endcap cell insertion project for PDN Task 8 of OpenROAD
Tcl
4
star
28

AutoCellGen

C++
4
star
29

PcbDecompaction

C++
3
star
30

security

Python
1
star
31

actions

Python
1
star
32

actions-test

Verilog
1
star