• Stars
    star
    205
  • Rank 191,264 (Top 4 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created almost 2 years ago
  • Updated 26 days ago

Reviews

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

Repository Details

The next generation of OpenLane, rewritten from scratch with a modular architecture

OpenLane 2.0.0 is in beta. APIs have mostly stabilized, but some oddities are still to be expected. Proceed with caution.

If you don't know why you're here, you're probably looking for the stable version of OpenLane at https://github.com/The-OpenROAD-Project/OpenLane.

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 a RTL to GDSII 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 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.

from openlane.flows import Flow

Classic = Flow.factory.get("Classic")

flow = Classic(
    {
        "PDK": "sky130A",
        "DESIGN_NAME": "spm",
        "VERILOG_FILES": ["./src/spm.v"],
        "CLOCK_PORT": "clk",
        "CLOCK_PERIOD": 10,
    },
    design_dir=".",
)

flow.start()

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)

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

python3 -m pip install --upgrade openlane

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

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.

More Repositories

1

caravel

Caravel is a standard SoC harness with on chip resources to control and read/write operations from a user-dedicated space.
Verilog
255
star
2

raven-picorv32

Silicon-validated SoC implementation of the PicoSoc/PicoRV32
Verilog
254
star
3

caravel_user_project

https://caravel-user-project.readthedocs.io
Verilog
165
star
4

caravel_mpw-one

Caravel is a standard SoC hardness with on chip resources to control and read/write operations from a user-dedicated space.
Verilog
133
star
5

chipignite-resources

63
star
6

volare

Version manager (and builder) for the Google sky130 and gf180mcu open-source PDKs
Python
63
star
7

foss-asic-tools

FOSS-ASIC-TOOLS is all in one container for SKY130 based design both Analog and Digital. Below is a list of the current tools already installed and ready to use.
Tcl
59
star
8

clear

Verilog
57
star
9

cace

Circuit Automatic Characterization Engine
Python
45
star
10

caravel_user_project_analog

Verilog
42
star
11

sky130_sram_macros_old

SourcePawn
35
star
12

mpw_precheck

Python
34
star
13

chipcraft---mest-course

TL-Verilog
29
star
14

caravel_board

C
28
star
15

proton

Perl
28
star
16

caravel_mgmt_soc_litex

https://caravel-mgmt-soc-litex.readthedocs.io/en/latest/
Verilog
25
star
17

sky130_klayout_pdk

Skywaters 130nm Klayout PDK
Python
17
star
18

caravel-lite

Verilog
16
star
19

ipm

Open-source IPs Package Manager (IPM)
Python
14
star
20

raptor

Arm Cortex-M0 based Customizable SoC for IoT Applications
Assembly
12
star
21

raptor_soc_template

Raptor is an SoC Design Template based on Arm Cortex M0 or M3 core.
Verilog
12
star
22

clear_old

CLEAR is an Open Source FPGA ASIC delivered to you on its development board and its open source software development tools and all the ASIC design tools used to create it.
Verilog
10
star
23

ravenna

32-bit RISC-V microcontroller
C
9
star
24

caravel-gf180mcu

This repository is the GF180MCU port of Caravel. For more information about Caravel, see the original repo at https://github.com/efabless/caravel.
Verilog
8
star
25

nix-eda

Nix derivations for EDA tools
Nix
6
star
26

EF_PSRAM_CTRL

A Quad I/O SPI Pseudo Static RAM (PSRAM) Controller
Verilog
6
star
27

openrcx-calibration

Verilog
5
star
28

timer-tutorial

Source files for the timer-tutorial
Tcl
4
star
29

BusWrap

Python
4
star
30

Caravel_on_FPGA

Verilog
4
star
31

openfpga-2

Verilog
3
star
32

EF_UART

Universal Asynchronous Receiver/Transmitter (UART) with FIFOs Soft IP
Verilog
3
star
33

arduino-greenpak-shield

Shield for the GreenPak SLG468X chipset
Python
3
star
34

caravel_mini

Multi-Project Support for Caravel
Verilog
3
star
35

EF_TCC32

A 32-bit Timer/Counter/Capture Soft IP (Verilog)
Verilog
3
star
36

EF_LDOR1V8

Open Source, 3.3 V to 1.8 V, 100 mA Full Regulator
Python
3
star
37

openlane-ci-designs

Verilog
3
star
38

EF_SRAM_1024x32

Verilog
3
star
39

caravel_user_mini

Verilog
2
star
40

strive

Python
2
star
41

caravel_SI_testing

C
2
star
42

nm

Verilog
2
star
43

nldiff

Simple netlist comparison utility
Python
2
star
44

caravel_ibex

An example project that utilizes caravel user space for an ibex based SoC
Verilog
2
star
45

dockerized-verification-setup

This is a dockerized tool chain for running verilog DV customized for the sky130A-based projects.
Dockerfile
2
star
46

sram_macro_16KB

Verilog
2
star
47

sak-deprecated

SAK = Swiss Army Knife - Various scripts and utilities around popular FOSS EDA
Python
2
star
48

EF_UVM

Python
2
star
49

caravel_user_sram

Verilog
2
star
50

bwrap_devshell

Tarball a @numtide/devshell and bubblewrap it
Python
1
star
51

grapevine

Verilog
1
star
52

libparse-python

Python wrapper around Yosys's `libparse` module
C++
1
star
53

tinyfpga_rsa_demo

Coq
1
star
54

sky130_pa_ip__instramp

Instrumentation amplifier in sky130 by Phil Allen
1
star
55

EF_QSPI_XIP_CTRL

A QSPI XiP Flash Controller with a Direct Mapped Cache
Verilog
1
star
56

EF_eFPGA

Embedded FPGA IP
Verilog
1
star
57

EF_GPIO8

A generic 8-bit General Purpose I/O (GPIO) Peripheral
Verilog
1
star
58

tt-fpga-hdl-demo

TL-Verilog
1
star
59

silkflow-examples

Symbiflow Examples with a Silkflow flavor
Verilog
1
star
60

web_app_example

HTML
1
star
61

tinytapeout-rca

Verilog
1
star
62

open_pdk_techfiles

1
star
63

caravel_openlane

Dockerfile
1
star
64

silkflow

More straightforward utility for Symbiflow
Python
1
star
65

website_issues

1
star
66

clock-mesh-analysis

Verilog
1
star
67

utilities

A repo for various EDA related utilities
Python
1
star
68

drc-magic

Python
1
star
69

litex_ibex

Verilog
1
star
70

openram_tc_1kb

1
star
71

caravel_fasoc

Verilog
1
star
72

caravel-sim-infrastructure

HTML
1
star
73

tt-fpga-demo

Tcl
1
star
74

lef_parser

[WIP] Antlr4-based parser for LEF files
Python
1
star
75

OL-DFFRAM

Pre-hardened DFFRAM macros using DFFRAM
Verilog
1
star
76

caravel_aes_example

A user project example for caravel that uses https://github.com/secworks/aes
Verilog
1
star