-
Notifications
You must be signed in to change notification settings - Fork 380
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: update usage/custom_pdk_builds
- Loading branch information
Showing
1 changed file
with
9 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,31 @@ | ||
# Custom-Building PDKs | ||
The pre-built version of the sky130 PDK variants included with OpenLane includes the following standard cell libraries: | ||
# Custom PDK Installations | ||
|
||
The sky130 PDK variants pulled using `make pdk` include the following standard cell libraries: | ||
|
||
* sky130_fd_io | ||
* sky130_fd_pr | ||
* sky130_fd_sc_hd | ||
* sky130_fd_sc_hvl | ||
* sky130 sram modules | ||
|
||
If you need other libraries, you will have to resort to manual builds using [Volare](https://github.com/efabless/volare) as shown below. You will need Git 2.35+ and Docker. | ||
|
||
Note that this will take a while, from 20 minutes to an hour depending on your internet speed and compute power. | ||
If you need other libraries (including the ReRAM library for `sky130B`), you will have to download them using [Volare](https://github.com/efabless/volare) as shown below. | ||
|
||
Start a venv shell using `make start-build-env`. You should see a prompt looking kind of like this: | ||
|
||
```bash | ||
(venv) [user@host openlane]$ | ||
``` | ||
|
||
First of all, install volare: | ||
|
||
```bash | ||
pip3 install --upgrade --no-cache-dir volare | ||
``` | ||
|
||
Then, build the PDK as follows: The `-l` options are the libraries you want to include. For example, to also include `sky130_fd_sc_hs`, you can add `-l sky130_fd_sc_hs` to the default set of libraries using the following command: | ||
Then, download the libraries as follows: The `-l` options are the libraries you want to include. For example, to download `sky130_fd_sc_hs`, you can add `-l sky130_fd_sc_hs` to your current set of libraries using the following command: | ||
|
||
```bash | ||
volare build -j$(nproc) --pdk sky130 --clear-build-artifacts --sram -l sky130_fd_io -l sky130_fd_pr -l sky130_fd_sc_hvl -l sky130_fd_sc_hd -l sky130_fd_sc_hs | ||
volare enable --pdk sky130 -l sky130_fd_sc_hs | ||
``` | ||
|
||
You can also add `-l all` to just include all of them: | ||
|
||
```bash | ||
volare build -j$(nproc) --pdk sky130 --clear-build-artifacts --sram -l all | ||
``` | ||
|
||
Either way, go grab a smoothie. This will take a while. | ||
|
||
After it is done, you can then enable the resulting PDK as such: | ||
|
||
```bash | ||
volare enable | ||
volare enable --pdk sky130 -l all | ||
``` | ||
|
||
Et voila, your custom-built PDK is ready. | ||
After it is done, your new SCLs are ready to use. |