Skip to main content

An infrastructure for implementing chip design flows

Project description

OpenLane 2 is in early access and all APIs are, presently, highly unstable and subject to change without notice. If you don't know why you're here, you're probably looking for the previous version of OpenLane at https://github.com/The-OpenROAD-Project/OpenLane.

OpenLane

License: Apache 2.0 Documentation Build Status Badge Python 3.8 or higher Code Style: black Checked with mypy Built with Nix 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, SPEF-Extractor, 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.

from openlane import Flow

Classic = Flow.get("Classic")

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

flow.start()

Installation

Binary Dependencies

You'll need the following:

Docker

TBD

Conda

TBD

Nix

  • Install Nix. [Package manager. Takes around 3 minutes.]
    • On Linux, invoke sh <(curl -L https://nixos.org/nix/install) --daemon and follow the instructions.
    • On Mac, invoke sh <(curl -L https://nixos.org/nix/install) and follow the instructions.
  • Install Cachix. [Binary caching tool. Takes around a minute.]
    • nix-env -iA cachix -f https://cachix.org/api/v1/install
  • Set up the OpenLane Cachix [Package manager. Takes around a minute.]
    • cachix use openlane
    • You may see a message about your user not being trusted. In that case, it will print out a command. Please run that command then re-run cachix use openlane.

That's it. Whenever you want to use OpenLane, nix-shell in the repository root directory and you'll have a full OpenLane environment. The first time might take around 10 minutes while binaries are pulled from the cache.

To quickly test your installation, simply run openlane --smoke-test.

Other Methods

You'll need to bring your own compiled tools.

To set up the Python deps, simply type make venv to create a virtual environment with all the Python dependencies installed. To activate the virtual environment, type source ./venv/bin/activate in your terminal.

Usage

In the root folder of the repository with the VENV activated, you may invoke:

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

To start with, you can try:

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openlane-2.0.0a1.tar.gz (126.0 kB view hashes)

Uploaded Source

Built Distribution

openlane-2.0.0a1-py3-none-any.whl (195.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page