4.6 Running precheck and getting the design ready for tapeout

Table of contents

Prerequisites

To follow this lesson, you need to finish Lesson 4.5 before.
You also need to set up the PDK_ROOT and OPENLANE_ROOT to the correct location as specified during the previous lesson.

Preparation

The final step before submitting the design for tapeout with Efabless is to run the precheck to verify that everything is in compliance with the Efabless process.

1. Download the precheck script and its docker image by running the following command.
make precheck
cass@unic-cass$ make precheck
Cloning into '/home/cass/mpw_precheck'...
remote: Enumerating objects: 131, done.
remote: Counting objects: 100% (131/131), done.
remote: Compressing objects: 100% (90/90), done.
remote: Total 131 (delta 36), reused 93 (delta 34), pack-reused 0
Receiving objects: 100% (131/131), 8.71 MiB | 890.00 KiB/s, done.
Resolving deltas: 100% (36/36), done.
Note: switching to '6bdcfb792fe90132dd65cfe7d15785fdbbe91fc1'.


You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.


If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:


  git switch -c <new-branch-name>


Or undo this operation with:


  git switch -


Turn off this advice by setting config variable advice.detachedHead to false


latest: Pulling from efabless/mpw_precheck
2d473b07cdd5: Already exists
8793396454b7: Pull complete
71f4ce9f1c12: Pull complete
345fda58647d: Pull complete
3c643b16bc3b: Pull complete
04c9b47ab825: Pull complete
f9bd26a238bc: Pull complete
d6725ea9490e: Pull complete
4f4fb700ef54: Pull complete
a57cda0f0d3b: Pull complete
e9ceaa1b99f7: Pull complete
76db962e88c3: Pull complete
ba4e93f01860: Pull complete
fd8507c6c775: Pull complete
59cb1ad60938: Pull complete
ab5f8c4b008c: Pull complete
6111cdb3acec: Pull complete
Digest: sha256:75e6a27af0034a00c19f85bc0382d84ccad5992f3c2e63c9f8802d2d762eefc3
Status: Downloaded newer image for efabless/mpw_precheck:latest
docker.io/efabless/mpw_precheck:latest

Run the precheck:

