Skip to content

Commit

Permalink
CI optimization
Browse files Browse the repository at this point in the history
  • Loading branch information
marwaneltoukhy committed Oct 31, 2023
1 parent 374ce71 commit 63d86e2
Showing 1 changed file with 111 additions and 21 deletions.
132 changes: 111 additions & 21 deletions .github/workflows/user_project_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -176,17 +176,26 @@ jobs:
run: |
make user_proj_example
make user_project_wrapper
RTL-verification:
rm -rf openlane/user_proj_example/runs openlane/user_project_wrapper/runs pdk openlane_src caravel mgmt_core_wrapper timing-scripts mpw_precheck
- name: Tarball Design
run: |
tar -cf /tmp/design.tar -C $GITHUB_WORKSPACE .
- name: Upload Design Tarball
uses: actions/upload-artifact@v2
with:
name: design-tarball
path: /tmp/design.tar

precheck:
timeout-minutes: 720
runs-on: ubuntu-latest
strategy:
matrix:
pdk: ["sky130A", "sky130B"]
needs: [download_deps]
needs: [download_deps, hardening]
steps:
- uses: actions/checkout@v2

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

Expand Down Expand Up @@ -215,19 +224,107 @@ jobs:
sudo mkdir -p ${{ env.PDK_ROOT }}
sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
tar -xf /tmp/pdk.tar -C $PDK_ROOT .
- name: Download precheck Tarball
uses: actions/download-artifact@v2
with:
name: precheck-tarball
path: /tmp

- name: Unpack precheck Tarball
run: |
sudo mkdir -p ${{ env.PRECHECK_ROOT }}
sudo chown -R $USER:$USER ${{ env.PRECHECK_ROOT }}
tar -xf /tmp/precheck.tar -C $PRECHECK_ROOT .
- name: Download Design Tarball
uses: actions/download-artifact@v2
with:
name: design-tarball
path: /tmp

- name: Unpack Design Tarball
run: |
sudo mkdir -p $GITHUB_WORKSPACE
sudo chown -R $USER:$USER $GITHUB_WORKSPACE
tar -xf /tmp/design.tar -C $GITHUB_WORKSPACE .
- name: Download caravel Tarball
- name: Run Precheck
run: make run-precheck

STA:
timeout-minutes: 720
runs-on: ubuntu-latest
strategy:
matrix:
pdk: ["sky130A", "sky130B"]
needs: [download_deps, hardening]
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Export ENVIRONMENT VARIABLES
run: |
echo "PDK=${{ matrix.pdk }}" >> $GITHUB_ENV
echo "PDKPATH=$GITHUB_WORKSPACE/pdk/${{ matrix.pdk }}" >> $GITHUB_ENV
echo "PDK_ROOT=$GITHUB_WORKSPACE/pdk" >> $GITHUB_ENV
echo "OPENLANE_ROOT=$GITHUB_WORKSPACE/openlane_src" >> $GITHUB_ENV
echo "CARAVEL_ROOT=$GITHUB_WORKSPACE/caravel" >> $GITHUB_ENV
echo "MCW_ROOT=$GITHUB_WORKSPACE/mgmt_core_wrapper" >> $GITHUB_ENV
echo "TIMING_ROOT=$GITHUB_WORKSPACE/timing-scripts" >> $GITHUB_ENV
echo "PRECHECK_ROOT=$GITHUB_WORKSPACE/mpw_precheck" >> $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 }}
sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
tar -xf /tmp/pdk.tar -C $PDK_ROOT .
- name: Download timing-scripts Tarball
uses: actions/download-artifact@v2
with:
name: timing-scripts-tarball
path: /tmp

- name: Unpack timing-scripts Tarball
run: |
sudo mkdir -p ${{ env.TIMING_ROOT }}
sudo chown -R $USER:$USER ${{ env.TIMING_ROOT }}
tar -xf /tmp/timing-scripts.tar -C $TIMING_ROOT .
- name: Download Design Tarball
uses: actions/download-artifact@v2
with:
name: design-tarball
path: /tmp

- name: Unpack Design Tarball
run: |
sudo mkdir -p $GITHUB_WORKSPACE
sudo chown -R $USER:$USER $GITHUB_WORKSPACE
tar -xf /tmp/design.tar -C $GITHUB_WORKSPACE .
- name: Download Caravel Tarball
uses: actions/download-artifact@v2
with:
name: caravel-tarball
path: /tmp

- name: Unpack caravel Tarball
- name: Unpack Caravel Tarball
run: |
sudo mkdir -p ${{ env.CARAVEL_ROOT }}
sudo chown -R $USER:$USER ${{ env.CARAVEL_ROOT }}
tar -xf /tmp/caravel.tar -C $CARAVEL_ROOT .
tar -xf /tmp/caravel.tar -C ${{ env.CARAVEL_ROOT }} .
- name: Download mgmt_core_wrapper Tarball
uses: actions/download-artifact@v2
with:
Expand All @@ -238,17 +335,10 @@ jobs:
run: |
sudo mkdir -p ${{ env.MCW_ROOT }}
sudo chown -R $USER:$USER ${{ env.MCW_ROOT }}
tar -xf /tmp/mgmt_core_wrapper.tar -C $MCW_ROOT .
- name: install cocotb
run: |
make setup-cocotb
tar -xf /tmp/mgmt_core_wrapper.tar -C ${{ env.MCW_ROOT }} .
- name: run RTL verification
- name: Run STA
run: |
make cocotb-verify-all-rtl
cnt=$(grep -c "failed" "$GITHUB_WORKSPACE/verilog/dv/cocotb/sim/rtl_verification/runs.log")
if ! [[ $cnt ]]; then cnt=0; fi
if [[ $cnt -eq 1 ]]; then exit 0; fi
exit 2
make extract-parasitics
make create-spef-mapping
make caravel-sta

0 comments on commit 63d86e2

Please sign in to comment.