Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update user_project_ci.yml #381

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
211 changes: 106 additions & 105 deletions .github/workflows/user_project_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ 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
Expand Down Expand Up @@ -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
Expand All @@ -118,7 +118,7 @@ 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
Expand All @@ -128,8 +128,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
pdk: ["sky130A", "sky130B"]
needs: [download_deps]
pdk: ["sky130A"]
needs: [download_deps, RTL-verification]
steps:
- uses: actions/checkout@v2

Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -201,7 +202,7 @@ 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
Expand All @@ -211,7 +212,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
pdk: ["sky130A", "sky130B"]
pdk: ["sky130A"]
needs: [download_deps]
steps:
- uses: actions/checkout@v2
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -287,7 +288,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
pdk: ["sky130A", "sky130B"]
pdk: ["sky130A"]
needs: [hardening]
steps:
- uses: actions/checkout@v2
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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: ubuntu-latest
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
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
*.gtkw
/env
/venv
/venv-cocotb
/caravel
/dependencies
/mgmt_core_wrapper
/logs
/logs
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ $(blocks): % :
$(MAKE) -C openlane $*

dv_patterns=$(shell cd verilog/dv && find * -maxdepth 0 -type d)
cocotb-dv_patterns=$(shell cd verilog/dv/cocotb && find . -name "*.c" | sed -e 's|^.*/||' -e 's/.c//')
cocotb-dv_patterns=$(shell cd verilog/dv/cocotb && find . -name "*.c" | sed -e 's|^.*/||' -e 's/\.c//')
dv-targets-rtl=$(dv_patterns:%=verify-%-rtl)
cocotb-dv-targets-rtl=$(cocotb-dv_patterns:%=cocotb-verify-%-rtl)
dv-targets-gl=$(dv_patterns:%=verify-%-gl)
Expand Down
Loading
Loading