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.