Skip to content

Hang occurred during reading SPEF in a generate_abstract stage #8109

@jhkim-pii

Description

@jhkim-pii

Describe the bug

In a hierarchical flow, hang occurred during reading SPEF in a generate_abstract stage after successfully generating GDS.

DESIGN: ihp-sg13g2/i2c-gpio-expander

Expected Behavior

No hang.

Environment

-- OpenROAD version: v2.0-23726-g68827da706
-- System name: Linux
-- Compiler: GNU 13.3.0
-- Build type: RELEASE
-- Install prefix: /usr/local
-- C++ Standard: 17
-- C++ Standard Required: ON
-- C++ Extensions: OFF
-- Performing Test C_COMPILER_SUPPORTS__-std=c++17
-- Performing Test C_COMPILER_SUPPORTS__-std=c++17 - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-std=c++17
-- Performing Test CXX_COMPILER_SUPPORTS__-std=c++17 - Success
-- Found Python3: /usr/bin/python3.12 (found version "3.12.3") found components: Interpreter
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- TCL readline library: /usr/lib/x86_64-linux-gnu/libtclreadline.so
-- TCL readline header: /usr/include/x86_64-linux-gnu
-- Found SWIG: /usr/local/bin/swig (found suitable version "4.3.0", minimum required is "4.0")
-- Using SWIG >= 4.3.0 -flatstaticmethod flag for python
-- boost: 1.86.0
-- GTest: 1.13.0
-- Found Python3: /usr/include/python3.12 (found version "3.12.3") found components: Development Development.Module Development.Embed
-- spdlog: 1.15.0
-- STA version: 2.7.0
-- STA git sha: d5761004cd2cd2bcfa85d73327867966c279c83d
-- System name: Linux
-- Compiler: GNU 13.3.0
-- Build type: RELEASE
-- Build CXX_FLAGS: -O3 -DNDEBUG
-- Install prefix: /usr/local
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- TCL readline library: /usr/lib/x86_64-linux-gnu/libtclreadline.so
-- TCL readline header: /usr/include/x86_64-linux-gnu/tclreadline.h
-- CUDD library: /usr/local/lib/libcudd.a
-- CUDD header: /usr/local/include/cudd.h
-- SSTA: 0
-- Found SWIG: /usr/local/bin/swig (found suitable version "4.3.0", minimum required is "3.0")
-- STA library: /workspace/ws1_test/OpenROAD-flow-scripts/tools/OpenROAD/build/libOpenSTA.a
-- STA executable: /workspace/ws1_test/OpenROAD-flow-scripts/tools/OpenROAD/build/sta
-- Found OR-Tools: /opt/or-tools/lib/cmake/ortools (version: 9.11.4210)
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- Found OpenMP: TRUE (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- GUI is enabled
-- Could NOT find VTune (missing: VTune_LIBRARIES VTune_INCLUDE_DIRS) 
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl.so
-- TCL header: /usr/include/tcl/tcl.h
-- TCL readline enabled
-- Tcl Extended disabled
-- Python3 enabled
-- Configuring done (1.7s)
-- Generating done (0.6s)

To Reproduce

OpenROAD-flow-scripts/flow$ make SYNTH_WRAPPED_OPERATORS=1 DESIGN_CONFIG=./design/ihp-sg13g2/i2c-gpio-expander/config.mk

Relevant log output

[2025-08-25T05:06:06.237Z] Report metrics stage 6, finish...
[2025-08-25T05:06:07.174Z] 
[2025-08-25T05:06:07.174Z] ==========================================================================
[2025-08-25T05:06:07.174Z] finish report_design_area
[2025-08-25T05:06:07.174Z] --------------------------------------------------------------------------
[2025-08-25T05:06:07.174Z] Design area 11353 u^2 94% utilization.
[2025-08-25T05:06:07.432Z] [WARNING GUI-0076] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[2025-08-25T05:06:08.840Z] [WARNING GUI-0066] Heat map "Routing Congestion" has not been populated with data.
[2025-08-25T05:06:08.840Z] Elapsed time: 0:03.99[h:]min:sec. CPU time: user 4.62 sys 1.91 (163%). Peak memory: 163496KB.
[2025-08-25T05:06:09.099Z] Log                        Elapsed/s Peak Memory/MB  sha1sum .odb [0:20)
[2025-08-25T05:06:09.099Z] 6_report                           3            159                  N/A
[2025-08-25T05:06:09.357Z] cp /tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/platforms/ihp-sg13g2/lef/sg13g2_tech.lef ./objects/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/klayout_tech.lef
[2025-08-25T05:06:09.923Z] SC_LEF_RELATIVE_PATH="../../../../platforms/ihp-sg13g2/lef/sg13g2_stdcell.lef"; \
[2025-08-25T05:06:09.923Z] OTHER_LEFS_RELATIVE_PATHS=$(echo "<lef-files>$(realpath --relative-to=./results/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base ./objects/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/klayout_tech.lef)</lef-files>"); \
[2025-08-25T05:06:09.923Z] sed 's,<lef-files>.*</lef-files>,<lef-files>'"$SC_LEF_RELATIVE_PATH"'</lef-files>'"$OTHER_LEFS_RELATIVE_PATHS"',g' /tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/platforms/ihp-sg13g2/sg13g2.lyt > ./objects/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/klayout.lyt
[2025-08-25T05:06:09.923Z] sed -i 's,<map-file>.*</map-file>,<map-file>/tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/platforms/ihp-sg13g2/sg13g2.map</map-file>,g' ./objects/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/klayout.lyt
[2025-08-25T05:06:10.488Z] (env time -f 'Elapsed time: %E[h:]min:sec. CPU time: user %U sys %S (%P). Peak memory: %MKB.' stdbuf -o L /usr/bin/klayout -zz -rd design_name=I2cDeviceCtrl \
[2025-08-25T05:06:10.488Z]         -rd in_def=./results/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/6_final.def \
[2025-08-25T05:06:10.488Z]         -rd in_files="/tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/platforms/ihp-sg13g2/gds/sg13g2_stdcell.gds  " \
[2025-08-25T05:06:10.488Z]         -rd seal_file="" \
[2025-08-25T05:06:10.488Z]         -rd out_file=./results/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/6_1_merged.gds \
[2025-08-25T05:06:10.488Z]         -rd tech_file=./objects/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/klayout.lyt \
[2025-08-25T05:06:10.488Z]         -rd layer_map= \
[2025-08-25T05:06:10.488Z]         -r /tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/util/def2stream.py) 2>&1 | tee /tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/logs/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/6_1_merge.log
[2025-08-25T05:06:13.019Z] [INFO] Reporting cells prior to loading DEF ...
[2025-08-25T05:06:13.019Z] 	/tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/platforms/ihp-sg13g2/gds/sg13g2_stdcell.gds
[2025-08-25T05:06:13.019Z] [INFO] GDS_ALLOW_EMPTY=RM_IHPSG13_1P_BITKIT_16x2_(CORNER|EDGE_TB|LE_con_corner|LE_con_edge_lr|LE_con_tap_lr|POWER_ramtap|TAP|TAP_LR)
[2025-08-25T05:06:13.019Z] [INFO] All LEF cells have matching GDS/OAS cells
[2025-08-25T05:06:13.019Z] [INFO] No orphan cells in the final layout
[2025-08-25T05:06:13.019Z] Elapsed time: 0:02.44[h:]min:sec. CPU time: user 2.20 sys 0.22 (99%). Peak memory: 433996KB.
[2025-08-25T05:06:13.019Z] cp results/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/6_1_merged.gds results/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/6_final.gds
[2025-08-25T05:06:13.277Z] cp ./results/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/5_route.sdc ./results/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/6_final.sdc
[2025-08-25T05:06:13.843Z] mkdir -p ./logs/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base ./reports/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base
[2025-08-25T05:06:13.843Z] (env time -f 'Elapsed time: %E[h:]min:sec. CPU time: user %U sys %S (%P). Peak memory: %MKB.' /tmp/workspace/ripts-Private_secure-jhkim-orfs2/tools/install/OpenROAD/bin/openroad -exit -no_init -threads 32  /tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/scripts/generate_abstract.tcl -metrics ./logs/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/generate_abstract.json) 2>&1 | tee /tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/logs/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/generate_abstract.log
[2025-08-25T05:06:13.843Z] OpenROAD v2.0-23726-g47057b73fe 
[2025-08-25T05:06:13.843Z] Features included (+) or not (-): +GPU +GUI +Python
[2025-08-25T05:06:13.843Z] This program is licensed under the BSD-3 license. See the LICENSE file for details.
[2025-08-25T05:06:13.843Z] Components of this program may be licensed under more restrictive licenses which must be honored.
[2025-08-25T05:06:13.843Z] [INFO ORD-0030] Using 32 thread(s).
[2025-08-25T05:06:14.102Z] load_design 6_final.odb 6_final.sdc
[2025-08-25T05:06:14.102Z] read_liberty -corner slow /tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/platforms/ihp-sg13g2/lib/sg13g2_stdcell_slow_1p08V_125C.lib
[2025-08-25T05:06:14.102Z] read_liberty -corner typ /tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/platforms/ihp-sg13g2/lib/sg13g2_stdcell_typ_1p20V_25C.lib
[2025-08-25T05:06:14.102Z] read_liberty -corner fast /tmp/workspace/ripts-Private_secure-jhkim-orfs2/flow/platforms/ihp-sg13g2/lib/sg13g2_stdcell_fast_1p32V_m40C.lib
[2025-08-25T05:06:14.102Z] read_spef ./results/ihp-sg13g2/i2c-gpio-expander_I2cDeviceCtrl/base/6_final.spef
(Hang....)

Screenshots

No response

Additional Context

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions