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