Merge branch 'main' of https://github.com/efabless/caravel_project_example into caravel_lite
diff --git a/.github/scripts/build/run-set-id.sh b/.github/scripts/build/run-set-id.sh
index 865285f..9b1cdf5 100644
--- a/.github/scripts/build/run-set-id.sh
+++ b/.github/scripts/build/run-set-id.sh
@@ -23,6 +23,9 @@
 
 cd $UPRJ_ROOT
 
+# Install full version of caravel
+git clone https://github.com/efabless/caravel --branch develop --depth 1
+
 LOG_FILE=out.log
 docker run -v $UPRJ_ROOT:$UPRJ_ROOT -v $PDK_ROOT:$PDK_ROOT -e UPRJ_ROOT=$UPRJ_ROOT -e PDK_ROOT=$PDK_ROOT -e CARAVEL_ROOT=$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME bash -c "cd $UPRJ_ROOT; export USER_ID=$USER_ID; make set_user_id | tee $LOG_FILE;"
 
diff --git a/.github/scripts/build/run-ship.sh b/.github/scripts/build/run-ship.sh
index 974f366..d1c01ab 100644
--- a/.github/scripts/build/run-ship.sh
+++ b/.github/scripts/build/run-ship.sh
@@ -22,6 +22,9 @@
 
 cd $UPRJ_ROOT
 
+# Install full version of caravel
+git clone https://github.com/efabless/caravel --branch develop --depth 1
+
 docker run -v $UPRJ_ROOT:$UPRJ_ROOT -v $PDK_ROOT:$PDK_ROOT -e UPRJ_ROOT=$UPRJ_ROOT -e PDK_ROOT=$PDK_ROOT -e CARAVEL_ROOT=$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME bash -c "cd $UPRJ_ROOT; make ship;"
 
 SHIP_FILE=$UPRJ_ROOT/gds/caravel.gds
diff --git a/.github/scripts/precheck/run-precheck-drc.sh b/.github/scripts/precheck/run-precheck-drc.sh
index 51dc751..c9808db 100644
--- a/.github/scripts/precheck/run-precheck-drc.sh
+++ b/.github/scripts/precheck/run-precheck-drc.sh
@@ -14,11 +14,12 @@
 # limitations under the License.
 # SPDX-License-Identifier: Apache-2.0
 export TARGET_PATH=$(pwd)
+export CARAVEL_ROOT=$(pwd)/caravel-lite
 cd ..
 export PDK_ROOT=$(pwd)/precheck_pdks
 cd $TARGET_PATH/open_mpw_precheck/
 
-docker run -v $(pwd):/usr/local/bin -v $TARGET_PATH:$TARGET_PATH -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"
+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
 
 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 263634e..6633afd 100644
--- a/.github/scripts/precheck/run-precheck.sh
+++ b/.github/scripts/precheck/run-precheck.sh
@@ -14,11 +14,12 @@
 # limitations under the License.
 # SPDX-License-Identifier: Apache-2.0
 export TARGET_PATH=$(pwd)
+export CARAVEL_ROOT=$(pwd)/caravel-lite
 cd ..
 export PDK_ROOT=$(pwd)/precheck_pdks
 cd $TARGET_PATH/open_mpw_precheck/
 
-docker run -v $(pwd):/usr/local/bin -v $TARGET_PATH:$TARGET_PATH -v $PDK_ROOT:$PDK_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 -ms develop"
+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 -ms develop"
 output=$TARGET_PATH/checks/full_log.log
 
 gzipped_file=$TARGET_PATH/checks/full_log.log.gz
diff --git a/.github/workflows/caravel_build.yml b/.github/workflows/caravel_build.yml
new file mode 100644
index 0000000..f86ab79
--- /dev/null
+++ b/.github/workflows/caravel_build.yml
@@ -0,0 +1,78 @@
+name: Caravel Build
+
+
+on:
+    # Runs on Every Push
+    push:
+    # Runs on Pull Requests
+    pull_request:
+
+jobs:
+  make_ship:
+    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 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: Run make ship
+         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-ship.sh 
+         env: 
+          OPENLANE_TAG: v0.12
+          
+  set_user_id:
+    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 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: Run Set User ID
+         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-set-id.sh 
+         env: 
+          OPENLANE_TAG: v0.12
+
+  xor_wrapper:
+    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 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: Run XOR Check
+         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-xor.sh 
+         env: 
+          OPENLANE_TAG: v0.12
diff --git a/.github/workflows/caravel_example_ci.yml b/.github/workflows/user_project_ci.yml
similarity index 60%
rename from .github/workflows/caravel_example_ci.yml
rename to .github/workflows/user_project_ci.yml
index 76ef215..47cfded 100644
--- a/.github/workflows/caravel_example_ci.yml
+++ b/.github/workflows/user_project_ci.yml
@@ -1,4 +1,4 @@
-name: CI
+name: UPRJ_CI
 
 
 on:
@@ -96,73 +96,4 @@
        
        - 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
-
-  make_ship:
-    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 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: Run make ship
-         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-ship.sh 
-         env: 
-          OPENLANE_TAG: v0.12
-          
-  set_user_id:
-    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 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: Run Set User ID
-         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-set-id.sh 
-         env: 
-          OPENLANE_TAG: v0.12
-
-  xor_wrapper:
-    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 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: Run XOR Check
-         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-xor.sh 
-         env: 
-          OPENLANE_TAG: v0.12
+         run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0,1,2,3,4      GL
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
index 5bdfdae..a7e5bf7 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "caravel"]
-	path = caravel
-	url = https://github.com/efabless/caravel
+[submodule "caravel-lite"]
+	path = caravel-lite
+	url = https://github.com/Manarabdelaty/caravel-lite
diff --git a/Makefile b/Makefile
index 7f8593d..ae125c1 120000
--- a/Makefile
+++ b/Makefile
@@ -1 +1 @@
-caravel/Makefile
\ No newline at end of file
+caravel-lite/Makefile
\ No newline at end of file
diff --git a/caravel b/caravel
deleted file mode 160000
index cac0a20..0000000
--- a/caravel
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit cac0a20d29435a312b4c04862dd66dc286218ebc
diff --git a/caravel-lite b/caravel-lite
new file mode 160000
index 0000000..02393a2
--- /dev/null
+++ b/caravel-lite
@@ -0,0 +1 @@
+Subproject commit 02393a2ffd5676ce7c16fcba89e668f94d58f21f
diff --git a/openlane/Makefile b/openlane/Makefile
index 48e5b4a..f242a3c 120000
--- a/openlane/Makefile
+++ b/openlane/Makefile
@@ -1 +1 @@
-../caravel/openlane/Makefile
\ No newline at end of file
+caravel-lite/openlane/Makefile
\ No newline at end of file
diff --git a/openlane/user_project_wrapper/pin_order.cfg b/openlane/user_project_wrapper/pin_order.cfg
index 267d91c..5e924e2 120000
--- a/openlane/user_project_wrapper/pin_order.cfg
+++ b/openlane/user_project_wrapper/pin_order.cfg
@@ -1 +1 @@
-../../caravel/openlane/user_project_wrapper_empty/pin_order.cfg
\ No newline at end of file
+caravel-lite/openlane/user_project_wrapper_empty/pin_order.cfg
\ No newline at end of file
diff --git a/verilog/dv/io_ports/Makefile b/verilog/dv/io_ports/Makefile
index 6fb1c25..c3a5e54 100644
--- a/verilog/dv/io_ports/Makefile
+++ b/verilog/dv/io_ports/Makefile
@@ -15,7 +15,7 @@
 # SPDX-License-Identifier: Apache-2.0
 
 ## Caravel Pointers
-CARAVEL_ROOT ?= $(shell pwd)/../../../caravel
+CARAVEL_ROOT ?= $(shell pwd)/../../../caravel-lite
 CARAVEL_PATH ?= $(CARAVEL_ROOT)
 CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
 CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog
diff --git a/verilog/dv/la_test1/Makefile b/verilog/dv/la_test1/Makefile
index 701a425..adae20d 100644
--- a/verilog/dv/la_test1/Makefile
+++ b/verilog/dv/la_test1/Makefile
@@ -15,7 +15,7 @@
 # SPDX-License-Identifier: Apache-2.0
 
 ## Caravel Pointers
-CARAVEL_ROOT ?= $(shell pwd)/../../../caravel
+CARAVEL_ROOT ?= $(shell pwd)/../../../caravel-lite
 CARAVEL_PATH ?= $(CARAVEL_ROOT)
 CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
 CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog
diff --git a/verilog/dv/la_test2/Makefile b/verilog/dv/la_test2/Makefile
index 3688e7c..6ba368f 100644
--- a/verilog/dv/la_test2/Makefile
+++ b/verilog/dv/la_test2/Makefile
@@ -15,7 +15,7 @@
 # SPDX-License-Identifier: Apache-2.0
 
 ## Caravel Pointers
-CARAVEL_ROOT ?= $(shell pwd)/../../../caravel
+CARAVEL_ROOT ?= $(shell pwd)/../../../caravel-lite
 CARAVEL_PATH ?= $(CARAVEL_ROOT)
 CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
 CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog
diff --git a/verilog/dv/mprj_stimulus/Makefile b/verilog/dv/mprj_stimulus/Makefile
index 6dbfb28..c9a6ca7 100644
--- a/verilog/dv/mprj_stimulus/Makefile
+++ b/verilog/dv/mprj_stimulus/Makefile
@@ -15,7 +15,7 @@
 # SPDX-License-Identifier: Apache-2.0
 
 ## Caravel Pointers
-CARAVEL_ROOT ?= $(shell pwd)/../../../caravel
+CARAVEL_ROOT ?= $(shell pwd)/../../../caravel-lite
 CARAVEL_PATH ?= $(CARAVEL_ROOT)
 CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
 CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog
diff --git a/verilog/dv/wb_port/Makefile b/verilog/dv/wb_port/Makefile
index ce20a88..70ad01f 100644
--- a/verilog/dv/wb_port/Makefile
+++ b/verilog/dv/wb_port/Makefile
@@ -15,7 +15,7 @@
 # SPDX-License-Identifier: Apache-2.0
 
 ## Caravel Pointers
-CARAVEL_ROOT ?= $(shell pwd)/../../../caravel
+CARAVEL_ROOT ?= $(shell pwd)/../../../caravel-lite
 CARAVEL_PATH ?= $(CARAVEL_ROOT)
 CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
 CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog