Skip to content

Commit

Permalink
added pdk install with volare
Browse files Browse the repository at this point in the history
  • Loading branch information
mkkassem committed Jun 10, 2022
1 parent d59b40f commit 65c1411
Show file tree
Hide file tree
Showing 37 changed files with 270 additions and 38 deletions.
2 changes: 1 addition & 1 deletion images/foss-asic-tools/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ FROM openlane:latest as openlane
FROM klayout:latest as klayout
FROM gtkwave:latest as gtkwave
FROM iverilog:latest as iverilog
FROM open_pdks:latest as pdk
FROM pdks-volare:latest as pdk
FROM magic:latest as magic
FROM netgen:latest as netgen
FROM riscv-gnu-toolchain-rv32i as rv32i
Expand Down
2 changes: 1 addition & 1 deletion images/foss-asic-tools/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "foss-asic-tools",
"REPO_URL": "https://github.com/efabless/foss-asic-tools",
"REPO_COMMIT": "alpha"
"REPO_COMMIT": "eta"
}
}
2 changes: 1 addition & 1 deletion images/gaw3-xschem/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "gaw3-xschem",
"REPO_URL": "https://github.com/StefanSchippers/xschem-gaw.git",
"REPO_COMMIT": "a3239fdcc700e7b33331051eb22f47904112e849"
"REPO_COMMIT": "98bfc8636f8642ae60e89fde009f83abe3cee9f1"
}
}
2 changes: 1 addition & 1 deletion images/iic-osic/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "iic-osic",
"REPO_URL": "https://github.com/hpretl/iic-osic.git",
"REPO_COMMIT": "3a2b8da1c9bcbcb86175aef30f2ac16e58047c3c"
"REPO_COMMIT": "a98da34600c0f6ed74a6e29133db770d81bf2760"
}
}
2 changes: 1 addition & 1 deletion images/iverilog/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "iverilog",
"REPO_URL": "https://github.com/steveicarus/iverilog.git",
"REPO_COMMIT": "0a86773c5e9889533ba588ae3853bfe563358c70"
"REPO_COMMIT": "2693dd32b075243cca20400cf3a808cef119477e"
}
}
2 changes: 1 addition & 1 deletion images/klayout/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "klayout",
"REPO_URL": "https://github.com/KLayout/klayout",
"REPO_COMMIT": "c8a056e58be594df9d9da20694485ffcadfd0078"
"REPO_COMMIT": "17e643ce5bf0f7a6fdc23151eaa2803f5c86e249"
}
}
1 change: 1 addition & 0 deletions images/klayout/scripts/dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ yum install -y \
rubygem-psych \
rubygem-rdoc \
rubygems
yum -y install qt5-qtxmlpatterns-devel qt5-qtxmlpatterns


2 changes: 1 addition & 1 deletion images/magic/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "magic",
"REPO_URL": "https://github.com/rtimothyedwards/magic",
"REPO_COMMIT": "fe2eb6d3906ed15ade0e7a51daea80dd4e3846e2"
"REPO_COMMIT": "085131b090cb511d785baf52a10cf6df8a657d44"
}
}
2 changes: 1 addition & 1 deletion images/netgen/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "netgen",
"REPO_URL": "https://github.com/rtimothyedwards/netgen",
"REPO_COMMIT": "89ef83c597d799be7777cdde7af6a6fb9f96bc29"
"REPO_COMMIT": "f8ed4e42e272a4fb6b69321114516b374d3d4183"
}
}
2 changes: 1 addition & 1 deletion images/ngspice/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "ngspice",
"REPO_URL": "https://git.code.sf.net/p/ngspice/ngspice",
"REPO_COMMIT": "899cdbc28178f64accc209c7a20d4977bd39c3d7"
"REPO_COMMIT": "c4efe2e3ac264b6889e844f935410f9a795f1a68"
}
}
19 changes: 19 additions & 0 deletions images/open_pdks.te/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
ARG BASE_IMAGE
ARG MAGIC_IMAGE
ARG SKYWATER_IMAGE

