efabless / caravel_user_project

https://caravel-user-project.readthedocs.io
Apache License 2.0
183 stars 329 forks source link

Applying wrapper DEF template fails #187

Closed vijayank88 closed 1 year ago

vijayank88 commented 1 year ago

With latest OpenLane/OpenROAD user_project_wrapper.def unable to read and tool getting crashed with following message:

[STEP 4]
[INFO]: Running IO Placement...
[INFO]: Applying DEF template...
OpenROAD b33e39314de9b0b7d003d7e7604f4f66bdf7b3b5 
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.
[INFO ODB-0222] Reading LEF file: /openlane/designs/mpw7_AI_chip/runs/run2/tmp/merged.nom.lef
[WARNING ODB-0220] WARNING (LEFPARS-2036): SOURCE statement is obsolete in version 5.6 and later.
The LEF parser will ignore this statement.
To avoid this warning in the future, remove this statement from the LEF file with version 5.6 or later. See file /openlane/designs/mpw7_AI_chip/runs/run2/tmp/merged.nom.lef at line 930.

[INFO ODB-0223]     Created 13 technology layers
[INFO ODB-0224]     Created 25 technology vias
[INFO ODB-0225]     Created 445 library cells
[INFO ODB-0226] Finished LEF file:  /openlane/designs/mpw7_AI_chip/runs/run2/tmp/merged.nom.lef
[INFO ODB-0127] Reading DEF file: /openlane/designs/mpw7_AI_chip/openlane/user_project_wrapper/fixed_dont_change/user_project_wrapper.def
[INFO ODB-0128] Design: user_project_wrapper
[WARNING ODB-0092] error: unknown library cell referenced (user_proj_example) for instance (mprj)
[WARNING ODB-0099] error: netlist component (mprj) is not defined

[ERROR]: during executing: "openroad -exit -no_init -python /openlane/scripts/odbpy/apply_def_template.py --def-template /openlane/designs/mpw7_AI_chip/openlane/user_project_wrapper/fixed_dont_change/user_project_wrapper.def --input-lef /openlane/designs/mpw7_AI_chip/runs/RUN_2022.11.11_05.21.02/tmp/merged.nom.lef --output-def /openlane/designs/mpw7_AI_chip/runs/RUN_2022.11.11_05.21.02/tmp/floorplan/4-io.def --output /openlane/designs/mpw7_AI_chip/runs/RUN_2022.11.11_05.21.02/tmp/floorplan/4-io.odb /openlane/designs/mpw7_AI_chip/runs/RUN_2022.11.11_05.21.02/tmp/floorplan/4-io.odb |& tee /dev/null /openlane/designs/mpw7_AI_chip/runs/RUN_2022.11.11_05.21.02/logs/floorplan/4-apply_def_template.log"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
[WARNING ODB-0099] error: netlist component (mprj) is not defined
[WARNING ODB-0099] error: netlist component (mprj) is not defined
[WARNING ODB-0099] error: netlist component (mprj) is not defined
[WARNING ODB-0099] error: netlist component (mprj) is not defined
[WARNING ODB-0099] error: netlist component (mprj) is not defined
[WARNING ODB-0099] error: netlist component (mprj) is not defined
[WARNING ODB-0099] error: netlist component (mprj) is not defined
[WARNING ODB-0099] error: netlist component (mprj) is not defined
[WARNING ODB-0149] DEF parser returns an error!
child process exited abnormally

[INFO]: Saving current set of views in 'results/final'...
[INFO]: Generating final set of reports...
[INFO]: Created manufacturability report at 'reports/manufacturability.rpt'.
[INFO]: Created metrics report at 'reports/metrics.csv'.
[INFO]: Saving runtime environment...
[ERROR]: Flow failed.

    while executing
"flow_fail"
    (procedure "try_catch" line 17)
    invoked from within
"try_catch $::env(OPENROAD_BIN) -exit -no_init -python {*}$args  --input-lef $::env(MERGED_LEF)  --output-def $arg_values(-output_def)  --output $arg_v..."
    (procedure "manipulate_layout" line 19)
    invoked from within
"manipulate_layout $::env(SCRIPTS_DIR)/odbpy/apply_def_template.py -indexed_log $log -output_def $::env(CURRENT_DEF) --def-template $::env(FP_DEF_TEMPL..."
    (procedure "apply_def_template" line 7)
    invoked from within
"apply_def_template"
    (procedure "run_floorplan" line 38)
    invoked from within
"[lindex $step_exe 0] [lindex $step_exe 1] "
    (procedure "run_non_interactive_mode" line 52)
    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 nor..."
    (file "./flow.tcl" line 411)

Detailed discussion available here: https://github.com/The-OpenROAD-Project/OpenLane/issues/1483

Expecting wrapper DEF to be fixed to support latest OpenROAD

kareefardi commented 1 year ago

can you try this https://github.com/efabless/caravel_user_project/tree/def-template-fix

vijayank88 commented 1 year ago

Thanks @kareefardi . Updated DEF file from above branch works fine.

proppy commented 1 year ago

This seems applicable to the GF180 template as well, see #194.

jeffdi commented 1 year ago

this file is required. why are you proposing to remove it?

proppy commented 1 year ago

not proposing to remove the file, just to perform the same updates that were done for SKY130 in #188.

jeffdi commented 1 year ago

Got it. I merged.

On Sun, Nov 20, 2022, 7:45 AM Johan Euphrosine @.***> wrote:

not proposing to remove the file, just to perform the same updates that were done for SKY130 in #188 https://github.com/efabless/caravel_user_project/pull/188.

— Reply to this email directly, view it on GitHub https://github.com/efabless/caravel_user_project/issues/187#issuecomment-1321164730, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKAZZ5JAH4AJ23MP35LBJ3TWJJBSZANCNFSM6AAAAAASA2JEY4 . You are receiving this because you modified the open/close state.Message ID: @.***>