Hey everyone. Did any of you ever get the error be...
# openlane
j
Hey everyone. Did any of you ever get the error bellow? It appears to be an error in a simple script tr_drc_to_klayout_drc.py. I've looked over this script and I don't see why this fails. The only possible issue that I can think of, is the size of the input file, which could be an issue for the regex engine in python. Also, is there a way to disable this script from running?
Copy code
[STEP 25]
[INFO]: Writing Verilog...
[STEP 26]
[INFO]: Running LEF LVS...
[STEP 27]
[INFO]: Running Magic DRC...
	0[INFO]: Converting Magic DRC Violations to Magic Readable Format...
[INFO]: Converting Magic DRC Violations to Klayout XML Database...
[INFO]: Converting TritonRoute DRC Violations to Klayout XML Database...
[ERROR]: during executing: "openroad -python /openlane/scripts/tr_drc_to_klayout_drc.py -i /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/reports/signoff/drc.tr -o /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/reports/signoff/drc.klayout.xml --design-name user_project_wrapper"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
OpenROAD 79a46b62da64bbebc18f06b20c42211046de719a 
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.
child killed: kill signal

[INFO]: Generating final set of reports...
[INFO]: Created manufacturability report at 'user_project_wrapper/runs/user_project_wrapper/reports/manufacturability.rpt'.
[INFO]: Created metrics report at 'user_project_wrapper/runs/user_project_wrapper/reports/metrics.csv'.
[INFO]: Saving runtime environment...
[ERROR]: Flow failed.
[INFO]: The failure may have been because of the following warnings:
[WARNING]: Skipping Tap/Decap Insertion.
[WARNING]: Specifying a routing obstruction is now done using the coordinates
[WARNING]: of its bounding box instead of the now deprecated (x, y, size_x, size_y).


    while executing
"flow_fail"
    (procedure "try_catch" line 17)
    invoked from within
"try_catch $::env(OPENROAD_BIN) -python $::env(SCRIPTS_DIR)/tr_drc_to_klayout_drc.py  -i $::env(drc_prefix).tr  -o $::env(drc_prefix).klayout.xml  --de..."
    (procedure "run_magic_drc" line 20)
    invoked from within
"run_magic_drc"
    (procedure "run_drc_step" line 9)
    invoked from within
"[lindex $step_exe 0] [lindex $step_exe 1] "
    (procedure "run_non_interactive_mode" line 55)
    invoked from within
"run_non_interactive_mode {*}$argv"
    invoked from within
"if { [info exists flags_map(-interactive)] || [info exists flags_map(-it)] } {
	if { [info exists arg_values(-file)] } {
		run_file [file normalize $a..."
    (file "/openlane/flow.tcl" line 434)
make[1]: *** [Makefile:43: user_project_wrapper] Error 1
make[1]: Leaving directory '/home/jure/Projekti/rvj1-caravel-soc/openlane'
make: *** [Makefile:72: user_project_wrapper] Error 2
v
child killed signal probably out of memory kill
If you enough resource, then still failing, file an issue with test case
j
ok
So I've managed to complete this on a more powerful machine. However I still think this is problematic, since this simple python scripts increases the memory demand significantly enough to lead to a crash, when you have a high number of violations. It seems to me that this conversion could be done in a less memory intensive way.
b
@Jure Vreča how much memory was sufficient to complete the flow? my flow stucked in "Converting Magic DRC Violations to Klayout XML Database..." it is 64 GB RAM and running at a remote server with 8 core xeon CPU i think that should be enough?
j
I used a system with 64 GB memory, so yes I think that should be enough.
b
himmm, ok thanks, the flow is still running but took so long, hope it will manage to finish the flow, the system is so slowly reacting, I am trying to run "top" command to see the ram utilization but no answer from the machine yet 😐
j
I see. Well if you manage to fix the DRC errors, this issue should go away. For me most of these errors were due to some setting in the openlane config. I don't remember which right now, but I believe there are issues open on github on this topic.
b
I analyzed drc.log file and the errors are due to OpenRAM macros I have read some comments in slack and see that these errors do not harm tape-out, but if these errors cause flow to be slowed down then I need to find a way to clear these DRC errors related to the openram macros
j
Do you have routing obstructions defined?
For the areas over OpenRAM macros?
b
yes for all layers I think, I said I think cause can not open the file now 😐
j
ah. Then I am not sure what the problem is.
b
thanks a lot 👍