Skip to content

odb: [WARNING ODB-0454] The modules cannot be swapped #9123

@jhkim-pii

Description

@jhkim-pii

Describe the bug

When SWAP_ARITH_OPERATORS=1, all operator swap attempts failed due to [WARNING ODB-0454] The modules cannot be swapped... warning.

Reproduce

flow$ make SWAP_ARITH_OPERATORS=1 DESIGN_CONFIG=./designs/asap7/ethmac/configmk floorplan

Log

OpenROAD v2.0-26969-g61879bec53
Features included (+) or not (-): +GPU +GUI +Python : RelWithDebInfo
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 ORD-0030] Using 64 thread(s).
source ./platforms/asap7/liberty_suppressions.tcl
read_liberty ./platforms/asap7/lib/NLDM/asap7sc7p5t_AO_RVT_FF_nldm_211120.lib.gz
read_liberty ./platforms/asap7/lib/NLDM/asap7sc7p5t_INVBUF_RVT_FF_nldm_220122.lib.gz
read_liberty ./platforms/asap7/lib/NLDM/asap7sc7p5t_OA_RVT_FF_nldm_211120.lib.gz
read_liberty ./platforms/asap7/lib/NLDM/asap7sc7p5t_SIMPLE_RVT_FF_nldm_211120.lib.gz
read_liberty ./platforms/asap7/lib/NLDM/asap7sc7p5t_SEQ_RVT_FF_nldm_220123.lib
read_db -hier ./results/asap7/ethmac/base/1_synth.odb <---- read_db -hier instead of link_design -hier
[WARNING ORD-0012] Hierarchical flow (-hier) is currently in development and may cause multiple issues. Do not use in production environments.

==========================================================================
Floorplan check_setup

number instances in verilog is 54103
[WARNING IFP-0028] Core area lower left (2.000, 2.000) snapped to (2.052, 2.160).
[INFO IFP-0001] Added 376 rows of 1883 site asap7sc7p5t.
source ./platforms/asap7/openRoad/make_tracks.tcl
source ./platforms/asap7/fastroute.tcl
Repair tie lo fanout...
[INFO RSZ-0042] Inserted 24 tie TIELOx1_ASAP7_75t_R instances.
Repair tie hi fanout...
[INFO RSZ-0042] Inserted 1287 tie TIEHIx1_ASAP7_75t_R instances.
replace_arith_module -path_count 1000 -target setup -slack_margin 0.0
[INFO RSZ-0151] Starting arithmetic module replacement to optimize 'setup' target
[INFO RSZ-0152] Analyzing 1000 critical paths with slack < 0.00
[INFO RSZ-0153] Identified 681 violating endpoints
[INFO RSZ-0154] Identified 5 critical arithmetic instances
[WARNING ODB-0454] The modules cannot be swapped because module ALU_16_0_3_0_16_unused_CO[14:0]_Y_HAN_CARLSON has port A which is not in module ALU_16_0_3_0_16_unused_CO[14:0]_Y_KOGGE_STONE.
[WARNING ODB-0454] The modules cannot be swapped because module ALU_16_0_32_0_32_unused_CO[30:0]_Y_HAN_CARLSON has port A which is not in module ALU_16_0_32_0_32_unused_CO[30:0]_Y_KOGGE_STONE.
[WARNING ODB-0454] The modules cannot be swapped because module ALU_16_0_3_0_16_unused_CO[14:0]Y_HAN_CARLSON__53314 has port A which is not in module ALU_16_0_3_0_16_unused_CO[14:0]_Y_KOGGE_STONE.
[WARNING ODB-0454] The modules cannot be swapped because module ALU_16_0_16_0_16_unused_CO[14:0]_Y_HAN_CARLSON has port A which is not in module ALU_16_0_16_0_16_unused_CO[14:0]_Y_KOGGE_STONE.
[WARNING ODB-0454] The modules cannot be swapped because module ALU_16_0_16_0_16_unused_CO[14:0]Y_HAN_CARLSON__53317 has port A which is not in module ALU_16_0_16_0_16_unused_CO[14:0]_Y_KOGGE_STONE.

[INFO RSZ-0160] 5 arithmetic instances have swapped to improve 'setup' target <--- Wrong message. Actually, all operator swaps failed.

Expected Behavior

No warning and successful operator swapping.

Environment

OR (Dec 13): 61879bec5388194cb1bc5035f932aaaddc959cd2
ORFS (Dec 22): e7ea5740a71ba62a4ce5e90da5a08af78df49aaa

-- OpenROAD version: v2.0-26969-g61879bec53
-- System name: Linux
-- Compiler: GNU 13.3.0
-- Build type: RelWithDebInfo
-- Install prefix: /usr/local
-- C++ Standard: 20
-- 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
-- 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
-- spdlog: 1.15.0
-- STA version: 2.7.0
-- STA git sha: 9c9b5659d6a7ecbe02ea1204aa89079a77db1d3e
-- System name: Linux
-- Compiler: GNU 13.3.0
-- Build type: RelWithDebInfo
-- Build CXX_FLAGS: 
-- 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/clean_synth_odb/OpenROAD-flow-scripts/tools/OpenROAD/build/libOpenSTA.a
-- STA executable: /workspace/clean_synth_odb/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

flow$ make SWAP_ARITH_OPERATORS=1 DESIGN_CONFIG=./designs/asap7/ethmac/configmk floorplan

Relevant log output

Screenshots

No response

Additional Context

No response

Metadata

Metadata

Assignees

Labels

odbOpenDB

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions