Skip to content

OpenSTA: Signal 11 received #4330

Description

@dnltz

Subject

Describe the bug

When running the latest ORFS (490c569) with patches from #3988 on-top, I get following segmentation fault from OpenSTA.

Removing repair_clock_inverters from flow/scripts/cts.tcl does remove this segmentation fault. I also would like to mention that my design has not a single negative edge clock.

Running cts.tcl, stage 4_1_cts
source /home/daniel/work/aesc/ElemRV/tools/OpenROAD-flow-scripts/flow/platforms/ihp-sg13cmos5l/suppress_message.tcl
read_liberty -corner slow /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_stdcell/lib/sg13cmos5l_stdcell_slow_1p08V_125C.lib
read_liberty -corner slow /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_io/lib/sg13cmos5l_io_slow_1p08V_3p0V_125C.lib
read_liberty -corner slow /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_sram/lib/RM_IHPSG13_1P_2048x32_c2_bm_bist_slow_1p08V_125C.lib
read_liberty -corner slow /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_sram/lib/RM_IHPSG13_2P_1024x32_c2_bm_bist_slow_1p08V_125C.lib
read_liberty -corner slow /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_sram/lib/RM_IHPSG13_2P_64x22_c2_bm_bist_slow_1p08V_125C.lib
read_liberty -corner fast /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_stdcell/lib/sg13cmos5l_stdcell_fast_1p32V_m40C.lib
read_liberty -corner fast /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_io/lib/sg13cmos5l_io_fast_1p32V_3p6V_m40C.lib
read_liberty -corner fast /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_sram/lib/RM_IHPSG13_1P_2048x32_c2_bm_bist_fast_1p32V_m55C.lib
read_liberty -corner fast /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_sram/lib/RM_IHPSG13_2P_1024x32_c2_bm_bist_fast_1p32V_m55C.lib
read_liberty -corner fast /home/daniel/work/aesc/ElemRV/pdks/ihp-sg13cmos5l/libs.ref/sg13cmos5l_sram/lib/RM_IHPSG13_2P_64x22_c2_bm_bist_fast_1p32V_m55C.lib
read_db /home/daniel/work/aesc/ElemRV/build//ElemRV-C/SG13CMOS5L/orfs//results/ihp-sg13cmos5l/SG13CMOS5LTop/base/3_place.odb
read_sdc /home/daniel/work/aesc/ElemRV/build//ElemRV-C/SG13CMOS5L/orfs//results/ihp-sg13cmos5l/SG13CMOS5LTop/base/3_place.sdc
source /home/daniel/work/aesc/ElemRV/tools/OpenROAD-flow-scripts/flow/platforms/ihp-sg13cmos5l/setRC.tcl
clock_tree_synthesis -sink_clustering_enable -repair_clock_nets
Signal 11 received
Stack trace:
 0# 0x0000000000EACE66 in /opt/elements/tools/OpenROAD/bin/openroad
 1# 0x0000000000045330 in /lib/x86_64-linux-gnu/libc.so.6
 2# 0x0000000003BE1C7C in /opt/elements/tools/OpenROAD/bin/openroad
 3# 0x0000000003BF3F60 in /opt/elements/tools/OpenROAD/bin/openroad
 4# sta::Sta::checkFanoutPreamble() in /opt/elements/tools/OpenROAD/bin/openroad
 5# cts::TritonCTS::setupCharacterization() in /opt/elements/tools/OpenROAD/bin/openroad
 6# cts::TritonCTS::runTritonCts() in /opt/elements/tools/OpenROAD/bin/openroad
 7# 0x00000000014A5AA7 in /opt/elements/tools/OpenROAD/bin/openroad
 8# TclNRRunCallbacks in /lib/x86_64-linux-gnu/libtcl8.6.so
 9# 0x000000000003F6BC in /lib/x86_64-linux-gnu/libtcl8.6.so
10# Tcl_EvalEx in /lib/x86_64-linux-gnu/libtcl8.6.so
11# Tcl_Eval in /lib/x86_64-linux-gnu/libtcl8.6.so
12# sta::sourceTclFile(char const*, bool, bool, Tcl_Interp*) in /opt/elements/tools/OpenROAD/bin/openroad
13# 0x0000000003BDC3E4 in /opt/elements/tools/OpenROAD/bin/openroad
14# ord::tclAppInit(Tcl_Interp*) in /opt/elements/tools/OpenROAD/bin/openroad
15# Tcl_MainEx in /lib/x86_64-linux-gnu/libtcl8.6.so
16# main in /opt/elements/tools/OpenROAD/bin/openroad
17# 0x000000000002A1CA in /lib/x86_64-linux-gnu/libc.so.6
18# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
19# _start in /opt/elements/tools/OpenROAD/bin/openroad
Elapsed time: 0:01.01[h:]min:sec. CPU time: user 0.96 sys 0.05 (100%). Peak memory: 328612KB.
make[1]: *** [Makefile:511: do-4_1_cts] Error 245
make: *** [Makefile:511: /home/daniel/work/aesc/ElemRV/build//ElemRV-C/SG13CMOS5L/orfs//results/ihp-sg13cmos5l/SG13CMOS5LTop/base/4_1_cts.odb] Error 2
make: Leaving directory '/home/daniel/work/aesc/ElemRV/tools/OpenROAD-flow-scripts/flow'

Expected Behavior

Should complete CTS.

Environment

OPENROAD: /home/daniel/work/aesc/ElemRV/tools/OpenROAD-flow-scripts/tools/OpenROAD
[WARNING] Your current OpenROAD version is outdated.
It is recommened to pull the latest changes.
If problem persists, file a github issue with the re-producible test case.
kernel: Linux 6.12.90+deb13-amd64
os: Ubuntu 24.04.3 LTS (Noble Numbat)
cmake version 3.31.9
CMake Error at third-party/CMakeLists.txt:56 (add_subdirectory):
  The source directory

    /home/daniel/work/aesc/ElemRV/tools/OpenROAD-flow-scripts/tools/OpenROAD/third-party/abc

  does not contain a CMakeLists.txt file.


CMake Error at third-party/CMakeLists.txt:63 (target_compile_options):
  Cannot specify compile options for target "libabc" which is not built by
  this project.


CMake Error at third-party/CMakeLists.txt:64 (target_compile_options):
  Cannot specify compile options for target "libabc-pic" which is not built
  by this project.


CMake Error at third-party/CMakeLists.txt:80 (add_subdirectory):
  add_subdirectory given source "slang-elab/third_party/slang" which is not
  an existing directory.


CMake Error at third-party/CMakeLists.txt:95 (add_subdirectory):
  add_subdirectory given source "slang-elab/src" which is not an existing
  directory.


CMake Error at /usr/local/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
  Could NOT find BISON (missing: BISON_EXECUTABLE)
Call Stack (most recent call first):
  /usr/local/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/share/cmake-3.31/Modules/FindBISON.cmake:306 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  src/odb/src/lef/CMakeLists.txt:2 (find_package)


-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- OpenROAD version: 26Q3-23-gb65c274cad
-- System name: Linux
-- Compiler: GNU 13.3.0
-- Build type: RELEASE
-- Install prefix: /usr/local
-- C++ Standard: 20
-- C++ Standard Required: ON
-- C++ Extensions: OFF
-- LTO/IPO is enabled
-- TCL library: /usr/lib/x86_64-linux-gnu/libtcl8.6.so
-- TCL header: TCL_HEADER-NOTFOUND
-- Found SWIG: /usr/local/bin/swig (found suitable version "4.3.0", minimum required is "4.3")
-- boost: 1.87.0
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- absl: 20250512
-- Found GTest: /usr/local/lib/cmake/GTest/GTestConfig.cmake (found version "1.17.0")
-- GTest: 1.17.0
-- Found Python3: /usr/include/python3.12 (found version "3.12.3") found components: Development Development.Module Development.Embed
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.3")
-- spdlog: 1.15.0
-- Configuring incomplete, errors occurred!


I built OpenROAD in a custom container according to the documentation based on ORFS 490c5690448ab5cfeb4d04e66a52716a676a2d3c. This is the run-time stage and missing tools from the compile stage.

To Reproduce

vars-SG13CMOS5LTop-ihp-sg13cmos5l-base.sh
run-me-SG13CMOS5LTop-ihp-sg13cmos5l-base.sh

Relevant log output

Screenshots

No response

Additional Context

I have seen this issue only with two different types of IHP SRAM macros. I can add the same macro twice and that works. As soon as I add a second, different macro, I get this error.

Metadata

Metadata

Assignees

Labels

ctsClock Tree Synthesis

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions