Merge remote-tracking branch 'origin/main' into fix_ci
diff --git a/.github/scripts/precheck/precheckBuild.sh b/.github/scripts/precheck/precheckBuild.sh index d618190..7754922 100644 --- a/.github/scripts/precheck/precheckBuild.sh +++ b/.github/scripts/precheck/precheckBuild.sh
@@ -18,16 +18,16 @@ export SKIP_PDK_BUILD=${1:-0} export TARGET_PATH=$(pwd) -git clone https://github.com/efabless/open_mpw_precheck.git +git clone https://github.com/efabless/mpw_precheck.git -docker pull efabless/open_mpw_precheck:latest +docker pull efabless/mpw_precheck:latest if [ $SKIP_PDK_BUILD -eq 0 ]; then cd $TARGET_PATH/.. export PDK_ROOT=$(pwd)/precheck_pdks mkdir $PDK_ROOT - cd $TARGET_PATH/open_mpw_precheck/dependencies + cd $TARGET_PATH/mpw_precheck/dependencies sh build-pdk.sh cd $TARGET_DIR
diff --git a/.github/scripts/precheck/run-precheck-drc.sh b/.github/scripts/precheck/run-precheck-drc.sh index 489b314..b13d0ec 100644 --- a/.github/scripts/precheck/run-precheck-drc.sh +++ b/.github/scripts/precheck/run-precheck-drc.sh
@@ -17,9 +17,9 @@ export CARAVEL_ROOT=$(pwd)/caravel cd .. export PDK_ROOT=$(pwd)/precheck_pdks -cd $TARGET_PATH/open_mpw_precheck/ +cd $TARGET_PATH/mpw_precheck/ -docker run -v $(pwd):/usr/local/bin -v $TARGET_PATH:$TARGET_PATH -v $CARAVEL_ROOT:$CARAVEL_ROOT -v $PDK_ROOT:$PDK_ROOT -u $(id -u $USER):$(id -g $USER) efabless/open_mpw_precheck:latest bash -c "python3 open_mpw_prechecker.py --drc_only -p $PDK_ROOT -t $TARGET_PATH -c $CARAVEL_ROOT" +docker run -v $(pwd):/usr/local/bin -v $TARGET_PATH:$TARGET_PATH -v $CARAVEL_ROOT:$CARAVEL_ROOT -v $PDK_ROOT:$PDK_ROOT -u $(id -u $USER):$(id -g $USER) efabless/mpw_precheck:latest bash -c "python3 mpw_precheck.py check magic_drc klayout_offgrid klayout_feol klayout_zeroarea klayout_pin_label_purposes_overlapping_drawing --pdk_root $PDK_ROOT --input_direcoty $TARGET_PATH --caravel_root $CARAVEL_ROOT" output=$TARGET_PATH/checks/full_log.log gzipped_file=$TARGET_PATH/checks/full_log.log.gz
diff --git a/.github/scripts/precheck/run-precheck.sh b/.github/scripts/precheck/run-precheck.sh index b248a79..e46a175 100644 --- a/.github/scripts/precheck/run-precheck.sh +++ b/.github/scripts/precheck/run-precheck.sh
@@ -17,9 +17,9 @@ export CARAVEL_ROOT=$(pwd)/caravel cd .. export PDK_ROOT=$(pwd)/precheck_pdks -cd $TARGET_PATH/open_mpw_precheck/ +cd $TARGET_PATH/mpw_precheck/ -docker run -v $(pwd):/usr/local/bin -v $TARGET_PATH:$TARGET_PATH -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) efabless/open_mpw_precheck:latest bash -c "python3 open_mpw_prechecker.py --skip_drc -p $PDK_ROOT -t $TARGET_PATH -c $CARAVEL_ROOT" +docker run -v $(pwd):/usr/local/bin -v $TARGET_PATH:$TARGET_PATH -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) efabless/mpw_precheck:latest bash -c "python3 mpw_precheck.py --pdk_root $PDK_ROOT --input_directory $TARGET_PATH --caravel_root $CARAVEL_ROOT" output=$TARGET_PATH/checks/full_log.log gzipped_file=$TARGET_PATH/checks/full_log.log.gz
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml index 2216d3c..f45fa29 100644 --- a/.github/workflows/user_project_ci.yml +++ b/.github/workflows/user_project_ci.yml
@@ -62,7 +62,7 @@ uses: docker/setup-buildx-action@v1 - name: Install The PDK - run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh + run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh env: OPENLANE_TAG: 2021.09.16_03.28.21
diff --git a/Makefile b/Makefile index 25a5e72..dc9be17 100644 --- a/Makefile +++ b/Makefile
@@ -15,7 +15,7 @@ # SPDX-License-Identifier: Apache-2.0 CARAVEL_ROOT?=$(PWD)/caravel -PRECHECK_ROOT?=${HOME}/open_mpw_precheck +PRECHECK_ROOT?=${HOME}/mpw_precheck SIM ?= RTL # Install lite version of caravel, (1): caravel-lite, (0): caravel @@ -35,9 +35,9 @@ SUBMODULE?=1 # Include Caravel Makefile Targets -.PHONY: % +.PHONY: % : check-caravel %: - $(MAKE) -f $(CARAVEL_ROOT)/Makefile $@ + export CARAVEL_ROOT=$(CARAVEL_ROOT) && $(MAKE) -f $(CARAVEL_ROOT)/Makefile $@ # Verify Target for running simulations .PHONY: verify @@ -54,12 +54,11 @@ PATTERNS=$(shell cd verilog/dv && find * -maxdepth 0 -type d) DV_PATTERNS = $(foreach dv, $(PATTERNS), verify-$(dv)) TARGET_PATH=$(shell pwd) -PDK_PATH=${PDK_ROOT}/sky130A VERIFY_COMMAND="cd ${TARGET_PATH}/verilog/dv/$* && export SIM=${SIM} && make" $(DV_PATTERNS): verify-% : ./verilog/dv/% - docker run -v ${TARGET_PATH}:${TARGET_PATH} -v ${PDK_PATH}:${PDK_PATH} \ + docker run -v ${TARGET_PATH}:${TARGET_PATH} -v ${PDK_ROOT}:${PDK_ROOT} \ -v ${CARAVEL_ROOT}:${CARAVEL_ROOT} \ - -e TARGET_PATH=${TARGET_PATH} -e PDK_PATH=${PDK_PATH} \ + -e TARGET_PATH=${TARGET_PATH} -e PDK_ROOT=${PDK_ROOT} \ -e CARAVEL_ROOT=${CARAVEL_ROOT} \ -u $(id -u $$USER):$(id -g $$USER) efabless/dv_setup:latest \ sh -c $(VERIFY_COMMAND) @@ -137,15 +136,15 @@ # Default installs to the user home directory, override by "export PRECHECK_ROOT=<precheck-installation-path>" .PHONY: precheck precheck: - @git clone https://github.com/efabless/open_mpw_precheck.git --depth=1 $(PRECHECK_ROOT) - @docker pull efabless/open_mpw_precheck:latest + @git clone https://github.com/efabless/mpw_precheck.git --depth=1 $(PRECHECK_ROOT) + @docker pull efabless/mpw_precheck:latest .PHONY: run-precheck run-precheck: check-precheck check-pdk check-caravel - $(eval TARGET_PATH := $(shell pwd)) + $(eval INPUT_DIRECTORY := $(shell pwd)) cd $(PRECHECK_ROOT) && \ - docker run -e TARGET_PATH=$(TARGET_PATH) -e PDK_ROOT=$(PDK_ROOT) -e CARAVEL_ROOT=$(CARAVEL_ROOT) -v $(PRECHECK_ROOT):/usr/local/bin -v $(TARGET_PATH):$(TARGET_PATH) -v $(PDK_ROOT):$(PDK_ROOT) -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \ - -u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/open_mpw_precheck:latest bash -c "python3 open_mpw_prechecker.py --pdk_root $(PDK_ROOT) --target_path $(TARGET_PATH) -rfc -c $(CARAVEL_ROOT) " + docker run -e INPUT_DIRECTORY=$(INPUT_DIRECTORY) -e PDK_ROOT=$(PDK_ROOT) -e CARAVEL_ROOT=$(CARAVEL_ROOT) -v $(PRECHECK_ROOT):$(PRECHECK_ROOT) -v $(INPUT_DIRECTORY):$(INPUT_DIRECTORY) -v $(PDK_ROOT):$(PDK_ROOT) -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \ + -u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/mpw_precheck:latest bash -c "cd $(PRECHECK_ROOT) ; python3 mpw_precheck.py --pdk_root $(PDK_ROOT) --input_directory $(INPUT_DIRECTORY) --caravel_root $(CARAVEL_ROOT)" # Install PDK using OL's Docker Image .PHONY: pdk-nonnative