Merge pull request #20 from efabless/volare_integration use pdk-with-volare
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml index 330d845..fd620d2 100644 --- a/.github/workflows/user_project_ci.yml +++ b/.github/workflows/user_project_ci.yml
@@ -8,74 +8,48 @@ workflow_dispatch: jobs: - precheck: - runs-on: ubuntu-latest - timeout-minutes: 720 - steps: - - uses: actions/checkout@v2 + mpw_precheck: + timeout-minutes: 720 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 - - name: Install Magic - run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh + - name: Export PDK ROOT + run: | + echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV - - name: Build PDK - run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh + - name: Export PDKPATH + run: echo "PDKPATH=/home/runner/work/pdk/sky130A" >> $GITHUB_ENV - - name: Install The Precheck - run: git clone --depth=1 https://github.com/efabless/mpw_precheck.git ${GITHUB_WORKSPACE}/mpw_precheck + - name: Download PDK + run: | + MPW_TAG=main CARAVEL_LITE=0 make install + make pdk-with-volare + + - 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 + git clone --depth=1 -b mpw-5b 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_root ${{ env.PDK_ROOT }} --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: Run The Precheck - run: bash ${GITHUB_WORKSPACE}/.github/scripts/run_precheck.sh + - 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/* - # dv_rtl: - # 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: Install Magic - # run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh - - # - name: Build PDK - # run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh - - # - name: Install The Dockerized DV Setup - # run: docker pull efabless/dv_setup:latest - - # - name: Run DV tests - # # Run test number 0,1,2,3,4 in one job <test-ids> <sim-mode> - # run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0 RTL - - # dv_gl: - # 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: Install Magic - # run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh - - # - name: Build PDK - # run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh - - # - name: Install The Dockerized DV Setup - # run: docker pull efabless/dv_setup:latest - - # - name: Run DV tests - # # Run test number 0,1,2,3,4 in one job <test-ids> <sim-mode> - # run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0 GL
diff --git a/Makefile b/Makefile index 37b341c..84dd315 100644 --- a/Makefile +++ b/Makefile
@@ -18,6 +18,7 @@ PRECHECK_ROOT?=${HOME}/mpw_precheck SIM ?= RTL +export OPEN_PDKS_COMMIT?=7519dfb04400f224f140749cda44ee7de6f5e095 # Install lite version of caravel, (1): caravel-lite, (0): caravel CARAVEL_LITE?=1
diff --git a/docs/source/index.rst b/docs/source/index.rst index 0a7c0c7..1467d4c 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst
@@ -128,18 +128,16 @@ Building the PDK ================ -Make sure you have `Magic VLSI Layout Tool <http://opencircuitdesign.com/magic/index.html>`__ `version 8.3.265 <https://github.com/RTimothyEdwards/magic/tree/8.3.265>`__ installed on your machine before building the pdk. +For more information about volare click `here <https://github.com/efabless/volare>`__ .. code:: bash # set PDK_ROOT to the path you wish to use for the pdk - export PDK_ROOT=<pdk-installation-path> + export PDK_ROOT=<pdk-installation-path - # you can optionally specify skywater-pdk and open-pdks commit used - # by setting and exporting SKYWATER_COMMIT and OPEN_PDKS_COMMIT - # if you do not set them, they default to the last verfied commits tested for this project - - make pdk + # use volare to download the pdk + # To change the default pdk version you can export OPEN_PDKS_COMMIT=<pdk_commit> + make pdk-with-volare