Merge pull request #5 from Manarabdelaty/fix_ci

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..dd38dc0 100644
--- a/.github/scripts/precheck/run-precheck-drc.sh
+++ b/.github/scripts/precheck/run-precheck-drc.sh
@@ -17,12 +17,14 @@
 export CARAVEL_ROOT=$(pwd)/caravel
 cd ..
 export PDK_ROOT=$(pwd)/precheck_pdks
-cd $TARGET_PATH/open_mpw_precheck/
+export PRECHECK_ROOT=$TARGET_PATH/mpw_precheck/
+export OUTPUT_DIRECTORY=$TARGET_PATH/checks
+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"
-output=$TARGET_PATH/checks/full_log.log
+docker run -v $PRECHECK_ROOT:$PRECHECK_ROOT -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 "cd $PRECHECK_ROOT; python3 mpw_precheck.py magic_drc klayout_offgrid klayout_feol klayout_zeroarea klayout_pin_label_purposes_overlapping_drawing --pdk_root $PDK_ROOT --input_directory $TARGET_PATH --caravel_root $CARAVEL_ROOT --output_directory $OUTPUT_DIRECTORY"
+output=$OUTPUT_DIRECTORY/logs/precheck.log
 
-gzipped_file=$TARGET_PATH/checks/full_log.log.gz
+gzipped_file=$OUTPUT_DIRECTORY/logs/precheck.log.gz
 
 if [[ -f $gzipped_file ]]; then
     gzip -d $gzipped_file
@@ -30,7 +32,7 @@
 
 grep "Violation Message" $output
 
-cnt=$(grep -c "All Checks PASSED!" $output)
+cnt=$(grep -c "All Checks Passed" $output)
 if ! [[ $cnt ]]; then cnt=0; fi
 if [[ $cnt -eq 1 ]]; then exit 0; fi
 exit 2
\ No newline at end of file
diff --git a/.github/scripts/precheck/run-precheck.sh b/.github/scripts/precheck/run-precheck.sh
index b248a79..66d5da6 100644
--- a/.github/scripts/precheck/run-precheck.sh
+++ b/.github/scripts/precheck/run-precheck.sh
@@ -17,12 +17,14 @@
 export CARAVEL_ROOT=$(pwd)/caravel
 cd ..
 export PDK_ROOT=$(pwd)/precheck_pdks
-cd $TARGET_PATH/open_mpw_precheck/
+export PRECHECK_ROOT=$TARGET_PATH/mpw_precheck/
+export OUTPUT_DIRECTORY=$TARGET_PATH/checks
+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"
-output=$TARGET_PATH/checks/full_log.log
+docker run -v $PRECHECK_ROOT:$PRECHECK_ROOT -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 " cd $PRECHECK_ROOT ; python3 mpw_precheck.py license yaml manifest makefile consistency xor --pdk_root $PDK_ROOT --input_directory $TARGET_PATH --caravel_root $CARAVEL_ROOT --output_directory $OUTPUT_DIRECTORY"
+output=$OUTPUT_DIRECTORY/logs/precheck.log
 
-gzipped_file=$TARGET_PATH/checks/full_log.log.gz
+gzipped_file=$OUTPUT_DIRECTORY/logs/precheck.log.gz
 
 if [[ -f $gzipped_file ]]; then
     gzip -d $gzipped_file
@@ -30,7 +32,7 @@
 
 grep "Violation Message" $output
 
-cnt=$(grep -c "All Checks PASSED!" $output)
+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/caravan_build.yml b/.github/workflows/caravan_build.yml
index ea05126..b072671 100644
--- a/.github/workflows/caravan_build.yml
+++ b/.github/workflows/caravan_build.yml
@@ -24,12 +24,12 @@
        - name: Install The PDK
          run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
          env: 
-          OPENLANE_TAG: v0.12
+          OPENLANE_TAG:  2021.09.16_03.28.21
 
        - name: Run make truck
          run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-truck.sh 
          env: 
-          OPENLANE_TAG: v0.12
+          OPENLANE_TAG:  2021.09.16_03.28.21
           
   set_user_id:
     runs-on: ubuntu-latest
@@ -47,12 +47,12 @@
        - name: Install The PDK
          run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
          env: 
-          OPENLANE_TAG: v0.12
+          OPENLANE_TAG:  2021.09.16_03.28.21
 
        - name: Run Set User ID
          run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-set-id.sh 
          env: 
-          OPENLANE_TAG: v0.12
+          OPENLANE_TAG:  2021.09.16_03.28.21
 
   xor_wrapper:
     runs-on: ubuntu-latest
@@ -70,9 +70,9 @@
        - name: Install The PDK
          run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
          env: 
-          OPENLANE_TAG: v0.12
+          OPENLANE_TAG:  2021.09.16_03.28.21
 
        - name: Run XOR Check
          run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-xor.sh 
          env: 
-          OPENLANE_TAG: v0.12
+          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 15a4916..0c81bb9 100644
--- a/.github/workflows/user_project_ci.yml
+++ b/.github/workflows/user_project_ci.yml
@@ -1,4 +1,4 @@
-name: UPRJ_CI
+name: CI
 
 
 on:
@@ -64,7 +64,7 @@
        - name: Install The PDK
          run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
          env: 
-          OPENLANE_TAG: v0.12
+          OPENLANE_TAG:  2021.09.16_03.28.21
           
        - name: Install The Dockerized DV Setup
          run:  docker pull efabless/dv_setup:latest
@@ -73,27 +73,27 @@
          # 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
-  #        with:
-  #         submodules: 'true'
+  dv_gl:
+    runs-on: ubuntu-latest
+    steps:
+       - uses: actions/checkout@v2
+         with:
+          submodules: 'true'
       
-  #      - 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 The PDK
-  #        run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
-  #        env: 
-  #         OPENLANE_TAG: v0.12
+       - name: Install The PDK
+         run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
+         env: 
+          OPENLANE_TAG:  2021.09.16_03.28.21
           
-  #      - name: Install The Dockerized DV Setup
-  #        run:  docker pull efabless/dv_setup:latest
+       - 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,1,2,3,4      GL
\ No newline at end of file
+       - 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
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index f4e486c..bd35ce4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
-precheck_results
\ No newline at end of file
+precheck_results
+*/tmp
+*/*/tmp
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 0ab55ca..d97988b 100644
--- a/Makefile
+++ b/Makefile
@@ -145,7 +145,7 @@
 # Install PDK using OL's Docker Image
 .PHONY: pdk-nonnative
 pdk-nonnative: skywater-pdk skywater-library skywater-timing open_pdks
-	docker run --rm -v $(PDK_ROOT):$(PDK_ROOT) -v $(pwd):/user_project -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) -e CARAVEL_ROOT=$(CARAVEL_ROOT) -e PDK_ROOT=$(PDK_ROOT) -u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/openlane:current sh -c "cd $(CARAVEL_ROOT); make build-pdk; make gen-sources"
+	docker run --rm -v $(PDK_ROOT):$(PDK_ROOT) -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) -e CARAVEL_ROOT=$(CARAVEL_ROOT) -e PDK_ROOT=$(PDK_ROOT) -u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/openlane:current sh -c "cd $(CARAVEL_ROOT); make build-pdk; make gen-sources"
 
 # Clean 
 .PHONY: clean
diff --git a/README.md b/README.md
index 5e01221..d7d53a3 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Caravel Analog User
 
-[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![UPRJ_CI](https://github.com/efabless/caravel_user_project_analog/actions/workflows/user_project_ci.yml/badge.svg)](https://github.com/efabless/caravel_user_project_analog/actions/workflows/user_project_ci.yml) [![Caravan Build](https://github.com/efabless/caravel_user_project_analog/actions/workflows/caravan_build.yml/badge.svg)](https://github.com/efabless/caravel_user_project_analog/actions/workflows/caravan_build.yml)
+[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![CI](https://github.com/efabless/caravel_user_project_analog/actions/workflows/user_project_ci.yml/badge.svg)](https://github.com/efabless/caravel_user_project_analog/actions/workflows/user_project_ci.yml) [![Caravan Build](https://github.com/efabless/caravel_user_project_analog/actions/workflows/caravan_build.yml/badge.svg)](https://github.com/efabless/caravel_user_project_analog/actions/workflows/caravan_build.yml)
 
 ---
 
diff --git a/verilog/rtl/uprj_analog_netlists.v b/verilog/rtl/uprj_analog_netlists.v
index 46c2606..062a873 100644
--- a/verilog/rtl/uprj_analog_netlists.v
+++ b/verilog/rtl/uprj_analog_netlists.v
@@ -29,8 +29,9 @@
 
 `ifdef GL
     `default_nettype wire
-    `include "gl/user_analog_project_wrapper.v"
-    `include "gl/user_analog_proj_example.v"
+    // Use behavorial model with gate-level simulation
+    `include "rtl/user_analog_project_wrapper.v"
+    `include "rtl/user_analog_proj_example.v"
 `else
     `include "user_analog_project_wrapper.v"
     `include "user_analog_proj_example.v"