The-OpenROAD-Project / OpenLane

OpenLane is an automated RTL to GDSII flow based on several components including OpenROAD, Yosys, Magic, Netgen and custom methodology scripts for design exploration and optimization.
https://openlane.readthedocs.io/
Apache License 2.0
1.35k stars 373 forks source link

[ERROR PDN-0165] Conflict found, instance is part of two grid definitions (CORE_macro_grid_2, CORE_macro_grid_1) #1102

Closed jurevreca12 closed 2 years ago

jurevreca12 commented 2 years ago

Description

I've been trying to harden my SoC using openlane. I was successful in hardening all my macros, but the flow fails when I try to integrate the macros in the final design. The error output is:

[INFO]: Changing layout from /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/floorplan/4-io.def to /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/floorplan/4-io.macro_placement.def
[WARNING]: Skipping Tap/Decap Insertion.
[INFO]: Power planning the following nets
[INFO]: Power: vccd1 vccd2 vdda1 vdda2
[INFO]: Ground: vssd1 vssd2 vssa1 vssa2
[INFO]: Connecting iram_inst to vccd1 and vssd1 nets.
[INFO]: Connecting rvj1_soc to vccd1 and vssd1 nets.
[INFO]: Connecting dram_inst to vccd1 and vssd1 nets.
[INFO]: Connecting uart_inst to vccd1 and vssd1 nets.
[INFO]: Incremented step index to 5.
[INFO]: Generating PDN...
OpenROAD 8d53e9b018dec98fa63e907ddeb6c5406f035361 
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: /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/merged_unpadded.lef
[INFO ODB-0223]     Created 13 technology layers
[INFO ODB-0224]     Created 25 technology vias
[INFO ODB-0225]     Created 444 library cells
[INFO ODB-0226] Finished LEF file:  /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/merged_unpadded.lef
[INFO ODB-0127] Reading DEF file: /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/floorplan/4-io.macro_placement.def
[INFO ODB-0128] Design: user_project_wrapper
[INFO ODB-0130]     Created 637 pins.
[INFO ODB-0131]     Created 4 components and 722 component-terminals.
[INFO ODB-0133]     Created 904 nets and 623 connections.
[INFO ODB-0134] Finished DEF file: /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/tmp/floorplan/4-io.macro_placement.def
[INFO PDN-0016] Power Delivery Network Generator: Generating PDN
  config: /openlane/scripts/openroad/pdn_cfg.tcl
[INFO PDN-0008] Design name is user_project_wrapper.
[INFO PDN-0009] Reading technology data.
[ERROR PDN-0165] Conflict found, instance dram_inst is part of two grid definitions (CORE_macro_grid_2, CORE_macro_grid_1).
PDN-0165
[ERROR]: during executing openroad script /openlane/scripts/openroad/pdn.tcl
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
child process exited abnormally

[INFO]: Creating reproducible...
[INFO]: Saving runtime environment...

or_issue.py OpenROAD 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 /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/openroad_issue_reproducible…
[FIN] Done.
[INFO]: Reproducible packaged: Please tarball and upload user_project_wrapper/runs/user_project_wrapper/openroad_issue_reproducible if you're going to submit an issue.
[INFO]: Calculating Runtime From the Start...
[INFO]: Generating Final Summary Report...
[INFO]: Design Name: user_project_wrapper
Run Directory: /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper
Source not found.
----------------------------------------

LVS Summary:
Source: /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/logs/finishing/user_project_wrapper.lvs.lef.log
Source not found.
----------------------------------------

Antenna Summary:
No antenna report found.
[INFO]: check full report here: /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/runs/user_project_wrapper/reports/final_summary_report.csv
[INFO]: Saving runtime environment...
[ERROR]: Flow failed.
[INFO]: The failure may have been because of the following warnings:
[WARNING]: Skipping Tap/Decap Insertion.

    while executing
"flow_fail"
    (procedure "run_openroad_script" line 62)
    invoked from within
"run_openroad_script $::env(SCRIPTS_DIR)/openroad/pdn.tcl  |& -indexed_log [index_file $::env(floorplan_logs)/pdn.log]"
    (procedure "gen_pdn" line 9)
    invoked from within
"gen_pdn"
    (procedure "run_power_grid_generation" line 94)
    invoked from within
"run_power_grid_generation"
    (procedure "run_floorplan" line 55)
    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)] } {
    puts_info "Running interactively"
    puts_info "Note, that post_run_hook..."
    (file "/openlane/flow.tcl" line 412)
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

Environment

This github repo https://github.com/jurevreca12/rvj1-caravel-soc/tree/develop contains the relevant code. To reproduce the issue run: make user_project_wrapper. Beware that the relevant code is in the develop branch, and not the main branch.

Reproduction Material

I am also attaching the openroad reproducible as a zip file (openroad_issue_reproducible.zip) in this issue.

Expected behavior

A successfully generated final gds of the design.

Logs

None

EDIT:

openroad_issue_reproducible.zip

vijayank88 commented 2 years ago

@jurevreca12 this is not a valid test case

jurevreca12 commented 2 years ago

Sorry, about that. I attached the correct openroad_issue_reproducible.zip now.

mattvenn commented 2 years ago

thanks for opening

vijayank88 commented 2 years ago

@jurevreca12 your macro placed outside die area. Screenshot from 2022-05-23 18-23-14

jurevreca12 commented 2 years ago

How do I get this view? I've been (literally) drawing this on a piece of paper...

vijayank88 commented 2 years ago

Use openroad -gui

mattvenn commented 2 years ago

or look at the floorplan def file

On Mon, 23 May 2022 at 14:58, vijayan @.***> wrote:

Use openroad -gui

— Reply to this email directly, view it on GitHub https://github.com/The-OpenROAD-Project/OpenLane/issues/1102#issuecomment-1134644664, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAE223DYSJ7YKY7FO7RBX5TVLN6GZANCNFSM5WVWQ3FQ . You are receiving this because you commented.Message ID: @.***>

-- Matthew Venn web mattvenn.net twitter @matthewvenn https://twitter.com/matthewvenn

maliberty commented 2 years ago

The error shown in the report is "[ERROR]: /home/jure/Projekti/rvj1-caravel-soc/openlane/user_project_wrapper/../../gds/wbuart_wrap.gds doesn't exist." which doesn't seem to have anything to do with the title of this issue.

jurevreca12 commented 2 years ago

@maliberty ah yes. I've compressed the repo and then ran again to get the message. I'll fix this.

jurevreca12 commented 2 years ago

@vijayank88 Thank you for the help. This fixed my issue.

vijayank88 commented 2 years ago

@jurevreca12 If fixed, close this issue. Open new issue if you're facing any other issue again. Thanks.