FROM ${MAGIC_IMAGE} as magic
FROM ${SKYWATER_IMAGE} as sw
FROM ${BASE_IMAGE} as builder
COPY --from=magic /foss/tools/ /foss/tools/
COPY --from=sw $PDK_ROOT $PDK_ROOT

ARG REPO_URL
ARG REPO_COMMIT
ARG NAME

ADD scripts/dependencies.sh dependencies.sh
RUN bash dependencies.sh

ADD scripts/install.sh install.sh
RUN bash install.sh
11 changes: 11 additions & 0 deletions images/open_pdks.te/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"args": {
"GIT": "true",
"BASE_IMAGE": "base",
"MAGIC_IMAGE": "magic",
"NAME": "open_pdks",
"REPO_URL": "https://github.com/RTimothyEdwards/open_pdks",
"REPO_COMMIT": "4fd675d208efed93ed984d1e28eb6457da9d3f17",
"SKYWATER_IMAGE": "skywater-pdk"
}
}
2 changes: 2 additions & 0 deletions images/open_pdks.te/scripts/dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/bash

32 changes: 32 additions & 0 deletions images/open_pdks.te/scripts/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/bash

source scl_source enable devtoolset-8

magic_version=$(ls /foss/tools/magic/ )
export PATH=$PATH:/foss/tools/magic/$magic_version/bin/

export PDK_ROOT=/foss/pdk

cd $PDK_ROOT
git clone ${REPO_URL} ${NAME}
cd ${NAME}
git checkout master
git pull
git checkout -qf ${REPO_COMMIT}git clone https://github.com/RTimothyEdwards/open_pdks.git

./configure --enable-sky130-pdk=$PDK_ROOT/skywater-pdk --enable-alpha-sky130 --enable-xschem-sky130 \
--enable-sram-sky130 --with-sky130-variants=all --datadir=/foss/

make -j$(nproc)

make install
make -j$(nproc)
make install

make distclean

cd $PDK_ROOT
rm -rf skywater-pdk open_pdks
chmod -R 755 $PDK_ROOT


16 changes: 8 additions & 8 deletions images/openlane/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ ARG REPO_COMMIT
ARG REPO_URL
ARG NAME

#RUN mkdir -p /foss/tools/${NAME}_tools/${REPO_COMMIT}
#RUN mkdir -p /foss/tools/${NAME}/${REPO_COMMIT}
#COPY --from=openlane /build /foss/tools/${NAME}_tools/${REPO_COMMIT}
#RUN git clone ${REPO_URL} --branch=${REPO_COMMIT} #/foss/tools/${NAME}/${REPO_COMMIT}RUN mkdir -p
RUN mkdir -p /foss/tools/${NAME}_tools/${REPO_COMMIT}
RUN mkdir -p /foss/tools/${NAME}/${REPO_COMMIT}
COPY --from=openlane /build /foss/tools/${NAME}_tools/${REPO_COMMIT}
RUN git clone ${REPO_URL} --branch=${REPO_COMMIT} #/foss/tools/${NAME}/${REPO_COMMIT}RUN mkdir -p

