Skip to content

variables: add OPENROAD_HIERARCHICAL#3428

Merged
maliberty merged 2 commits intoThe-OpenROAD-Project:masterfrom
Pinata-Consulting:variables-openroad-hierarchical
Aug 25, 2025
Merged

variables: add OPENROAD_HIERARCHICAL#3428
maliberty merged 2 commits intoThe-OpenROAD-Project:masterfrom
Pinata-Consulting:variables-openroad-hierarchical

Conversation

@oharboe
Copy link
Collaborator

@oharboe oharboe commented Aug 24, 2025

Quick test:

make DESIGN_CONFIG=designs/asap7/aes/config.mk SYNTH_HIERARCHICAL=1 SYNTH_MINIMUM_KEEP_SIZE=0 OPENROAD_HIERARCHICAL=1 clean_synth synth do-1_3_synth

Recall: do_1_3_synth creates a .odb file

Now run in GUI:

make DESIGN_CONFIG=designs/asap7/aes/config.mk SYNTH_HIERARCHICAL=1 SYNTH_MINIMUM_KEEP_SIZE=0 OPENROAD_HIERARCHICAL=1 gui_synth

Crashes:

OpenROAD v2.0-23724-ge561a140c1 
Features included (+) or not (-): +GPU +GUI +Python
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.
source /home/oyvind/OpenROAD-flow-scripts/flow/platforms/asap7/liberty_suppressions.tcl
read_liberty /home/oyvind/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_AO_RVT_FF_nldm_211120.lib.gz
read_liberty /home/oyvind/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz
read_liberty /home/oyvind/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_OA_RVT_FF_nldm_211120.lib.gz
read_liberty /home/oyvind/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_SIMPLE_RVT_FF_nldm_211120.lib.gz
read_liberty /home/oyvind/OpenROAD-flow-scripts/flow/platforms/asap7/lib/NLDM/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib
read_db ./results/asap7/aes/base/1_synth.odb
GUI_TIMING=1 reading timing, takes a little while for large designs...
read_sdc /home/oyvind/OpenROAD-flow-scripts/flow/results/asap7/aes/base/1_synth.sdc
find_timing_paths
Signal 11 received
Stack trace:
 0# 0x00005F5FEE32C795 in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
 1# 0x000075B2C8C458D0 in /lib/x86_64-linux-gnu/libc.so.6
 2# odb::dbObject::getId() const in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
 3# sta::NetIdLess::operator()(sta::Net const*, sta::Net const*) const in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
 4# sta::dbNetwork::visitConnectedPins(sta::Net const*, sta::PinVisitor&, sta::NetSet&) const in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
 5# sta::dbNetwork::visitConnectedPins(sta::Net const*, sta::PinVisitor&, sta::NetSet&) const in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
 6# sta::Network::visitConnectedPins(sta::Pin const*, sta::PinVisitor&) const in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
 7# sta::Graph::makeWireEdgesFromPin(sta::Pin const*, sta::PinSet&) in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
 8# sta::Graph::makeInstDrvrWireEdges(sta::Instance const*, sta::PinSet&) in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
 9# sta::Graph::makeWireEdges() in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
10# sta::Graph::makeGraph() in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
11# sta::Sta::ensureGraph() in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
12# sta::Sta::searchPreamble() in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
13# sta::Sta::findPathEnds(sta::ExceptionFrom*, sta::Vector<sta::ExceptionThru*>*, sta::ExceptionTo*, bool, sta::Corner const*, sta::MinMaxAll const*, int, int, bool, float, float, bool, sta::Set<char const*, sta::CharPtrLess>*, bool, bool, bool, bool, bool, bool) in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
14# 0x00005F5FEE567B04 in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
15# TclNRRunCallbacks in /lib/x86_64-linux-gnu/libtcl8.6.so
16# 0x000075B2CDAF0B4B in /lib/x86_64-linux-gnu/libtcl8.6.so
17# Tcl_EvalEx in /lib/x86_64-linux-gnu/libtcl8.6.so
18# Tcl_Eval in /lib/x86_64-linux-gnu/libtcl8.6.so
19# gui::TclCmdInputWidget::executeCommand(QString const&, bool, bool) in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
20# gui::startGui(int&, char**, Tcl_Interp*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, bool) in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
21# 0x00005F5FEE32BB15 in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
22# Tcl_MainEx in /lib/x86_64-linux-gnu/libtcl8.6.so
23# main in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
24# 0x000075B2C8C2A578 in /lib/x86_64-linux-gnu/libc.so.6
25# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
26# _start in /home/oyvind/OpenROAD-flow-scripts/tools/install/OpenROAD/bin/openroad
make: *** [Makefile:786: gui_1_synth.odb] Segmentation fault (core dumped)

@oharboe oharboe requested a review from maliberty August 24, 2025 12:52
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe oharboe force-pushed the variables-openroad-hierarchical branch from 3c33134 to ca8e864 Compare August 24, 2025 12:55
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
@oharboe
Copy link
Collaborator Author

oharboe commented Aug 24, 2025

@maliberty Fixed crash by adding the missing -hier option to open.tcl. I guess read_db shouldn't crash in this case...

I tried write_verilog: I got many modules for:

make DESIGN_CONFIG=designs/asap7/aes/config.mk SYNTH_HIERARCHICAL=1 SYNTH_MINIMUM_KEEP_SIZE=0 OPENROAD_HIERARCHICAL=1 gui_synth

Copy link
Member

@maliberty maliberty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@precisionmoon @jhkim-pii FYI for testing -hier by itself

@maliberty maliberty enabled auto-merge August 24, 2025 15:22
@oharboe
Copy link
Collaborator Author

oharboe commented Aug 24, 2025

@maliberty merge manually? I think the errors are unrelated to PR

@maliberty maliberty disabled auto-merge August 25, 2025 15:04
@maliberty maliberty merged commit 82a5c44 into The-OpenROAD-Project:master Aug 25, 2025
7 of 8 checks passed
@oharboe oharboe deleted the variables-openroad-hierarchical branch August 29, 2025 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants