build PDK in seperate job
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml
index 2f74512..86babd3 100644
--- a/.github/workflows/user_project_ci.yml
+++ b/.github/workflows/user_project_ci.yml
@@ -8,6 +8,37 @@
workflow_dispatch:
jobs:
+ Build PDK:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+
+ - name: Export PDK ROOT
+ run: echo "PDK_ROOT=/usr/local/pdk" >> $GITHUB_ENV
+
+ - name: Build PDK
+ run: |
+ sudo mkdir -p ${{ env.PDK_ROOT }}
+ sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
+ make -j 1 NPROC=1 pdk
+
+ - name: Tarball PDK
+ run: |
+ tar -cf /tmp/sky130A.tar -C $PDK_ROOT/sky130A .
+
+ - name: Upload PDK Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: pdk-tarball
+ path: /tmp/sky130A.tar
+
+
mpw_precheck:
timeout-minutes: 720
runs-on: ubuntu-latest
@@ -23,25 +54,18 @@
- name: Export PDK ROOT
run: |
echo "PDK_ROOT=/usr/local/pdk" >> $GITHUB_ENV
- export PDK_ROOT=/usr/local/pdk
- - name: Install Magic
- run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh
+ - name: Download PDK Tarball
+ uses: actions/download-artifact@v2
+ with:
+ name: pdk-tarball
+ path: /tmp
- - name: Build SKY130 PDK
+ - name: Unpack PDK Tarball
run: |
- git clone --depth=1 --branch mpw-5c https://github.com/efabless/caravel-lite.git
- sudo mkdir -p ${{ env.PDK_ROOT }}
- sudo make -f caravel-lite/Makefile skywater-pdk open-pdks
- cd ${{ env.PDK_ROOT }}/open_pdks && \
- ./configure --enable-sky130-pdk=${{ env.PDK_ROOT }}/skywater-pdk/libraries --enable-sram-sky130 && \
- cd sky130 && \
- make veryclean && \
- make prerequisites && \
- make && \
- make SHARED_PDKS_PATH=${{ env.PDK_ROOT }} install && \
- make clean
- suod make -f gen-sources
+ sudo mkdir -p ${{ env.PDK_ROOT }}/sky130A
+ sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
+ tar -xf /tmp/sky130A.tar -C $PDK_ROOT/sky130A .
- name: Run MPW-Precheck
run: |
@@ -77,11 +101,23 @@
- name: Export OPENLANE ROOT
run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV
+ - name: Download PDK Tarball
+ uses: actions/download-artifact@v2
+ with:
+ name: pdk-tarball
+ path: /tmp
+
+ - name: Unpack PDK Tarball
+ run: |
+ sudo mkdir -p ${{ env.PDK_ROOT }}/sky130A
+ sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
+ tar -xf /tmp/sky130A.tar -C $PDK_ROOT/sky130A .
+
- name: Install dependencies
run: |
- sudo mkdir -p ${{ env.PDK_ROOT }}
- sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
- make setup
+ make install
+ make install_mcw
+ make openlane
make simenv
- name: Harden using Openlane