RUN mkdir -p /foss/tools/${NAME}_tools/
RUN mkdir -p /foss/tools/${NAME}/
COPY --from=openlane /build /foss/tools/${NAME}_tools/
RUN git clone ${REPO_URL} --branch=${REPO_COMMIT} /foss/tools/${NAME}/
#RUN mkdir -p /foss/tools/${NAME}_tools/
#RUN mkdir -p /foss/tools/${NAME}/
#COPY --from=openlane /build /foss/tools/${NAME}_tools/
#RUN git clone ${REPO_URL} --branch=${REPO_COMMIT} /foss/tools/${NAME}/
4 changes: 2 additions & 2 deletions images/openlane/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "openlane",
"REPO_URL": "https://github.com/The-OpenROAD-Project/OpenLane",
"REPO_COMMIT": "2022.03.03_02.36.44"
"REPO_COMMIT": "2022.05.30_01.41.33"
}
}
}
2 changes: 1 addition & 1 deletion images/opensta/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "opensta",
"REPO_URL": "https://github.com/The-OpenROAD-Project/OpenSTA",
"REPO_COMMIT": "489ffac144d5661b963105f89cb9097e1fd2f8cf"
"REPO_COMMIT": "3992c34aee97a8f4dbd4e88580d7277441012e9d"
}
}
12 changes: 12 additions & 0 deletions images/pdks-volare/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
ARG BASE_IMAGE

FROM ${BASE_IMAGE} as builder

ARG REPO_URL
ARG REPO_COMMIT

ADD scripts/dependencies.sh dependencies.sh
RUN bash dependencies.sh

ADD scripts/install.sh install.sh
RUN bash install.sh
9 changes: 9 additions & 0 deletions images/pdks-volare/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"args": {
"GIT": "false",
"BASE_IMAGE": "base",
"NAME": "pdks-volare",
"REPO_URL": "https://github.com/RTimothyEdwards/open_pdks",
"REPO_COMMIT": "8fe7f760ece2bb49b1c310e60243f0558977dae5"
}
}
3 changes: 3 additions & 0 deletions images/pdks-volare/scripts/dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash

python3 -m pip install --upgrade --no-cache-dir volare
11 changes: 11 additions & 0 deletions images/pdks-volare/scripts/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

source scl_source enable devtoolset-8

export PDK_ROOT=/foss/pdk

export LC_ALL=en_US.utf-8
export LANG=en_US.utf-8

volare enable ${REPO_COMMIT}

2 changes: 1 addition & 1 deletion images/riscv-gnu-toolchain-rv32i/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "riscv-gnu-toolchain-rv32i",
"REPO_URL": "https://github.com/riscv/riscv-gnu-toolchain",
"REPO_COMMIT": "9249802bfaf023fa14441754b0ffb488c7c1977d"
"REPO_COMMIT": "409b951ba6621f2f115aebddfb15ce2dd78ec24f"
}
}
16 changes: 16 additions & 0 deletions images/skywater-pdk.not-included/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
ARG BASE_IMAGE
FROM ${BASE_IMAGE} as base
ARG REPO_URL
ARG REPO_COMMIT
ARG NAME

ENV PDK_ROOT=/foss/pdk

COPY corners/corners.yml /foss/pdk/corners.yml
COPY corners/make_timing.py /foss/pdk/make_timing.py

ADD scripts/dependencies.sh dependencies.sh
RUN bash dependencies.sh

ADD scripts/install.sh install.sh
RUN bash install.sh
11 changes: 11 additions & 0 deletions images/skywater-pdk.not-included/corners/corners.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
sky130_fd_sc_hd:
- tt_025C_1v80
- ff_n40C_1v95
- ss_100C_1v60
sky130_fd_sc_hvl:
- tt_025C_3v30
- tt_025C_3v30_lv1v80
- ff_n40C_5v50
- ff_n40C_4v40_lv1v95
- ss_100C_1v65
- ss_100C_1v65_lv1v40
28 changes: 28 additions & 0 deletions images/skywater-pdk.not-included/corners/corners.yml.all
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
sky130_fd_sc_hd:
- tt_025C_1v80
- ff_n40C_1v95
- ss_100C_1v60
sky130_fd_sc_hvl:
- tt_025C_3v30
- tt_025C_3v30_lv1v80
- ff_n40C_5v50
- ff_n40C_4v40_lv1v95
- ss_100C_1v65
- ss_100C_1v65_lv1v40
sky130_fd_sc_hs:
- tt_025C_1v80
- ff_n40C_1v95
- ss_100C_1v60
sky130_fd_sc_hdll:
- tt_025C_1v80
- ff_n40C_1v95
- ss_100C_1v60
sky130_fd_sc_ms:
- tt_025C_1v80
- ff_n40C_1v95
- ss_100C_1v60
sky130_fd_sc_ls:
- tt_025C_1v80
- ff_n40C_1v95
- ss_100C_1v60

11 changes: 11 additions & 0 deletions images/skywater-pdk.not-included/corners/corners.yml.reduced
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
sky130_fd_sc_hd:
- tt_025C_1v80
- ff_n40C_1v95
- ss_100C_1v60
sky130_fd_sc_hvl:
- tt_025C_3v30
- tt_025C_3v30_lv1v80
- ff_n40C_5v50
- ff_n40C_4v40_lv1v95
- ss_100C_1v65
- ss_100C_1v65_lv1v40
27 changes: 27 additions & 0 deletions images/skywater-pdk.not-included/corners/make_timing.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import os
import yaml
import multiprocessing
import subprocess

if __name__ == "__main__":
corners_str = open("./corners.yml").read()
corners_by_scl = yaml.safe_load(corners_str)

def make_timing_on_scl(scl: str, *corners):
print(f"Starting on {scl}: {corners}...", flush=True)
subprocess.check_output(
[
"python3",
"-m",
"skywater_pdk.liberty",
f"libraries/{scl}/latest",
*corners,
]
)
print(f"{scl} done.", flush=True)

pool = multiprocessing.Pool()
for scl, corners in corners_by_scl.items():
pool.apply_async(make_timing_on_scl, (scl, *corners))
pool.close()
pool.join()
9 changes: 9 additions & 0 deletions images/skywater-pdk.not-included/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"args": {
"GIT": "true",
"BASE_IMAGE": "base",
"NAME": "skywater-pdk",
"REPO_URL": "https://github.com/google/skywater-pdk.git",
"REPO_COMMIT": "5a57f505cd4cd65d10e9f37dd2d259a526bc9bf7"
}
}
6 changes: 6 additions & 0 deletions images/skywater-pdk.not-included/scripts/dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

python3 -m pip install pyyaml



25 changes: 25 additions & 0 deletions images/skywater-pdk.not-included/scripts/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash

source scl_source enable devtoolset-8

mkdir -p $PDK_ROOT
git clone ${REPO_URL} $PDK_ROOT/${NAME}/
cd $PDK_ROOT/${NAME}/ && \
git checkout main && \
git checkout -qf ${REPO_COMMIT} && \
git submodule update --init libraries/sky130_fd_sc_hd/latest && \
git submodule update --init libraries/sky130_fd_io/latest && \
git submodule update --init libraries/sky130_fd_sc_hvl/latest && \
git submodule update --init libraries/sky130_fd_pr/latest && \
git submodule update --init libraries/sky130_fd_pr_reram/latest && \
git submodule update --init libraries/sky130_fd_sc_lp/latest && \
git submodule update --init libraries/sky130_fd_sc_hs/latest && \
git submodule update --init libraries/sky130_fd_sc_ms/latest && \
git submodule update --init libraries/sky130_fd_sc_ls/latest && \
git submodule update --init libraries/sky130_fd_sc_hdll/latest && \
git submodule update

python3 -m pip install -e scripts/python-skywater-pdk
mv $PDK_ROOT/make_timing.py .
mv $PDK_ROOT/corners.yml .
python3 ./make_timing.py
2 changes: 1 addition & 1 deletion images/xschem/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@
"BASE_IMAGE": "base",
"NAME": "xschem",
"REPO_URL": "https://github.com/StefanSchippers/xschem.git",
"REPO_COMMIT": "eff273dd084ad295799382ef2097f94fe5bf936d"
"REPO_COMMIT": "1bd2e750e12c8fad714e05c148959e6df498cd3a"
}
}
Loading

0 comments on commit 65c1411

Please sign in to comment.