From 18e15d730783c29320ef5e021b091458d80d5c22 Mon Sep 17 00:00:00 2001 From: Marwan Abbas <67271180+marwaneltoukhy@users.noreply.github.com> Date: Tue, 5 Nov 2024 19:22:13 +0530 Subject: [PATCH] Update user_project_ci.yml --- .github/workflows/user_project_ci.yml | 223 +++++++++++++------------- 1 file changed, 112 insertions(+), 111 deletions(-) diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml index 87f7d3ee0..2d6b30838 100644 --- a/.github/workflows/user_project_ci.yml +++ b/.github/workflows/user_project_ci.yml @@ -9,7 +9,7 @@ on: jobs: download_caravel: - runs-on: ubuntu-latest + runs-on: cpu5 steps: - uses: actions/checkout@v2 @@ -42,13 +42,13 @@ jobs: tar -cf /tmp/caravel.tar -C $CARAVEL_ROOT . - name: Upload Caravel Tarball - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: caravel-tarball path: /tmp/caravel.tar download_deps: - runs-on: ubuntu-latest + runs-on: cpu5 strategy: matrix: targets: ["pdk-with-volare", "install_mcw", "openlane", "setup-timing-scripts", "precheck"] @@ -92,7 +92,7 @@ jobs: fi - name: Download caravel Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: caravel-tarball path: /tmp @@ -118,18 +118,18 @@ jobs: tar -cf /tmp/${{ env.dep_name }}.tar -C ${{ env.dep_root }} . - name: Upload Dependencies Tarball - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ${{ env.dep_name }}-tarball path: /tmp/${{ env.dep_name }}.tar hardening: timeout-minutes: 720 - runs-on: ubuntu-latest + runs-on: cpu5 strategy: matrix: - pdk: ["sky130A", "sky130B"] - needs: [download_deps] + pdk: ["sky130A"] + needs: [download_deps, RTL-verification] steps: - uses: actions/checkout@v2 @@ -152,7 +152,7 @@ jobs: echo "MPW_TAG=main" >> $GITHUB_ENV - name: Download PDK Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: pdk-tarball path: /tmp @@ -164,7 +164,7 @@ jobs: tar -xf /tmp/pdk.tar -C $PDK_ROOT . - name: Download openlane Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: openlane-tarball path: /tmp @@ -177,6 +177,7 @@ jobs: - name: Harden using Openlane run: | + make setup python3 $GITHUB_WORKSPACE/.github/scripts/get_designs.py --design $GITHUB_WORKSPACE for word in $(cat harden_sequence.txt); do echo "CURRENT_DESIGN=${word}" >> $GITHUB_ENV @@ -201,17 +202,17 @@ jobs: tar -cf /tmp/design_${{ matrix.pdk }}.tar -C $GITHUB_WORKSPACE . - name: Upload Design_${{ matrix.pdk }} Tarball - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: design_${{ matrix.pdk }}-tarball path: /tmp/design_${{ matrix.pdk }}.tar RTL-verification: timeout-minutes: 720 - runs-on: ubuntu-latest + runs-on: cpu5 strategy: matrix: - pdk: ["sky130A", "sky130B"] + pdk: ["sky130A"] needs: [download_deps] steps: - uses: actions/checkout@v2 @@ -235,7 +236,7 @@ jobs: echo "MPW_TAG=main" >> $GITHUB_ENV - name: Download PDK Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: pdk-tarball path: /tmp @@ -247,7 +248,7 @@ jobs: tar -xf /tmp/pdk.tar -C $PDK_ROOT . - name: Download caravel Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: caravel-tarball path: /tmp @@ -259,7 +260,7 @@ jobs: tar -xf /tmp/caravel.tar -C $CARAVEL_ROOT . - name: Download mgmt_core_wrapper Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: mgmt_core_wrapper-tarball path: /tmp @@ -284,10 +285,10 @@ jobs: precheck: timeout-minutes: 720 - runs-on: ubuntu-latest + runs-on: cpu5 strategy: matrix: - pdk: ["sky130A", "sky130B"] + pdk: ["sky130A"] needs: [hardening] steps: - uses: actions/checkout@v2 @@ -310,7 +311,7 @@ jobs: echo "MPW_TAG=main" >> $GITHUB_ENV - name: Download PDK Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: pdk-tarball path: /tmp @@ -322,7 +323,7 @@ jobs: tar -xf /tmp/pdk.tar -C $PDK_ROOT . - name: Download precheck Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: precheck-tarball path: /tmp @@ -334,7 +335,7 @@ jobs: tar -xf /tmp/precheck.tar -C $PRECHECK_ROOT . - name: Download Design_${{ matrix.pdk }} Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: design_${{ matrix.pdk }}-tarball path: /tmp @@ -362,7 +363,7 @@ jobs: STA: timeout-minutes: 720 - runs-on: ubuntu-latest + runs-on: cpu5 strategy: matrix: pdk: ["sky130A"] @@ -388,7 +389,7 @@ jobs: echo "MPW_TAG=main" >> $GITHUB_ENV - name: Download PDK Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: pdk-tarball path: /tmp @@ -400,7 +401,7 @@ jobs: tar -xf /tmp/pdk.tar -C $PDK_ROOT . - name: Download timing-scripts Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: timing-scripts-tarball path: /tmp @@ -412,7 +413,7 @@ jobs: tar -xf /tmp/timing-scripts.tar -C $TIMING_ROOT . - name: Download Design_${{ matrix.pdk }} Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: design_${{ matrix.pdk }}-tarball path: /tmp @@ -424,7 +425,7 @@ jobs: tar -xf /tmp/design_${{ matrix.pdk }}.tar -C $GITHUB_WORKSPACE . - name: Download Caravel Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: caravel-tarball path: /tmp @@ -436,7 +437,7 @@ jobs: tar -xf /tmp/caravel.tar -C ${{ env.CARAVEL_ROOT }} . - name: Download mgmt_core_wrapper Tarball - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: mgmt_core_wrapper-tarball path: /tmp @@ -470,90 +471,90 @@ jobs: exit 0 fi - # GL-verification: - # timeout-minutes: 720 - # runs-on: ubuntu-latest - # strategy: - # matrix: - # pdk: ["sky130A", "sky130B"] - # needs: [download_deps] - # 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 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 - # echo "MPW_TAG=main" >> $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 . + GL-verification: + timeout-minutes: 720 + runs-on: cpu5 + strategy: + matrix: + pdk: ["sky130A"] + needs: [download_deps, hardening] + 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 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 + echo "MPW_TAG=main" >> $GITHUB_ENV + + - name: Download PDK Tarball + uses: actions/download-artifact@v3 + 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 caravel Tarball - # uses: actions/download-artifact@v2 - # with: - # name: caravel-tarball - # path: /tmp - - # - 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 . + - name: Download caravel Tarball + uses: actions/download-artifact@v3 + with: + name: caravel-tarball + path: /tmp + + - 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 . - # - name: Download mgmt_core_wrapper Tarball - # uses: actions/download-artifact@v2 - # with: - # name: mgmt_core_wrapper-tarball - # path: /tmp - - # - name: Unpack mgmt_core_wrapper Tarball - # 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: 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: install cocotb - # run: | - # make setup-cocotb + - name: Download mgmt_core_wrapper Tarball + uses: actions/download-artifact@v3 + with: + name: mgmt_core_wrapper-tarball + path: /tmp + + - name: Unpack mgmt_core_wrapper Tarball + 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: Download Design_${{ matrix.pdk }} Tarball + uses: actions/download-artifact@v3 + with: + name: design_${{ matrix.pdk }}-tarball + path: /tmp + + - name: Unpack Design_${{ matrix.pdk }} Tarball + run: | + sudo mkdir -p $GITHUB_WORKSPACE + sudo chown -R $USER:$USER $GITHUB_WORKSPACE + tar -xf /tmp/design_${{ matrix.pdk }}.tar -C $GITHUB_WORKSPACE . + + - name: install cocotb + run: | + make setup-cocotb - # - name: run RTL verification - # run: | - # cd $GITHUB_WORKSPACE/verilog/dv/cocotb && $GITHUB_WORKSPACE/venv-cocotb/bin/caravel_cocotb -tl user_proj_tests/user_proj_tests_gl.yaml -verbosity debug --CI -tag gl_verification - # cnt=$(grep -c "failed" "$GITHUB_WORKSPACE/verilog/dv/cocotb/sim/gl_verification/runs.log") - # if ! [[ $cnt ]]; then cnt=0; fi - # if [[ $cnt -eq 1 ]]; then exit 0; fi - # exit 2 + - name: run RTL verification + run: | + cd $GITHUB_WORKSPACE/verilog/dv/cocotb && $GITHUB_WORKSPACE/venv-cocotb/bin/caravel_cocotb -tl user_proj_tests/user_proj_tests_gl.yaml -verbosity debug --CI -tag gl_verification + cnt=$(grep -c "failed" "$GITHUB_WORKSPACE/verilog/dv/cocotb/sim/gl_verification/runs.log") + if ! [[ $cnt ]]; then cnt=0; fi + if [[ $cnt -eq 1 ]]; then exit 0; fi + exit 2