When I harden the user_project_wrapper for physica...
# caravel
a
When I harden the user_project_wrapper for physical implementation. I got this error. Where should I find this error log? Why this error is caused?#C016H8WJMBR #C05M85Q5GCF #C016UL7AQ73 #C032VUYLL64 #C016N88BX44
a
Check
openlane/user_project_wrapper/macro.cfg
and see what cells (macros) you have in there, then make sure there are Verilog module instances with those same names in
verilog/rtl/user_project_wrapper.v
-- also, be sure you have run
make YOUR_MACRO_NAME_HERE
for each module name you are using inside the
user_project_wrapper
Verilog module. Finally, share your
user_project_wrapper.v
file here. It's likely you have some logic in it which cannot be synthesized at the top level (for example: you have something like a small number of gates, or even a constant like
1'b0
which cannot be done at the top level, but there are ways this should be handled differently that we can help with).
v
There are unmapped cells during synthesis. Check 1-synthesis.log or attach the logs to get more information
a
Kindly refer to the attached documents. Where can i see the error log?
a
@Arsath Jafar in your screenshot, here's the actual error:
This is caused in your code by lines 94, 127, and 130.
No standard cells can be synthesized with the default method for
make user_project_wrapper
. Line 94 is a problem because
2'b00
requires two "tie low"
conb
cells.
Lines 127 and 130 are a problem because they both require an inverter cell (i.e. for
~
)
You can change line 94 to simply:
assign user_irq[0] = user_sys_irq;
-- you don't need to assign the other 2 bits at all (so long as you keep the respective IRQs disabled in firmware, which is their default state anyway)
Lines 127 and 130 will require that you change your macro's logic internally (i.e. inside
i3c_dut_top
) to generate those signals with the correct (inverted) polarity.
There is an alternative, and that's known as "top-level hardening" (or top-level synthesis) but it comes with other challenges, so I suggest you don't go down that path for now.
One other thing to check: your design's macro is called
i3c_dut_top
-- have you already run
make i3c_dut_top
(and hence do you have it hardened as
gds/i3c_dut_top.gds
? If not, you will need to run that
make i3c_dut_top
also to generate your macro.
To be sure we're not missing anything else, I suggest you also share your
openlane/user_project_wrapper/config.json
file and
macro.cfg
from the same directory.
a
config.json,macro.cfg
Thank you for your support. The error is now cleared. But in STEP 5 : Performing manual macro placement. it get error. Kindly help to resolve this issue.
v
in your
user_project_wrapper.v
update following lines:
i3c_dut_top i3c_master(
to
i3c_dut_top mprj(
it will work
a
thank you @Vijayan Krishnan. The issue is cleared.
Facing another issue [STEP 10] [INFO]: Running Global Routing (log: ../m/project/jafer-lts/maxvy_i3c_new/openlane/user_project_wrapper/runs/24_10_16_15_32/logs/routing/10-global.log)... [ERROR]: during executing openroad script /openlane/scripts/openroad/groute.tcl [ERROR]: Log: ../m/project/jafer-lts/maxvy_i3c_new/openlane/user_project_wrapper/runs/24_10_16_15_32/logs/routing/10-global.log [ERROR]: Last 10 lines: [INFO GRT-0103] Extra Run for hard benchmark. [WARNING GRT-0230] Congestion iterations cannot increase overflow, reached the maximum number of times the total overflow can be increased. [INFO GRT-0197] Via related to pin nodes: 435 [INFO GRT-0198] Via related Steiner nodes: 0 [INFO GRT-0199] Via filling finished. [INFO GRT-0111] Final number of vias: 2616 [INFO GRT-0112] Final usage 3D: 31415 [ERROR GRT-0119] Routing congestion too high. Check the congestion heatmap in the GUI and load /m/project/jafer-lts/maxvy_i3c_new/openlane/user_project_wrapper/runs/24_10_16_15_32/tmp/routing/groute-congestion.rpt in the DRC viewer. Error: groute.tcl, 37 GRT-0119 child process exited abnormally [ERROR]: Creating issue reproducible... [INFO]: Saving runtime environment... OpenLane TCL Issue Packager EFABLESS CORPORATION AND ALL AUTHORS OF THE OPENLANE PROJECT SHALL NOT BE HELD LIABLE FOR ANY LEAKS THAT MAY OCCUR TO ANY PROPRIETARY DATA AS A RESULT OF USING THIS SCRIPT. THIS SCRIPT IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND. BY USING THIS SCRIPT, YOU ACKNOWLEDGE THAT YOU FULLY UNDERSTAND THIS DISCLAIMER AND ALL IT ENTAILS. Parsing config file(s)… Setting up /m/project/jafer-lts/maxvy_i3c_new/openlane/user_project_wrapper/runs/24_10_16_15_32/issue_reproducible… Done. [INFO]: Reproducible packaged: Please tarball and upload '../m/project/jafer-lts/maxvy_i3c_new/openlane/user_project_wrapper/runs/24_10_16_15_32/issue_reproducible' if you're going to submit an issue. [ERROR]: Step 10 (routing) failed with error: -code 1 -level 0 -errorcode NONE -errorinfo { while executing "throw_error" (procedure "run_tcl_script" line 219) invoked from within "run_tcl_script -tool openroad -no_consume {*}$args" (procedure "run_openroad_script" line 2) invoked from within "run_openroad_script $::env(SCRIPTS_DIR)/openroad/groute.tcl -indexed_log $log -save "def=$initial_def,guide=$initial_guide,odb=$initial_odb" -no_updat..." (procedure "global_routing_fastroute" line 12) invoked from within "global_routing_fastroute" (procedure "global_routing" line 6) invoked from within "global_routing" (procedure "run_routing" line 24) invoked from within "run_routing" (procedure "run_routing_step" line 7) invoked from within "run_routing_step"} -errorline 1 [INFO]: Saving current set of views in '../m/project/jafer-lts/maxvy_i3c_new/openlane/user_project_wrapper/runs/24_10_16_15_32/results/final'... [INFO]: Generating final set of reports... [INFO]: Created manufacturability report at '../m/project/jafer-lts/maxvy_i3c_new/openlane/user_project_wrapper/runs/24_10_16_15_32/reports/manufacturability.rpt'. [INFO]: Created metrics report at '../m/project/jafer-lts/maxvy_i3c_new/openlane/user_project_wrapper/runs/24_10_16_15_32/reports/metrics.csv'. [INFO]: Saving runtime environment... [ERROR]: Flow failed. make[1]: * [Makefile80 user_project_wrapper] Error 255 make[1]: Leaving directory '/m/project/jafer-lts/maxvy_i3c_new/openlane' make: * [Makefile126 user_project_wrapper] Error 2
v
placed macros at lower bottom with
20 20 N
, so no place for routing. Move macro position to
60 800 N
and try again
a
@Arsath Jafar have you managed to make progress now, or do you need further help?
a
Yes I got help from @Vijayan Krishnan
👍 1