openlane


Nameopenlane JSON
Version 2.0.3 PyPI version JSON
download
home_pageNone
SummaryAn infrastructure for implementing chip design flows
upload_time2024-04-24 18:30:23
maintainerNone
docs_urlNone
authorEfabless Corporation and Contributors
requires_python>3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center">OpenLane</h1>
<p align="center">
    <a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License: Apache 2.0"/></a>
    <a href="https://www.python.org"><img src="https://img.shields.io/badge/Python-3.8-3776AB.svg?style=flat&logo=python&logoColor=white" alt="Python 3.8 or higher" /></a>
    <a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg" alt="Code Style: black"/></a>
    <a href="https://mypy-lang.org/"><img src="https://www.mypy-lang.org/static/mypy_badge.svg" alt="Checked with mypy"/></a>
    <a href="https://nixos.org/"><img src="https://img.shields.io/static/v1?logo=nixos&logoColor=white&label=&message=Built%20with%20Nix&color=41439a" alt="Built with Nix"/></a>
</p>
<p align="center">
    <a href="https://colab.research.google.com/github/efabless/openlane2/blob/main/notebook.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open in Colab"></a>
    <a href="https://openlane2.readthedocs.io/"><img src="https://readthedocs.org/projects/openlane2/badge/?version=latest" alt="Documentation Build Status Badge"/></a>
    <a href="https://open-source-silicon.dev"><img src="https://img.shields.io/badge/Community-Open%20Source%20Silicon%20Slack-ff69b4?logo=slack" alt="Invite to the Open Source Silicon Slack"/></a>
</p>

OpenLane is an ASIC 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, "Classic", performs all ASIC implementation steps from RTL all
the way down to GDSII.

You can find the documentation
[here](https://openlane2.readthedocs.io/en/latest/getting_started/) to get
started. You can discuss OpenLane 2 in the
[#openlane-2](https://open-source-silicon.slack.com/archives/C05M85Q5GCF)
channel of the
[Efabless Open Source Silicon Slack](https://invite.skywater.tools).

> OpenLane 2 is generally available for educators and for those implementing
> complex chips requiring custom implementation steps for which OpenLane 1 is
> not sufficiently flexible.
>
> If you're looking to implement a project for the OpenMPW or chipIgnite
> shuttles, we recommend
> [OpenLane 1](https://github.com/The-OpenROAD-Project/OpenLane) at this time.

```python
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**](https://colab.research.google.com/github/efabless/openlane2/blob/main/notebook.ipynb).

## 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](https://openlane2.readthedocs.io/en/latest/getting_started/common/nix_installation/index.html)
in the docs for more info.

### Docker

Works for Windows, macOS and Linux (x86-64 and aarch64).

See
[Docker-based installation](https://openlane2.readthedocs.io/en/latest/getting_started/common/docker_installation/index.html)
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:

```sh
python3 -m pip install --upgrade openlane
```

## Usage

In the root folder of the repository, you may invoke:

```sh
python3 -m openlane --pdk-root <path/to/pdk> </path/to/config.json>
```

To start with, you can try:

```sh
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](https://ieeexplore.ieee.org/document/9256623)

```bibtex
@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](https://www.apache.org/licenses/LICENSE-2.0.txt).

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.



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "openlane",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Efabless Corporation and Contributors",
    "author_email": "donn@efabless.com",
    "download_url": "https://files.pythonhosted.org/packages/2d/b6/cb2d1a4a2a09971b7c592f540160b093063f0a1646b58925cb2de4a30985/openlane-2.0.3.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\">OpenLane</h1>\n<p align=\"center\">\n    <a href=\"https://opensource.org/licenses/Apache-2.0\"><img src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\" alt=\"License: Apache 2.0\"/></a>\n    <a href=\"https://www.python.org\"><img src=\"https://img.shields.io/badge/Python-3.8-3776AB.svg?style=flat&logo=python&logoColor=white\" alt=\"Python 3.8 or higher\" /></a>\n    <a href=\"https://github.com/psf/black\"><img src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" alt=\"Code Style: black\"/></a>\n    <a href=\"https://mypy-lang.org/\"><img src=\"https://www.mypy-lang.org/static/mypy_badge.svg\" alt=\"Checked with mypy\"/></a>\n    <a href=\"https://nixos.org/\"><img src=\"https://img.shields.io/static/v1?logo=nixos&logoColor=white&label=&message=Built%20with%20Nix&color=41439a\" alt=\"Built with Nix\"/></a>\n</p>\n<p align=\"center\">\n    <a href=\"https://colab.research.google.com/github/efabless/openlane2/blob/main/notebook.ipynb\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open in Colab\"></a>\n    <a href=\"https://openlane2.readthedocs.io/\"><img src=\"https://readthedocs.org/projects/openlane2/badge/?version=latest\" alt=\"Documentation Build Status Badge\"/></a>\n    <a href=\"https://open-source-silicon.dev\"><img src=\"https://img.shields.io/badge/Community-Open%20Source%20Silicon%20Slack-ff69b4?logo=slack\" alt=\"Invite to the Open Source Silicon Slack\"/></a>\n</p>\n\nOpenLane is an ASIC infrastructure library based on several components including\nOpenROAD, Yosys, Magic, Netgen, CVC, KLayout and a number of custom scripts for\ndesign exploration and optimization.\n\nA reference flow, \"Classic\", performs all ASIC implementation steps from RTL all\nthe way down to GDSII.\n\nYou can find the documentation\n[here](https://openlane2.readthedocs.io/en/latest/getting_started/) to get\nstarted. You can discuss OpenLane 2 in the\n[#openlane-2](https://open-source-silicon.slack.com/archives/C05M85Q5GCF)\nchannel of the\n[Efabless Open Source Silicon Slack](https://invite.skywater.tools).\n\n> OpenLane 2 is generally available for educators and for those implementing\n> complex chips requiring custom implementation steps for which OpenLane 1 is\n> not sufficiently flexible.\n>\n> If you're looking to implement a project for the OpenMPW or chipIgnite\n> shuttles, we recommend\n> [OpenLane 1](https://github.com/The-OpenROAD-Project/OpenLane) at this time.\n\n```python\nfrom openlane.flows import Flow\n\nClassic = Flow.factory.get(\"Classic\")\n\nflow = Classic(\n    {\n        \"PDK\": \"sky130A\",\n        \"DESIGN_NAME\": \"spm\",\n        \"VERILOG_FILES\": [\"./src/spm.v\"],\n        \"CLOCK_PORT\": \"clk\",\n        \"CLOCK_PERIOD\": 10,\n    },\n    design_dir=\".\",\n)\n\nflow.start()\n```\n\n## Try it out\n\nYou can try OpenLane right in your browser, free-of-charge, using Google\nColaboratory by following\n[**this link**](https://colab.research.google.com/github/efabless/openlane2/blob/main/notebook.ipynb).\n\n## Installation\n\nYou'll need the following:\n\n* Python **3.8** or higher with PIP, Venv and Tkinter\n\n### Nix (Recommended)\n\nWorks for macOS and Linux (x86-64 and aarch64). Recommended, as it is more\nintegrated with your filesystem and overall has less upload and download deltas.\n\nSee\n[Nix-based installation](https://openlane2.readthedocs.io/en/latest/getting_started/common/nix_installation/index.html)\nin the docs for more info.\n\n### Docker\n\nWorks for Windows, macOS and Linux (x86-64 and aarch64).\n\nSee\n[Docker-based installation](https://openlane2.readthedocs.io/en/latest/getting_started/common/docker_installation/index.html)\nin the docs for more info.\n\nDo note you'll need to add `--dockerized` right after `openlane` in most CLI\ninvocations.\n\n### Python-only Installation (Advanced)\n\nYou'll need to bring your own compiled utilities, but otherwise, simply install\nOpenLane as follows:\n\n```sh\npython3 -m pip install --upgrade openlane\n```\n\n## Usage\n\nIn the root folder of the repository, you may invoke:\n\n```sh\npython3 -m openlane --pdk-root <path/to/pdk> </path/to/config.json>\n```\n\nTo start with, you can try:\n\n```sh\npython3 -m openlane --pdk-root $HOME/.volare ./designs/spm/config.json\n```\n\n## Publication\n\nIf you use OpenLane in your research, please cite the following paper.\n\n* M. Shalan and T. Edwards, \u201cBuilding OpenLANE: A 130nm OpenROAD-based\n  Tapeout-Proven Flow: Invited Paper,\u201d *2020 IEEE/ACM International Conference\n  On Computer Aided Design (ICCAD)*, San Diego, CA, USA, 2020, pp. 1-6.\n  [Paper](https://ieeexplore.ieee.org/document/9256623)\n\n```bibtex\n@INPROCEEDINGS{9256623,\n  author={Shalan, Mohamed and Edwards, Tim},\n  booktitle={2020 IEEE/ACM International Conference On Computer Aided Design (ICCAD)}, \n  title={Building OpenLANE: A 130nm OpenROAD-based Tapeout- Proven Flow : Invited Paper}, \n  year={2020},\n  volume={},\n  number={},\n  pages={1-6},\n  doi={}}\n```\n\n## License\n\n[The Apache License, version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt).\n\nDocker images distributed by Efabless Corporation under the same license.\n\nBinaries bundled with OpenLane either via Cachix or Docker are distributed by\nEfabless Corporation and may fall under stricter open source licenses.\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "An infrastructure for implementing chip design flows",
    "version": "2.0.3",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f79b7d7595bc34cad6848d2ceb5d5fdc97b1b12bcbf074019ac7f213b600e866",
                "md5": "4a776a2290fd0f796d0eccb89cbdb17b",
                "sha256": "c08a6eec7b4b4d5c2407fe765f35563bb590547c991bd6340c0fe42dda10c996"
            },
            "downloads": -1,
            "filename": "openlane-2.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4a776a2290fd0f796d0eccb89cbdb17b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">3.8",
            "size": 358441,
            "upload_time": "2024-04-24T18:30:19",
            "upload_time_iso_8601": "2024-04-24T18:30:19.923843Z",
            "url": "https://files.pythonhosted.org/packages/f7/9b/7d7595bc34cad6848d2ceb5d5fdc97b1b12bcbf074019ac7f213b600e866/openlane-2.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2db6cb2d1a4a2a09971b7c592f540160b093063f0a1646b58925cb2de4a30985",
                "md5": "cfcb93c6e6b3f01d2274eb2e8e20339c",
                "sha256": "70ce6abfd986438042fc2583d68fb249329e1c2c0de9edc7be71d6325aeb09b6"
            },
            "downloads": -1,
            "filename": "openlane-2.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "cfcb93c6e6b3f01d2274eb2e8e20339c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">3.8",
            "size": 261237,
            "upload_time": "2024-04-24T18:30:23",
            "upload_time_iso_8601": "2024-04-24T18:30:23.951463Z",
            "url": "https://files.pythonhosted.org/packages/2d/b6/cb2d1a4a2a09971b7c592f540160b093063f0a1646b58925cb2de4a30985/openlane-2.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-24 18:30:23",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "openlane"
}
        
Elapsed time: 0.26829s