An infrastructure for implementing chip design flows
Project description
LibreLane is a powerful and versatile infrastructure library that enables the construction of digital implementation flows for application specific integrated circuits (ASICs) based on open-source and commercial electronic design automation (EDA) tools.
LibreLane is:
-
Simple to use – Configure your entire ASIC implementation flow using one file.
-
Free and open source – With a complementary set of open-source process design kits (PDKs), design and implement your chip without signing a single document. Freely modify both the infrastructure, underlying tools, and PDK to fit your needs – you're in control. Not a vendor.
-
Flexible and extensible – Create custom flows, both by simple modifications to the default flows in the configuration file, or by writing Python scripts or plugins to implement advanced functionality.
-
Hermetic – Rewind and explore alternative configurations without losing data; LibreLane captures explicit snapshots of the configuration and state of your design at every step.
-
Reproducible and traceable – LibreLane comes packaged with a verified environment of free EDA utilities with a simple goal in mind: same tools, same flow, same configuration; same result. Capture your modifications and engineering change orders (ECOs) as automated steps, and make your flow your documentation.
LibreLane includes two reference flows (Classic and Chip) that are built
entirely using open-source EDA tools.
You can find the documentation here to get started. You can discuss LibreLane in the FOSSi Chat Matrix Server.
from librelane.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 LibreLane right in your browser, free-of-charge, using Google Colaboratory by following this link.
Installation
You'll need the following:
- Python 3.10 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 librelane in most CLI
invocations.
Python-only Installation (Advanced, Not Recommended)
You'll need to bring your own compiled utilities, but otherwise, simply install LibreLane as follows:
python3 -m pip install --upgrade librelane
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 librelane --pdk-root <path/to/pdk> </path/to/config.json>
To start with, you can try:
python3 -m librelane --pdk-root $HOME/.ciel ./designs/spm/config.json
Publication
If you use LibreLane 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={}}
Contributing
Thank you in advance for considering a contribution to LibreLane!
Please be sure to read our contributor's guide.
[!TIP]
The
mainbranch is the stable branch for LibreLane, i.e., this branch is updated less frequently and only accepts bugfixes.Feature contributions should be directed towards the
devbranch.
License and Legal Info
LibreLane and the LibreLane logo are trademarks of the FOSSi Foundation.
The LibreLane logo was created by Jon Walters.
LibreLane code and binaries are available under
The Apache License, version 2.0,
except Nix-language files ending with .nix, which are available under the
MIT License as published by the
Open Source Initiative.
LibreLane is based on OpenLane 2 by Efabless Corporation (assets owned by UmbraLogic Technologies LLC):
Copyright 2022-2025 UmbraLogic Technologies LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
UmbraLogic Technologies LLC has agreed to relicense all OpenLane 2 Nix code as MIT, for which we are grateful.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file librelane-3.0.1.tar.gz.
File metadata
- Download URL: librelane-3.0.1.tar.gz
- Upload date:
- Size: 307.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02d9b333548023fbcdf30c5277879a2e05bbdc9b7a2990cdacf17c6e59bae252
|
|
| MD5 |
6e38cedad57ee27426a26791e28f95bf
|
|
| BLAKE2b-256 |
c9b4f784b8f4527f13cabb7c5ae1019f9d103f6a3586edea4c1e8ff6155da20e
|
Provenance
The following attestation bundles were made for librelane-3.0.1.tar.gz:
Publisher:
ci.yml on librelane/librelane
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
librelane-3.0.1.tar.gz -
Subject digest:
02d9b333548023fbcdf30c5277879a2e05bbdc9b7a2990cdacf17c6e59bae252 - Sigstore transparency entry: 1188738509
- Sigstore integration time:
-
Permalink:
librelane/librelane@156f82dadc3ac58d958b6d497e5427a63dd59896 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/librelane
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@156f82dadc3ac58d958b6d497e5427a63dd59896 -
Trigger Event:
push
-
Statement type:
File details
Details for the file librelane-3.0.1-py3-none-any.whl.
File metadata
- Download URL: librelane-3.0.1-py3-none-any.whl
- Upload date:
- Size: 423.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92b2fcba4a4480a9c1d429d1391ea0f4deb385fe0a1485553a5a1a2f56e72b73
|
|
| MD5 |
3c02b418094c82069906480df2f14168
|
|
| BLAKE2b-256 |
73a441d26bd5d37d646788c284716c3efceb1bff03589600772c4fa39cbf4ac3
|
Provenance
The following attestation bundles were made for librelane-3.0.1-py3-none-any.whl:
Publisher:
ci.yml on librelane/librelane
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
librelane-3.0.1-py3-none-any.whl -
Subject digest:
92b2fcba4a4480a9c1d429d1391ea0f4deb385fe0a1485553a5a1a2f56e72b73 - Sigstore transparency entry: 1188738526
- Sigstore integration time:
-
Permalink:
librelane/librelane@156f82dadc3ac58d958b6d497e5427a63dd59896 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/librelane
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@156f82dadc3ac58d958b6d497e5427a63dd59896 -
Trigger Event:
push
-
Statement type: