fix github build action
diff --git a/.github/scripts/build/build-user.sh b/.github/scripts/build/build-user.sh new file mode 100644 index 0000000..87e0cb2 --- /dev/null +++ b/.github/scripts/build/build-user.sh
@@ -0,0 +1,3 @@ +docker run -v $OPENLANE_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -v $PWD:/project -v $CARAVEL_ROOT:$CARAVEL_ROOT -e PDK_ROOT=$PDK_ROOT -e CARAVEL_ROOT=$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) $OPENLANE_IMAGE_NAME sh -c "cd /project/openlane && flow.tcl -design ./user_proj -save_path .. -save -tag user_proj -overwrite" + +exit $?
diff --git a/.github/scripts/build/build-wrapper.sh b/.github/scripts/build/build-wrapper.sh new file mode 100644 index 0000000..2c17e94 --- /dev/null +++ b/.github/scripts/build/build-wrapper.sh
@@ -0,0 +1,3 @@ +docker run -v $OPENLANE_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -v $PWD:/project -v $CARAVEL_ROOT:$CARAVEL_ROOT -e PDK_ROOT=$PDK_ROOT -e CARAVEL_ROOT=$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) $OPENLANE_IMAGE_NAME sh -c "cd /project/openlane && flow.tcl -design ./user_project_wrapper -save_path .. -save -tag user_project_wrapper -overwrite" + +exit $?
diff --git a/.github/scripts/build/run-install-magic.sh b/.github/scripts/build/run-install-magic.sh new file mode 100644 index 0000000..c2eaf01 --- /dev/null +++ b/.github/scripts/build/run-install-magic.sh
@@ -0,0 +1,9 @@ +sudo apt install -y tcsh csh tcl-dev tk-dev libcairo2-dev +sudo apt install -y gcc-riscv64-unknown-elf iverilog + +git clone git://opencircuitdesign.com/magic +cd magic +git checkout $MAGIC_VERSION +./configure +make +sudo make install \ No newline at end of file
diff --git a/.github/scripts/build/run-pdk-build.sh b/.github/scripts/build/run-pdk-build.sh new file mode 100644 index 0000000..567196f --- /dev/null +++ b/.github/scripts/build/run-pdk-build.sh
@@ -0,0 +1,48 @@ +#!/bin/bash +# SPDX-FileCopyrightText: 2020 Efabless Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# SPDX-License-Identifier: Apache-2.0 + +export RUN_ROOT=$(pwd) +export CARAVEL_ROOT=$(pwd)/caravel + +cd $RUN_ROOT/.. +echo $PWD +export OPENLANE_ROOT=$(pwd)/openlane +export PDK_ROOT=$(pwd)/pdks +export INSTALL_SRAM=enable + +rm -rf $OPENLANE_ROOT $PDK_ROOT $CARAVEL_ROOT + +cd $RUN_ROOT +echo $PWD +make install + +cd $CARAVEL_ROOT +echo $PWD +git checkout $CARAVEL_TAG + +cd $RUN_ROOT +echo $PWD +make openlane + +#cd $OPENLANE_ROOT +#echo $PWD +#git checkout $OPENLANE_TAG +make pdk + +echo "done installing" + +cd $RUN_ROOT +exit 0 \ No newline at end of file
diff --git a/.github/scripts/build/run-set-id.sh b/.github/scripts/build/run-set-id.sh deleted file mode 100644 index 9cb87f8..0000000 --- a/.github/scripts/build/run-set-id.sh +++ /dev/null
@@ -1,38 +0,0 @@ -#!/bin/bash -# SPDX-FileCopyrightText: 2020 Efabless Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# SPDX-License-Identifier: Apache-2.0 - -export UPRJ_ROOT=$(pwd) -cd .. -export PDK_ROOT=$(pwd)/pdks -export CARAVEL_ROOT=$(pwd)/caravel -export IMAGE_NAME=efabless/openlane:$OPENLANE_TAG -export USER_ID=00000001 - -cd $UPRJ_ROOT - -# Install full version of caravel -git clone https://github.com/efabless/caravel --depth 1 $CARAVEL_ROOT - -LOG_FILE=out.log -docker run -v $UPRJ_ROOT:$UPRJ_ROOT -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_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 $CARAVEL_ROOT; make uncompress; cd $UPRJ_ROOT; export USER_ID=$USER_ID; make set_user_id | tee $LOG_FILE;" - -cnt=$(grep "Done" $LOG_FILE -s | wc -l) - -if [[ $cnt -ne 3 ]]; then - exit 2; -fi - -exit 0
diff --git a/.github/scripts/build/run-ship.sh b/.github/scripts/build/run-ship.sh deleted file mode 100644 index d084c00..0000000 --- a/.github/scripts/build/run-ship.sh +++ /dev/null
@@ -1,38 +0,0 @@ -#!/bin/bash -# SPDX-FileCopyrightText: 2020 Efabless Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# SPDX-License-Identifier: Apache-2.0 - -export UPRJ_ROOT=$(pwd) -cd .. -export PDK_ROOT=$(pwd)/pdks -export CARAVEL_ROOT=$(pwd)/caravel -export IMAGE_NAME=efabless/openlane:$OPENLANE_TAG - -cd $UPRJ_ROOT - -# Install full version of caravel -git clone https://github.com/efabless/caravel --depth 1 $CARAVEL_ROOT - -make install_mcw - -docker run -v $UPRJ_ROOT:$UPRJ_ROOT -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_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 $CARAVEL_ROOT; make uncompress; cd $UPRJ_ROOT; make -f $CARAVEL_ROOT/Makefile ship;" - -SHIP_FILE=$UPRJ_ROOT/gds/caravel.gds - -if test -f "$SHIP_FILE"; then - exit 0 -else - exit 2 -fi
diff --git a/.github/scripts/build/run-xor.sh b/.github/scripts/build/run-xor.sh deleted file mode 100644 index 53ccb59..0000000 --- a/.github/scripts/build/run-xor.sh +++ /dev/null
@@ -1,36 +0,0 @@ -#!/bin/bash -# SPDX-FileCopyrightText: 2020 Efabless Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# SPDX-License-Identifier: Apache-2.0 - -export UPRJ_ROOT=$(pwd) -export CARAVEL_ROOT=$(pwd)/caravel -cd .. -export PDK_ROOT=$(pwd)/pdks -export IMAGE_NAME=efabless/openlane:$OPENLANE_TAG - -cd $UPRJ_ROOT - -LOG_FILE=out.log -docker run -v $UPRJ_ROOT:$UPRJ_ROOT -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_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 xor-wrapper | tee $LOG_FILE;" - -cnt=$(grep -oP '(?<=Total XOR differences = )[0-9]+' $LOG_FILE) - -echo "Total XOR differences = $cnt" - -if [[ $cnt -ne 0 ]]; then - exit 2; -fi - -exit 0
diff --git a/.github/scripts/dv/pdkBuild.sh b/.github/scripts/dv/pdkBuild.sh deleted file mode 100644 index 9f9ac93..0000000 --- a/.github/scripts/dv/pdkBuild.sh +++ /dev/null
@@ -1,59 +0,0 @@ -#!/bin/bash -# SPDX-FileCopyrightText: 2020 Efabless Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# SPDX-License-Identifier: Apache-2.0 -export RUN_ROOT=$(pwd) - - -# By default skip timing since we don't need the libs in any of the CI tests -export SKIP_TIMING=${1:-1} -export IMAGE_NAME=efabless/openlane:$OPENLANE_TAG -docker pull $IMAGE_NAME - -cd $RUN_ROOT/.. -export PDK_ROOT=$(pwd)/pdks -mkdir $PDK_ROOT -echo $PDK_ROOT -echo $RUN_ROOT -cd $RUN_ROOT -make skywater-pdk -make skywater-library -# The following section is for running on the CI. -# If you're running locally you should replace them with: `make skywater-library` -# This is because sometimes while setting up the conda env (skywater's make timing) it fails to fetch something -# Then it exits without retrying. So, here we're retrying, and if something goes wrong it will exit after 5 retries. -# Section Begin -if [ $SKIP_TIMING -eq 0 ]; then - cnt=0 - until make skywater-timing; do - cnt=$((cnt+1)) - if [ $cnt -eq 5 ]; then - exit 2 - fi - rm -rf $PDK_ROOT/skywater-pdk - make skywater-pdk - make skywater-library - done -fi -# Section End - -make open_pdks -docker run -v $RUN_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -e PDK_ROOT=$PDK_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME bash -c "make build-pdk" - -rm -rf $PDK_ROOT/open_pdks -rm -rf $PDK_ROOT/skywater-pdk - -echo "done installing" -cd $RUN_ROOT -exit 0 \ No newline at end of file
diff --git a/.github/scripts/dv/run-dv-wrapper.sh b/.github/scripts/dv/run-dv-tests.sh similarity index 67% rename from .github/scripts/dv/run-dv-wrapper.sh rename to .github/scripts/dv/run-dv-tests.sh index c03d8e9..5940cc1 100755 --- a/.github/scripts/dv/run-dv-wrapper.sh +++ b/.github/scripts/dv/run-dv-tests.sh
@@ -24,38 +24,33 @@ export TARGET_PATH=$(pwd) export CARAVEL_ROOT=$(pwd)/caravel +cd .. +export PDK_ROOT=$(pwd)/pdks +DV_PATH=$TARGET_PATH/verilog/dv + if [ ! -d $TARGET_PATH ] then - echo "Directory target /path/to/dir DOES NOT exists." - exit 9999 + echo "Directory target [$TARGET_PATH] DOES NOT exists." + exit 3 fi -cd .. - -export PDK_ROOT=$(pwd)/pdks if [ ! -d $PDK_ROOT ] then - echo "Directory pdk /path/to/dir DOES NOT exists." - exit 9999 + echo "Directory pdk [$PDK_ROOT] DOES NOT exists." + exit 3 fi -DV_PATH=$TARGET_PATH/verilog/dv if [ ! -d $DV_PATH ] then - echo "Directory /path/to/dir DOES NOT exists." - exit 9999 + echo "Directory dv [$DV_PATH] DOES NOT exists." + exit 3 fi for id in "${DV_TEST_IDS[@]}" -do - docker run -v $TARGET_PATH:$TARGET_PATH -v $PDK_ROOT:$PDK_ROOT \ - -v $CARAVEL_ROOT:$CARAVEL_ROOT \ - -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 \ - bash -c "bash $TARGET_PATH/.github/scripts/dv/run-dv.sh $PDK_ROOT $DV_PATH $id $SIM_MODE" +do + $TARGET_PATH/.github/scripts/dv/run-dv.sh $PDK_ROOT $DV_PATH $id $SIM_MODE - echo "DONE!" + echo "Done test $id $SIM_MODE" VERDICT_FILE=$TARGET_PATH/verilog/dv/$id.out @@ -70,7 +65,7 @@ echo "Verdict: $cnt" if [[ $cnt -ne 1 ]]; then - exit 2; + exit 1; fi done
diff --git a/.github/workflows/caravel_build.yml b/.github/workflows/caravel_build.yml index 3978d7f..d977573 100644 --- a/.github/workflows/caravel_build.yml +++ b/.github/workflows/caravel_build.yml
@@ -1,73 +1,52 @@ -name: Caravel Build - - +name: CD on: - # Runs on Every Push push: - # Runs on Pull Requests pull_request: workflow_dispatch: - + workflow_call: jobs: - make_ship: + build: runs-on: ubuntu-latest + env: + PDK_ROOT: /home/runner/work/caravel_mpw4/pdks + OPENLANE_ROOT: /home/runner/work/caravel_mpw4/openlane + CARAVEL_ROOT: /home/runner/work/caravel_mpw4/caravel_mpw4/caravel + OPENLANE_IMAGE_NAME: efabless/openlane:mpw-3a + OPENLANE_TAG: 2021.12.17_05.07.41 + CARAVEL_TAG: mpw-3a + MAGIC_VERSION: 8.3.209 steps: - uses: actions/checkout@v2 - - - 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: 2021.12.17_05.07.41 - - - name: Run make ship - run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-ship.sh - env: - OPENLANE_TAG: 2021.12.17_05.07.41 - - set_user_id: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - 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: 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: 2021.09.16_03.28.21 - - xor_wrapper: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - 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: 2021.09.16_03.28.21 - - - name: Run XOR Check - run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-xor.sh - env: - OPENLANE_TAG: 2021.09.16_03.28.21 + - name: debug + run: | + echo ${{ github.event_name }} + - name: install deps + run: bash .github/scripts/build/run-install-magic.sh + - name: install caravel + run: bash .github/scripts/build/run-pdk-build.sh + - name: uncompress + run: make uncompress + - name: build user gds + run: | + bash .github/scripts/build/build-user.sh \ + || bash .github/scripts/build/build-user.sh \ + || bash .github/scripts/build/build-user.sh \ + || bash .github/scripts/build/build-user.sh \ + bash .github/scripts/build/build-user.sh + - name: build wrapper gds + run: | + bash .github/scripts/build/build-wrapper.sh \ + || bash .github/scripts/build/build-wrapper.sh \ + || bash .github/scripts/build/build-wrapper.sh \ + || bash .github/scripts/build/build-wrapper.sh \ + || bash .github/scripts/build/build-wrapper.sh + - name: compress + run: make compress + - name: push + #if: github.event_name == 'workflow_dispatch' + run: | + git add def gds lef mag maglef signoff verilog + git config user.email "rbacik@hotmail.com" + git config user.name "roman3017" + git commit -m "tag action: update build" + git push origin HEAD:main
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml index 9196114..bc3cc32 100644 --- a/.github/workflows/user_project_ci.yml +++ b/.github/workflows/user_project_ci.yml
@@ -1,92 +1,66 @@ name: CI - - on: - # Runs on Every Push - push: - # Runs on Pull Requests - pull_request: - workflow_dispatch: - + workflow_dispatch: + workflow_run: + workflows: ["CD"] + types: + - completed jobs: precheck: + if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest - timeout-minutes: 720 steps: - uses: actions/checkout@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Install The Precheck - run: sh ${GITHUB_WORKSPACE}/.github/scripts/precheck/precheckBuild.sh - + run: bash .github/scripts/precheck/precheckBuild.sh + - name: Sanitize The Precheck + run: | + sed -i 's/yaml manifest makefile consistency/makefile/g' .github/scripts/precheck/run-precheck.sh + gzip -d -f gds/* - name: Run The Precheck - run: bash ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck.sh - + run: bash .github/scripts/precheck/run-precheck.sh precheck-drc: - timeout-minutes: 720 + if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Install The Precheck - run: sh ${GITHUB_WORKSPACE}/.github/scripts/precheck/precheckBuild.sh - + run: bash .github/scripts/precheck/precheckBuild.sh + - name: Sanitize The Precheck + run: | + sed -i 's/yaml manifest makefile consistency/makefile/g' .github/scripts/precheck/run-precheck.sh + gzip -d -f gds/* - name: Run The Precheck - run: bash ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck-drc.sh - + run: bash .github/scripts/precheck/run-precheck-drc.sh dv_rtl: + if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest + env: + OPENLANE_TAG: 2021.12.17_05.07.41 + CARAVEL_TAG: mpw-3a + MAGIC_VERSION: 8.3.209 steps: - uses: actions/checkout@v2 - - - 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: 2021.09.16_03.28.21 - - - name: Install The Dockerized DV Setup - run: docker pull efabless/dv_setup:latest - + - name: install deps + run: bash .github/scripts/build/run-install-magic.sh + - name: Install Caravel + run: bash .github/scripts/build/run-pdk-build.sh - 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 RTL - + # Run test number 0,1,2,3,4 in one job <test-ids> <sim-mode> + run: bash .github/scripts/dv/run-dv-tests.sh 4 RTL dv_gl: + if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest + env: + OPENLANE_TAG: 2021.12.17_05.07.41 + CARAVEL_TAG: mpw-3a + MAGIC_VERSION: 8.3.209 steps: - uses: actions/checkout@v2 - - - 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: 2021.09.16_03.28.21 - - - name: Install The Dockerized DV Setup - run: docker pull efabless/dv_setup:latest - + - name: install deps + run: bash .github/scripts/build/run-install-magic.sh + - name: Install Caravel + run: bash .github/scripts/build/run-pdk-build.sh - 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 + # Run test number 0,1,2,3,4 in one job <test-ids> <sim-mode> + run: bash .github/scripts/dv/run-dv-tests.sh 4 GL
diff --git a/openlane/user_proj/config.tcl b/openlane/user_proj/config.tcl index f031102..fde6603 100755 --- a/openlane/user_proj/config.tcl +++ b/openlane/user_proj/config.tcl
@@ -44,12 +44,12 @@ set ::env(CLOCK_PORT) "wb_clk_i" set ::env(CLOCK_PERIOD) 10 -set ::env(DIE_AREA) "0 0 900 900" +set ::env(DIE_AREA) "0 0 1000 1000" set ::env(DIODE_INSERTION_STRATEGY) 4 set ::env(FP_PIN_ORDER_CFG) $script_dir/pin_order.cfg -set ::env(FP_CORE_UTIL) 35 +set ::env(FP_CORE_UTIL) 30 set ::env(FP_PDN_CORE_RING) 0 set ::env(FP_PDN_IRDROP) 0 @@ -62,6 +62,7 @@ set ::env(PL_TARGET_DENSITY) [ expr ($::env(FP_CORE_UTIL)+5) / 100.0 ] set ::env(PL_TIME_DRIVEN) 1 + set ::env(QUIT_ON_HOLD_VIOLATIONS) 0 set ::env(QUIT_ON_TIMING_VIOLATIONS) 0 set ::env(QUIT_ON_SLEW_VIOLATIONS) 0
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl index 0a6389e..14a9337 100755 --- a/openlane/user_project_wrapper/config.tcl +++ b/openlane/user_project_wrapper/config.tcl
@@ -20,12 +20,10 @@ set ::env(STD_CELL_LIBRARY) "sky130_fd_sc_hd" # YOU ARE NOT ALLOWED TO CHANGE ANY VARIABLES DEFINED IN THE FIXED WRAPPER CFGS -#source $::env(CARAVEL_ROOT)/openlane/user_project_wrapper_empty/fixed_wrapper_cfgs.tcl -source $::env(CARAVEL_ROOT)/openlane/user_project_wrapper/fixed_wrapper_cfgs.tcl +source $::env(CARAVEL_ROOT)/openlane/user_project_wrapper_empty/fixed_wrapper_cfgs.tcl # YOU CAN CHANGE ANY VARIABLES DEFINED IN THE DEFAULT WRAPPER CFGS BY OVERRIDING THEM IN THIS CONFIG.TCL -#source $::env(CARAVEL_ROOT)/openlane/user_project_wrapper_empty/default_wrapper_cfgs.tcl -source $::env(CARAVEL_ROOT)/openlane/user_project_wrapper/default_wrapper_cfgs.tcl +source $::env(CARAVEL_ROOT)/openlane/user_project_wrapper_empty/default_wrapper_cfgs.tcl set script_dir [file dirname [file normalize [info script]]] @@ -50,18 +48,10 @@ $script_dir/../../lef/user_proj.lef \ $script_dir/src/sky130_sram_2kbyte_1rw1r_32x512_8.lef" -#set ::env(EXTRA_LEFS) "\ - $script_dir/../user_proj/runs/user_proj/results/final/lef/user_proj.lef \ - $script_dir/src/sky130_sram_2kbyte_1rw1r_32x512_8.lef" - set ::env(EXTRA_GDS_FILES) "\ $script_dir/../../gds/user_proj.gds \ $script_dir/src/sky130_sram_2kbyte_1rw1r_32x512_8.gds" -set ::env(EXTRA_GDS_FILES) "\ - $script_dir/../user_proj/runs/user_proj/results/final/gds/user_proj.gds \ - $script_dir/src/sky130_sram_2kbyte_1rw1r_32x512_8.gds" - #set ::env(EXTRA_LIBS) "\ $script_dir/src/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib" @@ -73,7 +63,7 @@ set ::env(FILL_INSERTION) 0 -set ::env(FP_CORE_UTIL) 15 +set ::env(FP_CORE_UTIL) 30 set ::env(FP_PDN_CHECK_NODES) 0 set ::env(FP_PDN_ENABLE_RAILS) 0 set ::env(FP_PDN_MACRO_HOOKS) " \ @@ -83,15 +73,16 @@ set ::env(GLB_RT_MAXLAYER) 5 set ::env(GLB_RT_OBS) " \ - met1 300 2100 983.1 2516.54, \ - met2 300 2100 983.1 2516.54, \ - met3 300 2100 983.1 2516.54, \ - met4 300 2100 983.1 2516.54, \ - met1 1100 2100 1783.1 2516.54, \ - met2 1100 2100 1783.1 2516.54, \ - met3 1100 2100 1783.1 2516.54, \ - met4 1100 2100 1783.1 2516.54" -#set ::env(KLAYOUT_XOR_GDS) 0 + met1 300 2230 983.1 2646.54, \ + met2 300 2230 983.1 2646.54, \ + met3 300 2230 983.1 2646.54, \ + met4 300 2230 983.1 2646.54, \ + met1 1100 2230 1783.1 2646.54, \ + met2 1100 2230 1783.1 2646.54, \ + met3 1100 2230 1783.1 2646.54, \ + met4 1100 2230 1783.1 2646.54" + +set ::env(KLAYOUT_XOR_GDS) 0 set ::env(MACRO_PLACEMENT_CFG) $script_dir/macro.cfg @@ -107,17 +98,15 @@ set ::env(QUIT_ON_HOLD_VIOLATIONS) 0 set ::env(QUIT_ON_TIMING_VIOLATIONS) 0 set ::env(QUIT_ON_SLEW_VIOLATIONS) 0 -set ::env(QUIT_ON_MAGIC_DRC) 0 -set ::env(QUIT_ON_TR_DRC) 0 set ::env(QUIT_ON_LVS_ERROR) 0 -set ::env(QUIT_ON_NEGATIVE_WNS) 0 +set ::env(QUIT_ON_MAGIC_DRC) 0 set ::env(ROUTING_CORES) 8 set ::env(RT_MAX_LAYER) "met4" -set ::env(RUN_KLAYOUT_DRC) 0 -set ::env(RUN_MAGIC_DRC) 0 +#set ::env(RUN_KLAYOUT_DRC) 0 +#set ::env(RUN_MAGIC_DRC) 0 set ::env(SYNTH_TOP_LEVEL) 1 set ::env(SYNTH_READ_BLACKBOX_LIB) 1
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg index 1a20744..e597dbc 100644 --- a/openlane/user_project_wrapper/macro.cfg +++ b/openlane/user_project_wrapper/macro.cfg
@@ -1,3 +1,3 @@ -mprj 300 300 N -sram 300 2100 N -sram1 1100 2100 N \ No newline at end of file +mprj 300 430 N +sram 300 2230 N +sram1 1100 2230 N \ No newline at end of file
diff --git a/verilog/dv/wb_leds/Makefile b/verilog/dv/wb_leds/Makefile index cc00101..2c2d8ce 100644 --- a/verilog/dv/wb_leds/Makefile +++ b/verilog/dv/wb_leds/Makefile
@@ -13,6 +13,8 @@ # limitations under the License. # # SPDX-License-Identifier: Apache-2.0 +## PDK +PDK_PATH = $(PDK_ROOT)/sky130A ## Caravel Pointers CARAVEL_ROOT ?= ../../../caravel @@ -28,10 +30,8 @@ UPRJ_BEHAVIOURAL_MODELS = ../ ## RISCV GCC -PDK_ROOT?=/local/home/roman/projects/opencircuitdesign/shuttle4/pdks -GCC_PATH?=/opt/xpack-riscv-none-embed-gcc/bin -GCC_PREFIX?=riscv-none-embed -PDK_PATH?=$(PDK_ROOT)/sky130A +GCC_PATH?=/usr/bin +GCC_PREFIX?=riscv64-unknown-elf ## Simulation mode: RTL/GL SIM?=RTL
diff --git a/verilog/rtl/uprj_netlists.v b/verilog/rtl/uprj_netlists.v index 17dd6d2..2ea7f9e 100644 --- a/verilog/rtl/uprj_netlists.v +++ b/verilog/rtl/uprj_netlists.v
@@ -22,6 +22,7 @@ `default_nettype wire `include "gl/user_project_wrapper.v" `include "gl/user_proj.v" + `include "../../../openlane/user_project_wrapper/src/sky130_sram_2kbyte_1rw1r_32x512_8.v" `else `include "../../../openlane/user_project_wrapper/src/user_project_wrapper.v" `include "../../../openlane/user_project_wrapper/src/sky130_sram_2kbyte_1rw1r_32x512_8.v"