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