-
Notifications
You must be signed in to change notification settings - Fork 750
Description
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