Hello, I keep getting this error when trying to ha...
# caravel
v
Hello, I keep getting this error when trying to harden my rtl for openlane which I'm not sure what to make of. Any guidance would be appreciated:
[ERROR]: during executing: "openroad -exit -no_init -python /openlane/scripts/odbpy/io_place.py --config /a/openlane/adders_multipliers/pin_order.cfg --hor-layer met3 --ver-layer met2 --ver-width-mult 2 --hor-width-mult 2 --hor-extension 0 --ver-extension 0 --length 4 --unmatched-error --input-lef /a/openlane/adders_multipliers/runs/24_11_27_12_22/tmp/merged.nom.lef --output-def /a/openlane/adders_multipliers/runs/24_11_27_12_22/tmp/floorplan/4-io.def --output /a/openlane/adders_multipliers/runs/24_11_27_12_22/tmp/floorplan/4-io.odb /a/openlane/adders_multipliers/runs/24_11_27_12_22/tmp/floorplan/3-initial_fp.odb |& tee /dev/null /a/openlane/adders_multipliers/runs/24_11_27_12_22/logs/floorplan/4-place_io.log"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
OpenROAD 41a51eaf4ca2171c92ff38afb91eb37bbd3f36da
This program is licensed under the BSD-3 license. See the LICENSE file for details.
Components of this program may be licensed under more restrictive licenses which must be honored.
Only one entry allowed per line.
child process exited abnormally
[ERROR]: Step 4 (floorplan) failed with error:
-code 1 -level 0 -errorcode NONE -errorinfo {
while executing
"throw_error"
(procedure "try_exec" line 17)
invoked from within
"try_exec $::env(OPENROAD_BIN) -exit -no_init -python {*}$args  --input-lef $::env(MERGED_LEF)  --output-def $arg_values(-output_def)  --output $arg_va..."
(procedure "manipulate_layout" line 19)
invoked from within
"manipulate_layout $::env(SCRIPTS_DIR)/odbpy/io_place.py -indexed_log [index_file $::env(floorplan_logs)/place_io.log] -output_def $arg_values(-output_..."
(procedure "place_io_ol" line 50)
invoked from within
"place_io_ol"
(procedure "run_floorplan" line 27)
invoked from within
"run_floorplan"} -errorline 1
m
@Vinay Ivaturi
child process exited abnormally
sometimes means that you ran out of memory. Does that make sense?
v
I see. Could you recommend any specific ways to check memory usage? Or any other steps to resolve this issue? Thanks!
m
@Vinay Ivaturi If your running native applications, I recommend
top
. If you’re running in docker, I’m not sure.
v
Thank you, I checked my memory usage and got past those errors. However I ran into this error in the routing step, which I am also confused about: [
ERROR]: during executing openroad script /openlane/scripts/openroad/droute.tcl
[ERROR]: Log: ../a/openlane/adders_multipliers/runs/24_11_27_20_03/logs/routing/25-detailed.log
[ERROR]: Last 10 lines:
[INFO DRT-0267] cpu time = 00:00:30, elapsed time = 00:00:16, memory = 1652.43 (MB), peak = 2398.69 (MB)
[INFO DRT-0187] Start routing data preparation.
[INFO DRT-0267] cpu time = 00:00:00, elapsed time = 00:00:00, memory = 1652.43 (MB), peak = 2398.69 (MB)
[INFO DRT-0194] Start detail routing.
[INFO DRT-0195] Start 0th optimization iteration.
Completing 10% with 0 violations.
elapsed time = 00:00:10, memory = 2876.51 (MB).
Completing 20% with 0 violations.
elapsed time = 00:00:21, memory = 3567.17 (MB).
child killed: kill signal
[ERROR]: Creating issue reproducible...
[ERROR]: Step 25 (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/droute.tcl -indexed_log $log -save "to=$::env(routing_results),noindex,def,odb,netlist,powered_netlis..."
(procedure "detailed_routing_tritonroute" line 14)
invoked from within
"detailed_routing_tritonroute {*}$args"
(procedure "detailed_routing" line 2)
invoked from within
"detailed_routing"
(procedure "run_routing" line 32)
invoked from within
"run_routing"
(procedure "run_routing_step" line 7)
invoked from within
"run_routing_step"} -errorline 1
Would it be related to memory again? I am unsure how to further optimize my design Thanks again
m
@Vinay Ivaturi How many GB of memory do you have?
Copy code
child killed: kill signal
This often occurs when memory is exhausted. Can you increase your memory?
v
Thank you so much, I increased my memory capacity and it worked eventually. Sorry for asking a lot of questions, but I've also been getting this error regarding the macro placement which I'm still trying to figure out:
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/openlane/scripts/odbpy/reader.py", line 76, in wrapper
function(**kwargs)
File "/openlane/scripts/odbpy/manual_macro_place.py", line 102, in manual_macro_place
assert not macros, ("Macros not found:", macros)
AssertionError: ('Macros not found:', {'mprj': ['60000', '15000', 'N'], 'adders_multipliers': ['1000000', '3000000', 'N']})
child process exited abnormally
m
I’m guessing that it can’t find the mprj module in the verilog rtl.