Skip to main content

A sky130 PDK builder/version manager

Project description

⛰️ Volare

License: Apache 2.0 CI Status Invite to the Skywater PDK Slack Code Style: Black

Volare is a version manager (and builder) for the builds of the Google/Skywater sky130 PDK using open_pdks.

Requirements

  • Python 3.6+ with PIP

Installation

python3 -m pip install --upgrade --no-cache-dir volare

About the builds

In its current inception, volare supports builds of the sky130 PDK using Open_PDKs, including the following libraries:

  • sky130_fd_io
  • sky130_fd_pr
  • sky130_fd_sc_hd
  • sky130_fd_sc_hvl
  • sky130 sram modules

All PDKs are identified by their open_pdks version.

Usage

Volare requires a so-called PDK Root. This PDK root can be anywhere on your computer, but by default it's the folder ~/.volare in your home directory. If you have the variable PDK_ROOT set, volare will use that instead. You can also manually override both values by supplying the --pdk-root commandline argument.

Listing Installed PDKs

Simply typing volare in the terminal shows you your PDK Root and the PDKs you currently have installed.

$ volare
/home/test/.volare
├── 5890e791e37699239abedfd2a67e55162e25cd94 (enabled)
├── 660c6bdc8715dc7b3db95a1ce85392bbf2a2b195
├── 05af1d05227419f0955cd98610351f4680575b95
└── 8fe7f760ece2bb49b1c310e60243f0558977dae5

Listing All Available PDKs

To list all available pre-built PDKs, you can just invoke volare list.

$ volare list
Pre-built PDKs
├── 8fe7f760ece2bb49b1c310e60243f0558977dae5 (installed)
├── 7519dfb04400f224f140749cda44ee7de6f5e095
├── 660c6bdc8715dc7b3db95a1ce85392bbf2a2b195 (installed)
├── 5890e791e37699239abedfd2a67e55162e25cd94 (enabled)
└── 05af1d05227419f0955cd98610351f4680575b95 (installed)

Downloading and Enabling PDKs

You can enable a particular sky130 PDK by invoking volare enable <open_pdks version>. This will automatically download that particular version of the PDK, if found, and set it as your currently used PDK.

For example, to enable open_pdks 7519dfb04400f224f140749cda44ee7de6f5e095, you invoke volare enable 7519dfb04400f224f140749cda44ee7de6f5e095, as shown below:

$ volare enable 7519dfb04400f224f140749cda44ee7de6f5e095
Downloading pre-built tarball for 7519dfb04400f224f140749cda44ee7de6f5e095… ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Unpacking…                                                                  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
PDK version 7519dfb04400f224f140749cda44ee7de6f5e095 enabled.

What's more is: if you're using a repository with a tool_metadata.yml file, such as OpenLane or DFFRAM, you can just invoke volare enable without any arguments and Volare will automatically infer the version you're looking folder.

Building PDKs

For special cases, i.e. you require other libraries, you'll have to build the PDK yourself, which Volare does support.

It does require Docker 19.04 or higher, however.

You can invoke volare build --help for more options. Be aware, the built PDK won't automatically be enabled and you'll have to volare enable the appropriate version.

License

The Apache License, version 2.0. See 'License'.

Project details


Release history Release notifications | RSS feed

This version

0.2.0

Download files

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

Source Distribution

volare-0.2.0.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

volare-0.2.0-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file volare-0.2.0.tar.gz.

File metadata

  • Download URL: volare-0.2.0.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for volare-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c40b614ed88675f3c05cc29bc14ab1e1ecf93cff99a0de195fa1d1366739f1bb
MD5 da2d81e6035adf6636598108a34a4e02
BLAKE2b-256 6eecb6b993a99e12fb141f569272a6c3cf2971bc2233641c859d59c610143acd

See more details on using hashes here.

File details

Details for the file volare-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: volare-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for volare-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b3d2b8c5abd5f11bb981f3b94b24650303c579c3d957cf073ba3182013d83c0
MD5 9fae2ca917033973622e121a7192156b
BLAKE2b-256 935f97fd8125ed1e19cb34527bc9faea30db015d511c4d9c028c25d51654f78f

See more details on using hashes here.

Supported by

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