generated from efabless/caravel_user_project
-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit d798de8
Showing
71 changed files
with
808,702 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,224 @@ | ||
name: CI | ||
|
||
on: | ||
# Runs on Every Push | ||
push: | ||
# Runs on Pull Requests | ||
pull_request: | ||
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 | ||
|
||
- 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 PDKPATH | ||
run: echo "PDKPATH=/home/runner/work/pdk/sky130A" >> $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: 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/sky130A | ||
git clone --depth=1 -b mpw-7a https://github.com/efabless/mpw_precheck.git | ||
docker run -v "$PRECHECK_ROOT":"$PRECHECK_ROOT" -v "$INPUT_DIRECTORY":"$INPUT_DIRECTORY" -v "${{ env.PDK_ROOT }}":"${{ env.PDK_ROOT }}" -e INPUT_DIRECTORY="$INPUT_DIRECTORY" -e PDK_ROOT="${{ env.PDK_ROOT }}" -e PDKPATH="${{ env.PDKPATH }}" -u $(id -u "$USER"):$(id -g "$USER") efabless/mpw_precheck:latest bash -c "cd $PRECHECK_ROOT; python3 mpw_precheck.py --input_directory $INPUT_DIRECTORY --pdk_path ${{ env.PDKPATH }} --output_directory $OUTPUT_DIRECTORY license makefile consistency xor magic_drc klayout_beol klayout_feol klayout_met_min_ca_density klayout_offgrid klayout_pin_label_purposes_overlapping_drawing klayout_zeroarea" | ||
cnt=$(grep -c "All Checks Passed" "$OUTPUT") | ||
if ! [[ $cnt ]]; then cnt=0; fi | ||
if [[ $cnt -eq 1 ]]; then exit 0; fi | ||
exit 2 | ||
- name: upload failure logs | ||
if: failure() | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: error | ||
path: | | ||
/home/runner/work/caravel_user_project/caravel_user_project/mpw_precheck_result/logs/* | ||
user_project_flow_sky130A: | ||
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=sky130A" >> $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 mkdir -p ${{ env.PDK_ROOT }} | ||
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 | ||
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 mkdir -p ${{ env.PDK_ROOT }} | ||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
/.idea/ | ||
/precheck_results/ | ||
*/tmp | ||
*/*/tmp | ||
*.hex* | ||
*.lst | ||
*.vcd | ||
*.gtkw |
Oops, something went wrong.