CI_fix - remove obsolete scripts, test simple CI
CI_fix - sudo the make execution
CI_fix change pdk build
diff --git a/.github/scripts/build_pdk.sh b/.github/scripts/build_pdk.sh
deleted file mode 100644
index d7b19aa..0000000
--- a/.github/scripts/build_pdk.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-# SPDX-FileCopyrightText: 2020 Efabless Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# SPDX-License-Identifier: Apache-2.0
-git clone --depth=1 --branch mpw-5c https://github.com/efabless/caravel-lite.git
-
-export HOME=$(pwd)
-cd ..
-export PDK_ROOT=$(pwd)/pdks && mkdir "$PDK_ROOT"
-cd "$HOME"/caravel-lite/ || exit
-
-make skywater-pdk open-pdks sky130 gen-sources
-
-exit 0
diff --git a/.github/scripts/install_magic.sh b/.github/scripts/install_magic.sh
index ca91137..6a4405d 100644
--- a/.github/scripts/install_magic.sh
+++ b/.github/scripts/install_magic.sh
@@ -15,10 +15,10 @@
# SPDX-License-Identifier: Apache-2.0
sudo apt-get install -y csh freeglut3-dev libncurses5-dev libncursesw5-dev libglu1-mesa-dev libx11-dev mesa-common-dev tcl tcl-dev tk tk-dev
-git clone --depth=1 --branch 8.3.265 https://github.com/RTimothyEdwards/magic.git
+git clone --depth=1 --branch 8.3.274 https://github.com/RTimothyEdwards/magic.git
cd magic || exit
sudo ./configure --disable-locking --prefix=/usr CFLAGS='-g -O0 -m64 -fPIC'
-sudo make -j4
+sudo make -j
sudo make install
exit 0
diff --git a/.github/scripts/run_precheck.sh b/.github/scripts/run_precheck.sh
deleted file mode 100644
index 16091a6..0000000
--- a/.github/scripts/run_precheck.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-# SPDX-FileCopyrightText: 2020 Efabless Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# SPDX-License-Identifier: Apache-2.0
-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
-cd ..
-export PDK_ROOT=$(pwd)/pdks
-cd "$PRECHECK_ROOT" || exit
-
-docker run -v "$PRECHECK_ROOT":"$PRECHECK_ROOT" -v "$INPUT_DIRECTORY":"$INPUT_DIRECTORY" -v "$PDK_ROOT":"$PDK_ROOT" -e INPUT_DIRECTORY="$INPUT_DIRECTORY" -e PDK_ROOT="$PDK_ROOT" -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 $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
diff --git a/.github/workflows/caravel_build.yml b/.github/workflows/caravel_build.yml
deleted file mode 100644
index d9cadb3..0000000
--- a/.github/workflows/caravel_build.yml
+++ /dev/null
@@ -1,53 +0,0 @@
-# name: Caravel Build
-
-# on:
-# # Runs on Every Push
-# push:
-# # Runs on Pull Requests
-# pull_request:
-# workflow_dispatch:
-
-# jobs:
-# make_ship:
-# 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: Run make ship
-# run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-ship.sh
-# env:
-# OPENLANE_TAG: 2021.12.17_05.07.41
-
-# set_user_id:
-# 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: Run Set User ID
-# run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-set-id.sh
-# env:
-# OPENLANE_TAG: 2021.09.16_03.28.21
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml
index 2bec30b..bfb5d58 100644
--- a/.github/workflows/user_project_ci.yml
+++ b/.github/workflows/user_project_ci.yml
@@ -8,7 +8,7 @@
workflow_dispatch:
jobs:
- precheck:
+ mpw_precheck:
timeout-minutes: 720
runs-on: ubuntu-latest
steps:
@@ -20,19 +20,46 @@
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
+ - name: Export PDK ROOT
+ run: |
+ echo "PDK_ROOT=/usr/local/pdk" >> $GITHUB_ENV
+
- 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: Build SKY130 PDK
+ run: |
+ git clone --depth=1 --branch mpw-5c https://github.com/efabless/caravel-lite.git
+ sudo mkdir -p ${{ env.PDK_ROOT }}
+ sudo make -f caravel-lite/Makefile skywater-pdk open-pdks
+ cd ${{ env.PDK_ROOT }}/open_pdks && \
+ ./configure --enable-sky130-pdk=${{ env.PDK_ROOT }}/skywater-pdk/libraries --enable-sram-sky130 && \
+ cd sky130 && \
+ make veryclean && \
+ make prerequisites && \
+ make && \
+ make SHARED_PDKS_PATH=${{ env.PDK_ROOT }} install && \
+ make clean
+ suod make -f gen-sources
- - name: Install The Precheck
- run: git clone --depth=1 https://github.com/efabless/mpw_precheck.git ${GITHUB_WORKSPACE}/mpw_precheck
+ - 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
- - name: Run The Precheck
- run: bash ${GITHUB_WORKSPACE}/.github/scripts/run_precheck.sh
+ git clone --depth=1 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 }}" -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
user_project_flow:
+ timeout-minutes: 720
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
@@ -49,14 +76,14 @@
- name: Export OPENLANE ROOT
run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV
- - name: install dependencies
+ - name: Install dependencies
run: |
sudo mkdir -p ${{ env.PDK_ROOT }}
sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
make setup
make simenv
- - name: hardening using openlane
+ - name: Harden using Openlane
run: |
make user_proj_example
make user_project_wrapper
@@ -67,7 +94,7 @@
make verify-la_test1-rtl
make verify-la_test2-rtl
make verify-mprj_stimulus-rtl
- make verify-wb_port-rtl
+ make verify-wb_port-rtl
- name: Run DV GL tests
run: |
@@ -75,4 +102,4 @@
make verify-la_test1-gl
make verify-la_test2-gl
make verify-mprj_stimulus-gl
- make verify-wb_port-gl
+ make verify-wb_port-gl