Skip to main content

An infrastructure for implementing chip design flows

Project description

Efabless 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 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

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.

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

Works for Windows, macOS and Linux. Easier to set up, but less integrated with your filesystem. Recommended for general users.

See Docker-based installation in the docs.

Nix

Works for macOS and Linux. A bit more complex to set up, but more integrated with your filesystem and overall less upload and download deltas.

See Nix-based installation in the docs.

Conda

TBA

Python-only Installation

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

python3 -m pip install --upgrade openlane

To quickly test your installation, run openlane --smoke-test. This may take up to 10 minutes depending on your computer's speed and internet connection.

Troubleshooting

With a typical Python 3.8 or higher installation with PIP, installing OpenLane is usually as simple as a pip install.

Despite that, there are some peculiarities with PIP itself: For example, you may see a warning among these lines:

  WARNING: The script openlane is installed in '/home/test/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

The solution is as simple as adding something like this to your shell's profile:

export PATH="/home/test/.local/bin:$PATH"

Do note that the path (/home/test/.local/bin in this example) varies depending on your operating system and version of Python you install, and whether you use sudo (absolutely not recommended) or not, so ensure that you actually read the warning and add the correct path.

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.0a8.tar.gz (126.8 kB view hashes)

Uploaded Source

Built Distribution

openlane-2.0.0a8-py3-none-any.whl (198.2 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