https://open-source-silicon.dev logo
#openlane
Title
# openlane
j

Joel Sanchez

11/28/2020, 10:49 AM
Hello, I have been looking in the slack channel but did not found someone with the same error I am seeing, so I would appreciate some help if possible. I have downloaded the caravel repository and before doing any changes I wanted to check that I was able to go over the flow to generate the GDSII files and do the make caravel with the user project example. So what I did is to go within $REPOROOT/openlane and run make. Unfortunately, I am seeing the next error:
Copy code
DEF file write success !! location : /project/openlane/DFFRAM/runs/DFFRAM/results/placement/DFFRAM.placement.def
-------------------------------------------------------------------
tasks             Wtime   Ctime
Parser            0.630   0.310
resgin assign         0.632   0.310
pre-placement         0.632   0.310
non Group cell placement   0.674   0.330
All              0.681   0.330
- - - - - EVALUATION - - - - -
AVG_displacement : 2936.64
SUM_displacement : 7.49049e+07
MAX_displacement : 49550
 - - - - - - - - - - - - - - - -
[ERROR]: during executing: "opendp -lef /project/openlane/DFFRAM/runs/DFFRAM/tmp/merged.lef -def /project/openlane/DFFRAM/runs/DFFRAM/tmp/placement/replace.def -output_def /project/openlane/DFFRAM/runs/DFFRAM/results/placement/DFFRAM.placement.def |& tee >&@stdout /project/openlane/DFFRAM/runs/DFFRAM/logs/placement/opendp.log"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
child killed: segmentation violation

[ERROR]: Please check opendp log file
[ERROR]: Dumping to /project/openlane/DFFRAM/runs/DFFRAM/error.log
 
while executing
"try_catch opendp -lef $::env(MERGED_LEF) -def $::env(CURRENT_DEF) -output_def $::env(opendp_result_file_tag).def |& tee $::env(TERMINAL_OUTPUT) $:..."
(procedure "detailed_placement" line 4)
invoked from within
"detailed_placement"
(procedure "run_placement" line 16)
invoked from within
"run_placement"
 (procedure "run_non_interactive_mode" line 13)
invoked from within
"run_non_interactive_mode {*}$argv"
invoked from within
"if { [info exists flags_map(-interactive)] || [info exists flags_map(-it)] } {
 puts_info "Running interactively"
 if { [info exists arg_values(-file)..."
(file "/openLANE_flow/flow.tcl" line 164)
Makefile:24: fallo en las instrucciones para el objetivo 'DFFRAM'
make: *** [DFFRAM] Error 1
I am not sure if I may be missing something, so apologies in advance 🙂
m

Mitch Bailey

11/28/2020, 12:29 PM
@Joel Sanchez I believe caravel is setup so you only need to make
user_proj_example
,
user_project_wrapper
, and
caravel
. Although it may be possible to make some of the other blocks, it appears that a few contain just placeholder data and fail when running openlane. Maybe restore everything from the repo, and try
Copy code
make user_proj_example
make user_project_wrapper
make caravel
If that works, swap your design in for
user_proj_example
and repeat. Eventually, I imagine everything will work.
🙌 1
t

tnt

11/28/2020, 2:50 PM
I dont think you need to
make caravel
at all.
you just use the top level
Makefile
(i.e. not the one in
openlane/
subdir ) and
make ship
and this will use magic to combine the result of the
user_project_wrapper
with the pre-provided GDS for the caravel and all its subblocks.
👍 2
j

Joel Sanchez

11/28/2020, 5:16 PM
Thank you so much guys. I have been able to make progress and the example design works as expected. I am now facing a different issue related with yosys but I will post it on slack channel not to merge two different topics.