make run-precheck
cass@unic-cass:~/unic-cass/caravel_tutorial/caravel_uniccas_example$ make run-precheck
cd /home/cass/mpw_precheck && \
docker run -v /home/cass/mpw_precheck:/home/cass/mpw_precheck \
-v /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example:/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example \
-v /home/cass/unic-cass/caravel_tutorial/pdks:/home/cass/unic-cass/caravel_tutorial/pdks \
-e INPUT_DIRECTORY=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example \
-e PDK_PATH=/home/cass/unic-cass/caravel_tutorial/pdks/sky130A \
-e PDK_ROOT=/home/cass/unic-cass/caravel_tutorial/pdks \
-e PDKPATH=/home/cass/unic-cass/caravel_tutorial/pdks/sky130A \
-u 1000:1000 \
efabless/mpw_precheck:latest bash -c "cd /home/cass/mpw_precheck ; python3 mpw_precheck.py --input_directory /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example --pdk_path /home/cass/unic-cass/caravel_tutorial/pdks/sky130A"
\{\{EXTRACTING FILES\}\} Extracting compressed files in: /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example
\{\{Project Type Info\}\} digital
\{\{Project GDS Info\}\} user_project_wrapper: e86539c05dbb96b5cc9761355b5e1029e2ea5271
\{\{Tools Info\}\} KLayout: v0.27.13 | Magic: v8.3.420
\{\{PDKs Info\}\} SKY130A: f70d8ca46961ff92719d8870a18a076370b85f6c | Open PDKs: e6f9c8876da77220403014b116761b0b2d79aab4
\{\{START\}\} Precheck Started, the full log 'precheck.log' will be located in '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/logs'
\{\{PRECHECK SEQUENCE\}\} Precheck will run the following checks: [License, Makefile, Default, Documentation, Consistency, GPIO-Defines, XOR, Magic DRC, Klayout FEOL, Klayout BEOL, Klayout Offgrid, Klayout Metal Minimum Clear Area Density, Klayout Pin Label Purposes Overlapping Drawing, Klayout ZeroArea]
\{\{STEP UPDATE\}\} Executing Check 1 of 14: License
An approved LICENSE (Apache-2.0) was found in /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example.
\{\{MAIN LICENSE CHECK PASSED\}\} An approved LICENSE was found in project root.
An approved LICENSE (Apache-2.0) was found in /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example.
An approved LICENSE (Apache-2.0) was found in /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example.
An approved LICENSE (Apache-2.0) was found in /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example.
An approved LICENSE (Apache-2.0) was found in /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example.
\{\{SUBMODULES LICENSE CHECK PASSED\}\} No prohibited LICENSE file(s) was found in project submodules
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/python): 'utf-8' codec can't decode byte 0xf8 in position 96: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/python3): 'utf-8' codec can't decode byte 0xf8 in position 96: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/python3.10): 'utf-8' codec can't decode byte 0xf8 in position 96: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/yaml/_yaml.cpython-310-x86_64-linux-gnu.so): 'utf-8' codec can't decode byte 0x90 in position 24: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/setuptools/gui.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/setuptools/cli-arm64.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/setuptools/gui-arm64.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/setuptools/gui-64.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/setuptools/cli.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/setuptools/gui-32.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/setuptools/cli-32.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/setuptools/cli-64.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/charset_normalizer/md.cpython-310-x86_64-linux-gnu.so): 'utf-8' codec can't decode byte 0x90 in position 24: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/charset_normalizer/md__mypyc.cpython-310-x86_64-linux-gnu.so): 'utf-8' codec can't decode byte 0xe2 in position 25: invalid continuation byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/pip/_vendor/distlib/w64.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/pip/_vendor/distlib/w32.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/pip/_vendor/distlib/t64-arm.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/pip/_vendor/distlib/t64.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/pip/_vendor/distlib/w64-arm.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/pip/_vendor/distlib/t32.exe): 'utf-8' codec can't decode byte 0x90 in position 2: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/zstandard/backend_c.cpython-310-x86_64-linux-gnu.so): 'utf-8' codec can't decode byte 0xac in position 42: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/mgmt_core_wrapper/verilog/rtl/ibex/sv-source-orig/sv2v): 'utf-8' codec can't decode byte 0xcf in position 0: invalid continuation byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/mgmt_core_wrapper/verilog/dv/tests-standalone/spi_master/spi_master.vcd.hier): 'utf-8' codec can't decode byte 0xfc in position 0: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/mgmt_core_wrapper/lvs/utils/vlog2Spice): 'utf-8' codec can't decode byte 0xf8 in position 96: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/mgmt_core_wrapper/lvs/examples/utils/vlog2Spice): 'utf-8' codec can't decode byte 0xf8 in position 96: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/tmp/9-user_project_wrapper.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/tmp/routing/11-global.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/tmp/routing/diode.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/tmp/placement/7-global.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/tmp/floorplan/3-initial_fp.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/tmp/floorplan/4-io.macro_placement.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/tmp/floorplan/4-io.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/tmp/floorplan/6-pdn.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/results/routing/user_project_wrapper.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/runs/23_08_06_17_42/results/placement/user_project_wrapper.odb): 'utf-8' codec can't decode byte 0xba in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/12-user_proj_example.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/routing/14-global.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/routing/diode.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/routing/16-fill.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/cts/11-user_proj_example.resized.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/placement/7-global.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/placement/8-resizer.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/floorplan/3-initial_fp.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/floorplan/4-io.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/tmp/floorplan/6-pdn.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/results/routing/user_proj_example.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/results/cts/user_proj_example.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/results/placement/user_proj_example.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
SPDX COMPLIANCE FILE UNICODE DECODE EXCEPTION in (/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/runs/23_08_06_15_31/results/floorplan/user_proj_example.odb): 'utf-8' codec can't decode byte 0xb9 in position 16: invalid start byte
\{\{SPDX COMPLIANCE CHECK FAILED\}\} Found 2270 non-compliant file(s) with the SPDX Standard.
SPDX COMPLIANCE: NON-COMPLIANT FILE(S) PREVIEW: ['/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/pip3.10', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/activate', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/Activate.ps1', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/normalizer', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/pcpp', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/pip3', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/cmark', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/volare', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/pip3.11', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/pygmentize', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/activate.fish', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/pip', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/bin/activate.csh', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/distutils-precedence.pth', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/venv/lib/python3.10/site-packages/charset_normalizer-3.2.0.dist-info/RECORD']
For the full SPDX compliance report check: /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/logs/spdx_compliance_report.log
\{\{STEP UPDATE\}\} Executing Check 2 of 14: Makefile
\{\{MAKEFILE CHECK PASSED\}\} Makefile valid.
\{\{STEP UPDATE\}\} Executing Check 3 of 14: Default
The provided 'README.md' is identical to the default 'README.md'
\{\{README DEFAULT CHECK FAILED\}\} Project 'README.md' was not modified and is identical to the default 'README.md'
\{\{CONTENT DEFAULT CHECK PASSED\}\} Project 'gds' was modified and is not identical to the default 'gds'
\{\{STEP UPDATE\}\} Executing Check 4 of 14: Documentation
\{\{DOCUMENTATION CHECK PASSED\}\} Project documentation is appropriate.
\{\{STEP UPDATE\}\} Executing Check 5 of 14: Consistency
PORTS CHECK PASSED: Netlist user_project_wrapper ports match the golden wrapper ports
COMPLEXITY CHECK PASSED: Netlist user_project_wrapper contains at least 1 instances (1 instances).
MODELING CHECK PASSED: Netlist user_project_wrapper is structural.
LAYOUT CHECK PASSED: The GDS layout for user_project_wrapper matches the provided structural netlist.
POWER CONNECTIONS CHECK PASSED: All instances in user_project_wrapper are connected to power
PORT TYPES CHECK PASSED: Netlist user_project_wrapper port types match the golden wrapper port types.
\{\{NETLIST CONSISTENCY CHECK PASSED\}\} user_project_wrapper netlist passed all consistency checks.
\{\{CONSISTENCY CHECK PASSED\}\} The user netlist and the top netlist are valid.
\{\{STEP UPDATE\}\} Executing Check 6 of 14: GPIO-Defines
GPIO-DEFINES: Checking verilog/rtl/user_defines.v, parsing files: ['/home/cass/mpw_precheck/checks/gpio_defines_check/verilog_assets/gpio_modes_base.v', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/verilog/rtl/user_defines.v', '/home/cass/mpw_precheck/checks/gpio_defines_check/verilog_assets/gpio_modes_observe.v']
\{\{GPIO-DEFINES: ERROR IN verilog/rtl/user_defines.v\}\} Directives(33) still placeholder (13'hXXXX) or not hex-literal: USER_CONFIG_GPIO_5_INIT=13'hXXXX USER_CONFIG_GPIO_6_INIT=13'hXXXX USER_CONFIG_GPIO_7_INIT=13'hXXXX USER_CONFIG_GPIO_8_INIT=13'hXXXX USER_CONFIG_GPIO_9_INIT=13'hXXXX USER_CONFIG_GPIO_10_INIT=13'hXXXX USER_CONFIG_GPIO_11_INIT=13'hXXXX USER_CONFIG_GPIO_12_INIT=13'hXXXX USER_CONFIG_GPIO_13_INIT=13'hXXXX USER_CONFIG_GPIO_14_INIT=13'hXXXX USER_CONFIG_GPIO_26_INIT=13'hXXXX USER_CONFIG_GPIO_27_INIT=13'hXXXX USER_CONFIG_GPIO_28_INIT=13'hXXXX USER_CONFIG_GPIO_29_INIT=13'hXXXX USER_CONFIG_GPIO_30_INIT=13'hXXXX USER_CONFIG_GPIO_31_INIT=13'hXXXX USER_CONFIG_GPIO_32_INIT=13'hXXXX USER_CONFIG_GPIO_33_INIT=13'hXXXX USER_CONFIG_GPIO_34_INIT=13'hXXXX USER_CONFIG_GPIO_35_INIT=13'hXXXX USER_CONFIG_GPIO_36_INIT=13'hXXXX USER_CONFIG_GPIO_37_INIT=13'hXXXX USER_CONFIG_GPIO_15_INIT=13'hXXXX USER_CONFIG_GPIO_16_INIT=13'hXXXX USER_CONFIG_GPIO_17_INIT=13'hXXXX USER_CONFIG_GPIO_18_INIT=13'hXXXX USER_CONFIG_GPIO_19_INIT=13'hXXXX USER_CONFIG_GPIO_20_INIT=13'hXXXX USER_CONFIG_GPIO_21_INIT=13'hXXXX USER_CONFIG_GPIO_22_INIT=13'hXXXX USER_CONFIG_GPIO_23_INIT=13'hXXXX USER_CONFIG_GPIO_24_INIT=13'hXXXX USER_CONFIG_GPIO_25_INIT=13'hXXXX.. No report generated.
\{\{GPIO-DEFINES CHECK FAILED\}\} The user verilog/rtl/user_defines.v is not valid.
\{\{STEP UPDATE\}\} Executing Check 7 of 14: XOR
\{\{XOR CHECK UPDATE\}\} Total XOR differences: 0, for more details view /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/outputs/user_project_wrapper.xor.gds
\{\{XOR CHECK PASSED\}\} The GDS file has no XOR violations.
\{\{STEP UPDATE\}\} Executing Check 8 of 14: Magic DRC
Found 0 violations
0 DRC violations
\{\{MAGIC DRC CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 9 of 14: Klayout FEOL
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/tech-files/sky130A_mr.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/outputs/reports/klayout_feol_check.xml -rd feol=true >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/logs/klayout_feol_check.log
No DRC Violations found
\{\{Klayout FEOL CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 10 of 14: Klayout BEOL
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/tech-files/sky130A_mr.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/outputs/reports/klayout_beol_check.xml -rd beol=true >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/logs/klayout_beol_check.log
No DRC Violations found
\{\{Klayout BEOL CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 11 of 14: Klayout Offgrid
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/tech-files/sky130A_mr.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/outputs/reports/klayout_offgrid_check.xml -rd offgrid=true >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/logs/klayout_offgrid_check.log
No DRC Violations found
\{\{Klayout Offgrid CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 12 of 14: Klayout Metal Minimum Clear Area Density
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/drc_checks/klayout/met_min_ca_density.lydrc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/outputs/reports/klayout_met_min_ca_density_check.xml >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/logs/klayout_met_min_ca_density_check.log
No DRC Violations found
\{\{Klayout Metal Minimum Clear Area Density CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 13 of 14: Klayout Pin Label Purposes Overlapping Drawing
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/drc_checks/klayout/pin_label_purposes_overlapping_drawing.rb.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/outputs/reports/klayout_pin_label_purposes_overlapping_drawing_check.xml -rd top_cell_name=user_project_wrapper >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/logs/klayout_pin_label_purposes_overlapping_drawing_check.log
No DRC Violations found
\{\{Klayout Pin Label Purposes Overlapping Drawing CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 14 of 14: Klayout ZeroArea
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/drc_checks/klayout/zeroarea.rb.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/outputs/reports/klayout_zeroarea_check.xml -rd cleaned_output=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/outputs/user_project_wrapper_no_zero_areas.gds >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/logs/klayout_zeroarea_check.log
No DRC Violations found
\{\{Klayout ZeroArea CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{FINISH\}\} Executing Finished, the full log 'precheck.log' can be found in '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___14_37_13/logs'
\{\{FAILURE\}\} 2 Check(s) Failed: ['Default', 'GPIO-Defines'] !!!
Generating LALR tables
WARNING: 183 shift/reduce conflicts
make: *** [Makefile:223: run-precheck] Error 2

After making some changes, we now can run the precheck again

make run-precheck
cd /home/cass/mpw_precheck && \
docker run -v /home/cass/mpw_precheck:/home/cass/mpw_precheck \
-v /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example:/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example \
-v /home/cass/unic-cass/caravel_tutorial/pdks:/home/cass/unic-cass/caravel_tutorial/pdks \
-e INPUT_DIRECTORY=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example \
-e PDK_PATH=/home/cass/unic-cass/caravel_tutorial/pdks/sky130A \
-e PDK_ROOT=/home/cass/unic-cass/caravel_tutorial/pdks \
-e PDKPATH=/home/cass/unic-cass/caravel_tutorial/pdks/sky130A \
-u 1000:1000 \
efabless/mpw_precheck:latest bash -c "cd /home/cass/mpw_precheck ; python3 mpw_precheck.py --input_directory /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example --pdk_path /home/cass/unic-cass/caravel_tutorial/pdks/sky130A"
\{\{EXTRACTING FILES\}\} Extracting compressed files in: /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example
\{\{Project Type Info\}\} digital
\{\{Project GDS Info\}\} user_project_wrapper: e86539c05dbb96b5cc9761355b5e1029e2ea5271
\{\{Tools Info\}\} KLayout: v0.27.13 | Magic: v8.3.420
\{\{PDKs Info\}\} SKY130A: f70d8ca46961ff92719d8870a18a076370b85f6c | Open PDKs: e6f9c8876da77220403014b116761b0b2d79aab4
\{\{START\}\} Precheck Started, the full log 'precheck.log' will be located in '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/logs'
\{\{PRECHECK SEQUENCE\}\} Precheck will run the following checks: [License, Makefile, Default, Documentation, Consistency, GPIO-Defines, XOR, Magic DRC, Klayout FEOL, Klayout BEOL, Klayout Offgrid, Klayout Metal Minimum Clear Area Density, Klayout Pin Label Purposes Overlapping Drawing, Klayout ZeroArea]
\{\{STEP UPDATE\}\} Executing Check 1 of 14: License
An approved LICENSE (Apache-2.0) was found in /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example.
\{\{MAIN LICENSE CHECK PASSED\}\} An approved LICENSE was found in project root.
An approved LICENSE (Apache-2.0) was found in /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example.
An approved LICENSE (Apache-2.0) was found in /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example.
\{\{SUBMODULES LICENSE CHECK PASSED\}\} No prohibited LICENSE file(s) was found in project submodules
\{\{SPDX COMPLIANCE CHECK FAILED\}\} Found 91 non-compliant file(s) with the SPDX Standard.
SPDX COMPLIANCE: NON-COMPLIANT FILE(S) PREVIEW: ['/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/verilog/includes/includes.gl.caravel_user_project', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/verilog/includes/includes.gl+sdf.caravel_user_project', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/verilog/includes/includes.rtl.caravel_user_project', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/verilog/rtl/seven_segment_seconds.v', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/verilog/dv/seven_segment_seconds/seven_segment_seconds.hexe', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/verilog/dv/seven_segment_seconds/seven_segment_seconds.lst', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/config.json', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/base_user_project_wrapper.sdc', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/fixed_dont_change/drc_exclude.cells', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_project_wrapper/fixed_dont_change/no_synth.cells', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/config.json', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/drc_exclude.cells', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/base_user_proj_example.sdc', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/openlane/user_proj_example/no_synth.cells', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/signoff/user_project_wrapper/runtime.yaml']
For the full SPDX compliance report check: /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/logs/spdx_compliance_report.log
\{\{STEP UPDATE\}\} Executing Check 2 of 14: Makefile
\{\{MAKEFILE CHECK PASSED\}\} Makefile valid.
\{\{STEP UPDATE\}\} Executing Check 3 of 14: Default
The provided 'README.md' is identical to the default 'README.md'
\{\{README DEFAULT CHECK FAILED\}\} Project 'README.md' was not modified and is identical to the default 'README.md'
\{\{CONTENT DEFAULT CHECK PASSED\}\} Project 'gds' was modified and is not identical to the default 'gds'
\{\{STEP UPDATE\}\} Executing Check 4 of 14: Documentation
\{\{DOCUMENTATION CHECK PASSED\}\} Project documentation is appropriate.
\{\{STEP UPDATE\}\} Executing Check 5 of 14: Consistency
PORTS CHECK PASSED: Netlist user_project_wrapper ports match the golden wrapper ports
COMPLEXITY CHECK PASSED: Netlist user_project_wrapper contains at least 1 instances (1 instances).
MODELING CHECK PASSED: Netlist user_project_wrapper is structural.
LAYOUT CHECK PASSED: The GDS layout for user_project_wrapper matches the provided structural netlist.
POWER CONNECTIONS CHECK PASSED: All instances in user_project_wrapper are connected to power
PORT TYPES CHECK PASSED: Netlist user_project_wrapper port types match the golden wrapper port types.
\{\{NETLIST CONSISTENCY CHECK PASSED\}\} user_project_wrapper netlist passed all consistency checks.
\{\{CONSISTENCY CHECK PASSED\}\} The user netlist and the top netlist are valid.
\{\{STEP UPDATE\}\} Executing Check 6 of 14: GPIO-Defines
GPIO-DEFINES: Checking verilog/rtl/user_defines.v, parsing files: ['/home/cass/mpw_precheck/checks/gpio_defines_check/verilog_assets/gpio_modes_base.v', '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/verilog/rtl/user_defines.v', '/home/cass/mpw_precheck/checks/gpio_defines_check/verilog_assets/gpio_modes_observe.v']
GPIO-DEFINES report path: /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/outputs/reports/gpio_defines.report
\{\{GPIO-DEFINES CHECK PASSED\}\} The user verilog/rtl/user_defines.v is valid.
\{\{STEP UPDATE\}\} Executing Check 7 of 14: XOR
\{\{XOR CHECK UPDATE\}\} Total XOR differences: 0, for more details view /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/outputs/user_project_wrapper.xor.gds
\{\{XOR CHECK PASSED\}\} The GDS file has no XOR violations.
\{\{STEP UPDATE\}\} Executing Check 8 of 14: Magic DRC
Found 0 violations
0 DRC violations
\{\{MAGIC DRC CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 9 of 14: Klayout FEOL
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/tech-files/sky130A_mr.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/outputs/reports/klayout_feol_check.xml -rd feol=true >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/logs/klayout_feol_check.log
No DRC Violations found
\{\{Klayout FEOL CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 10 of 14: Klayout BEOL
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/tech-files/sky130A_mr.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/outputs/reports/klayout_beol_check.xml -rd beol=true >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/logs/klayout_beol_check.log
No DRC Violations found
\{\{Klayout BEOL CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 11 of 14: Klayout Offgrid
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/tech-files/sky130A_mr.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/outputs/reports/klayout_offgrid_check.xml -rd offgrid=true >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/logs/klayout_offgrid_check.log
No DRC Violations found
\{\{Klayout Offgrid CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 12 of 14: Klayout Metal Minimum Clear Area Density
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/drc_checks/klayout/met_min_ca_density.lydrc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/outputs/reports/klayout_met_min_ca_density_check.xml >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/logs/klayout_met_min_ca_density_check.log
No DRC Violations found
\{\{Klayout Metal Minimum Clear Area Density CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 13 of 14: Klayout Pin Label Purposes Overlapping Drawing
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/drc_checks/klayout/pin_label_purposes_overlapping_drawing.rb.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/outputs/reports/klayout_pin_label_purposes_overlapping_drawing_check.xml -rd top_cell_name=user_project_wrapper >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/logs/klayout_pin_label_purposes_overlapping_drawing_check.log
No DRC Violations found
\{\{Klayout Pin Label Purposes Overlapping Drawing CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{STEP UPDATE\}\} Executing Check 14 of 14: Klayout ZeroArea
in CUSTOM klayout_gds_drc_check
run: klayout -b -r /home/cass/mpw_precheck/checks/drc_checks/klayout/zeroarea.rb.drc -rd input=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/gds/user_project_wrapper.gds -rd topcell=user_project_wrapper -rd report=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/outputs/reports/klayout_zeroarea_check.xml -rd cleaned_output=/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/outputs/user_project_wrapper_no_zero_areas.gds >& /home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/logs/klayout_zeroarea_check.log
No DRC Violations found
\{\{Klayout ZeroArea CHECK PASSED\}\} The GDS file, user_project_wrapper.gds, has no DRC violations.
\{\{FINISH\}\} Executing Finished, the full log 'precheck.log' can be found in '/home/cass/unic-cass/caravel_tutorial/caravel_uniccas_example/precheck_results/06_AUG_2023___16_07_29/logs'
\{\{FAILURE\}\} 1 Check(s) Failed: ['Default'] !!!
Generating LALR tables
WARNING: 183 shift/reduce conflicts
make: *** [Makefile:223: run-precheck] Error 2

Now, the error with GPIO check is good. The only error left is the one with the SPDX compliance header. You can remove these files before running the precheck. However, we skip it for now because there files are not committed to Github. The precheck on Efabless server should be passed because these files are not in our git repository.

What’s next?

At this stage, our design is complete and we are ready for the tapeout. We will have to submit our design into git and submit our project on Efabless website. After submission, Efabless will pull our design and run the precheck and tapeout job. This might introduce errors and you can solve them as mentioned.

References

  1. Efabless, MPW-6 Walkthrough
  2. Caravel harness documentation
  3. Caravel User Project Documentation