testing CI
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml
index 0cd7a16..b8edc28 100644
--- a/.github/workflows/user_project_ci.yml
+++ b/.github/workflows/user_project_ci.yml
@@ -8,9 +8,46 @@
workflow_dispatch:
jobs:
+ 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=/home/runner/work/pdk" >> $GITHUB_ENV
+
+ - name: Export OPENLANE ROOT
+ run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV
+
+ - name: Install dependencies
+ run: |
+ sudo mkdir -p ${{ env.PDK_ROOT }}
+ sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
+ make install
+ make openlane
+ make pdk-with-volare
+
+ - name: Tarball PDK
+ run: |
+ tar -cf /tmp/pdk.tar -C $PDK_ROOT .
+
+ - name: Upload PDK Tarball
+ uses: actions/upload-artifact@v2
+ with:
+ name: pdk-tarball
+ path: /tmp/pdk.tar
+
+
mpw_precheck:
timeout-minutes: 720
runs-on: ubuntu-latest
+ needs: [pdk]
steps:
- uses: actions/checkout@v2
@@ -25,20 +62,25 @@
echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV
- name: Export PDKPATH
- run: echo "PDKPATH=/home/runner/work/pdk/sky130B" >> $GITHUB_ENV
+ run: echo "PDKPATH=/home/runner/work/pdk/sky130A" >> $GITHUB_ENV
- - name: Dependancies pdk
+ - name: Download PDK Tarball
+ uses: actions/download-artifact@v2
+ with:
+ name: pdk-tarball
+ path: /tmp
+
+ - name: Unpack PDK Tarball
run: |
- make install
- make pdk-with-volare
-
+ sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
+ tar -xf /tmp/pdk.tar -C $PDK_ROOT .
- name: Run MPW-Precheck
run: |
export INPUT_DIRECTORY=$(pwd)
export PRECHECK_ROOT=$INPUT_DIRECTORY/mpw_precheck
export OUTPUT_DIRECTORY=$INPUT_DIRECTORY/mpw_precheck_result
export OUTPUT=$OUTPUT_DIRECTORY/logs/precheck.log
- export PDKPATH=$PDK_ROOT/sky130B
+ export PDKPATH=$PDK_ROOT/sky130A
git clone --depth=1 -b mpw-5b https://github.com/efabless/mpw_precheck.git
@@ -56,9 +98,10 @@
path: |
/home/runner/work/caravel_user_project/caravel_user_project/mpw_precheck_result/logs/*
- user_project_flow:
+ user_project_flow_sky130A:
timeout-minutes: 720
runs-on: ubuntu-latest
+ needs: [pdk]
steps:
- uses: actions/checkout@v2
@@ -71,19 +114,28 @@
- name: Export PDK ROOT
run: echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV
+ - name: Export PDK
+ run: echo "PDK=sky130A" >> $GITHUB_ENV
+
- name: Export OPENLANE ROOT
run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV
-
- - name: Export PDKPATH
- run: echo "PDKPATH=/home/runner/work/pdk/sky130B" >> $GITHUB_ENV
+
+ - name: Download PDK Tarball
+ uses: actions/download-artifact@v2
+ with:
+ name: pdk-tarball
+ path: /tmp
+
+ - name: Unpack PDK Tarball
+ run: |
+ sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
+ tar -xf /tmp/pdk.tar -C $PDK_ROOT .
- name: Install dependencies
run: |
- export CARAVEL_LITE=0
make install
make install_mcw
make openlane
- make pdk-with-volare
make simenv
- name: Harden using Openlane
@@ -106,3 +158,64 @@
make verify-la_test2-gl
make verify-mprj_stimulus-gl
make verify-wb_port-gl
+
+ user_project_flow_sky130B:
+ timeout-minutes: 720
+ runs-on: ubuntu-latest
+ needs: [pdk]
+ 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=/home/runner/work/pdk" >> $GITHUB_ENV
+
+ - name: Export PDK
+ run: echo "PDK=sky130B" >> $GITHUB_ENV
+
+ - 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 chown -R $USER:$USER ${{ env.PDK_ROOT }}
+ tar -xf /tmp/pdk.tar -C $PDK_ROOT .
+
+ - name: Install dependencies
+ run: |
+ make install
+ make install_mcw
+ make openlane
+ make simenv
+
+ - name: Harden using Openlane
+ run: |
+ make user_proj_example
+ make user_project_wrapper
+
+ - name: Run DV RTL tests
+ run: |
+ make verify-io_ports-rtl
+ make verify-la_test1-rtl
+ make verify-la_test2-rtl
+ make verify-mprj_stimulus-rtl
+ make verify-wb_port-rtl
+
+ - name: Run DV GL tests
+ run: |
+ make verify-io_ports-gl
+ make verify-la_test1-gl
+ make verify-la_test2-gl
+ make verify-mprj_stimulus-gl
+ make verify-wb_port-gl
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 2e99d6d..fb40aee 100644
--- a/Makefile
+++ b/Makefile
@@ -25,8 +25,7 @@
export PDK_MAGIC_COMMIT=7d601628e4e05fd17fcb80c3552dacb64e9f6e7b
export OPENLANE_TAG=2022.02.23_02.50.41
export MISMATCHES_OK=1
-export PDKPATH?=$(PDK_ROOT)/sky130A
-export PDK?=sky130A
+export PDKPATH?=$(PDK_ROOT)/sky130B
# Install lite version of caravel, (1): caravel-lite, (0): caravel
CARAVEL_LITE?=1