Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue when using custom via in NDR rule #3125

Open
Wen-Tian-Pineapple opened this issue Apr 3, 2023 · 9 comments · Fixed by #3250
Open

Issue when using custom via in NDR rule #3125

Wen-Tian-Pineapple opened this issue Apr 3, 2023 · 9 comments · Fixed by #3250
Assignees

Comments

@Wen-Tian-Pineapple
Copy link
Contributor

Describe the bug

When using NDR rule with custom via in OpenFasoc, I found the issue that the added vias are not actually used/connected during detail routing. And it reports the error below. Basically I think the adding custom vias into NDR rule doesn't do anything. This issue is linked to #200

Expected Behavior

The custom vias are used and connected corrected during detail routing

Environment

[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 3.10.0-1160.88.1.el7.x86_64
os: CentOS Linux 7 (Core)
cmake version 3.24.2
-- The CXX compiler identification is GNU 12.1.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- OpenROAD version: v2.0-7480-g8a4065b09
-- System name: Linux
-- Compiler: GNU 12.1.0
-- Build type: RELEASE
-- Install prefix: /usr/local
-- C++ Standard: 17
-- C++ Standard Required: ON
-- C++ Extensions: OFF
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY) 
-- The C compiler identification is GNU 12.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Python: /usr/local/bin/python3.10 (found version "3.10.2") found components: Interpreter 
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Performing Test C_COMPILER_SUPPORTS__-Wall
-- Performing Test C_COMPILER_SUPPORTS__-Wall - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wall
-- Performing Test CXX_COMPILER_SUPPORTS__-Wall - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-array-bounds
-- Performing Test C_COMPILER_SUPPORTS__-Wno-array-bounds - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-array-bounds
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-array-bounds - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-nonnull
-- Performing Test C_COMPILER_SUPPORTS__-Wno-nonnull - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-nonnull
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-nonnull - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-maybe-uninitialized
-- Performing Test C_COMPILER_SUPPORTS__-Wno-maybe-uninitialized - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-maybe-uninitialized
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-maybe-uninitialized - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format-overflow
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format-overflow - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format-overflow
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format-overflow - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-variable
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-variable - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-variable
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-variable - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-function
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-function - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-function
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-function - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-write-strings
-- Performing Test C_COMPILER_SUPPORTS__-Wno-write-strings - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-write-strings
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-write-strings - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-sign-compare
-- Performing Test C_COMPILER_SUPPORTS__-Wno-sign-compare - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-sign-compare - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-deprecated
-- Performing Test C_COMPILER_SUPPORTS__-Wno-deprecated - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-deprecated
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-deprecated - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-c++11-narrowing
-- Performing Test C_COMPILER_SUPPORTS__-Wno-c++11-narrowing - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-c++11-narrowing
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-c++11-narrowing - Failed
-- Performing Test C_COMPILER_SUPPORTS__-Wno-register
-- Performing Test C_COMPILER_SUPPORTS__-Wno-register - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-register
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-register - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format
-- Performing Test C_COMPILER_SUPPORTS__-Wno-format - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-format - Success
-- Performing Test C_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal
-- Performing Test C_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-reserved-user-defined-literal - Failed
-- Performing Test C_COMPILER_SUPPORTS__-fpermissive
-- Performing Test C_COMPILER_SUPPORTS__-fpermissive - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-fpermissive
-- Performing Test CXX_COMPILER_SUPPORTS__-fpermissive - Success
-- Performing Test C_COMPILER_SUPPORTS__-x
-- Performing Test C_COMPILER_SUPPORTS__-x - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__-x
-- Performing Test CXX_COMPILER_SUPPORTS__-x - Failed
-- Performing Test C_COMPILER_SUPPORTS__c++
-- Performing Test C_COMPILER_SUPPORTS__c++ - Failed
-- Performing Test CXX_COMPILER_SUPPORTS__c++
-- Performing Test CXX_COMPILER_SUPPORTS__c++ - Failed
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-but-set-variable
-- Performing Test C_COMPILER_SUPPORTS__-Wno-unused-but-set-variable - Success
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-but-set-variable
-- Performing Test CXX_COMPILER_SUPPORTS__-Wno-unused-but-set-variable - Success
-- TCL library: /usr/lib64/libtcl.so
-- TCL header: /usr/include/tcl.h
-- TCL readline library: /usr/lib64/libtclreadline.so
-- TCL readline header: /usr/include
-- Found SWIG: /usr/bin/swig (found suitable version "4.1.0", minimum required is "3.0")  
-- Using SWIG >= 4.1.0 -flatstaticmethod flag for python
-- Found Boost: /usr/local/lib/cmake/Boost-1.72.0/BoostConfig.cmake (found version "1.72.0")  
-- boost: 1.72.0
-- Found Python3: /usr/local/include/python3.10 (found version "3.10.2") found components: Development Development.Module Development.Embed 
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.7") 
-- spdlog: 1.8.1
-- Found BISON: /usr/bin/bison (found version "3.0.4") 
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.5") found components: doxygen dot 
-- STA version: 2.4.0
-- STA git sha: 882681a674e7089e5f02de4ba2050c6be32b6cd1
-- System name: Linux
-- Compiler: GNU 12.1.0
-- Build type: RELEASE
-- Build CXX_FLAGS: -O3 -DNDEBUG
-- Install prefix: /usr/local
-- Found FLEX: /usr/bin/flex (found version "2.5.37") 
-- TCL library: /usr/lib64/libtcl.so
-- TCL header: /usr/include/tcl.h
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- SSTA: 0
-- STA executable: /home/wentian/Desktop/OpenROAD1/OpenROAD-flow-scripts/tools/OpenROAD/src/sta/app/sta
-- GPU is not enabled
-- Found re2: /opt/or-tools/lib64/cmake/re2/re2Config.cmake (found version "9.0.0") 
-- Found Clp: /opt/or-tools/lib64/cmake/Clp/ClpConfig.cmake (found version "1.17.7") 
-- Found Cbc: /opt/or-tools/lib64/cmake/Cbc/CbcConfig.cmake (found version "2.10.7") 
-- Found Eigen3: /usr/local/share/eigen3/cmake/Eigen3Config.cmake (found version "3.3.9") 
-- Found SCIP: /opt/or-tools/lib/cmake/scip/scip-config.cmake (found version "8.0.1") 
-- GUI is enabled
-- Found Boost: /usr/local/lib/cmake/Boost-1.72.0/BoostConfig.cmake (found version "1.72.0") found components: serialization 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- Could NOT find VTune (missing: VTune_LIBRARIES VTune_INCLUDE_DIRS) 
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found suitable version "1.80.0", minimum required is "1.78")  
-- Found Boost: /usr/local/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found version "1.80.0") found components: serialization system thread 
-- TCL readline enabled
-- Tcl Extended disabled
-- Python3 enabled
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/tmp.JxZ6h8l13a

To Reproduce

run this tcl file with temp sense generator in OpenFasoc
pre_global_route.txt

Relevant log output

ERROR Output:
Error: pg_VIN 2 pin not visited #guides = 24
Error: checkConnectivity break, net pg_VIN
Objs not visited:
frPathSeg: begin (96830 22950 ) end ( 96830 23290 ) layerNum 4
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (96830 22780 ) end ( 96830 22950 ) layerNum 6
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (96830 22780 ) end ( 97750 22780 ) layerNum 8
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (97750 22780 ) end ( 99820 22780 ) layerNum 8
	beginStyle: 1
	endStyle: 0
frPathSeg: begin (82110 20740 ) end ( 84870 20740 ) layerNum 8
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (84870 20740 ) end ( 86940 20740 ) layerNum 8
	beginStyle: 1
	endStyle: 0
frPathSeg: begin (82110 20740 ) end ( 82110 22950 ) layerNum 6
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (72910 22950 ) end ( 82110 22950 ) layerNum 4
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (91770 22100 ) end ( 91770 23290 ) layerNum 6
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (86940 22100 ) end ( 91770 22100 ) layerNum 8
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (86940 20740 ) end ( 86940 22100 ) layerNum 8
	beginStyle: 0
	endStyle: 1
frPathSeg: begin (91770 23290 ) end ( 96830 23290 ) layerNum 4
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (71300 49300 ) end ( 72910 49300 ) layerNum 8
	beginStyle: 1
	endStyle: 1
frPathSeg: begin (72910 22950 ) end ( 72910 49300 ) layerNum 6
	beginStyle: 1
	endStyle: 1
frVia: at ( 96830 22950 )
VIA DEF:
VIA L1M1_PR DEFAULT
  RECT -85 -85 85 85
  RECT -85 -85 85 85
  RECT -145 -115 145 115
frVia: at ( 96830 22780 )
VIA DEF:
VIA M2M3_PR DEFAULT
  RECT -140 -185 140 185
  RECT -100 -100 100 100
  RECT -165 -165 165 165
frVia: at ( 82110 20740 )
VIA DEF:
VIA M2M3_PR DEFAULT
  RECT -140 -185 140 185
  RECT -100 -100 100 100
  RECT -165 -165 165 165
frVia: at ( 82110 22950 )
VIA DEF:
VIA L1M1_PR DEFAULT
  RECT -85 -85 85 85
  RECT -85 -85 85 85
  RECT -145 -115 145 115
frVia: at ( 72910 22950 )
VIA DEF:
VIA L1M1_PR DEFAULT
  RECT -85 -85 85 85
  RECT -85 -85 85 85
  RECT -145 -115 145 115
frVia: at ( 91770 23290 )
VIA DEF:
VIA L1M1_PR DEFAULT
  RECT -85 -85 85 85
  RECT -85 -85 85 85
  RECT -145 -115 145 115
frVia: at ( 91770 22100 )
VIA DEF:
VIA M2M3_PR DEFAULT
  RECT -140 -185 140 185
  RECT -100 -100 100 100
  RECT -165 -165 165 165
frVia: at ( 72910 49300 )
VIA DEF:
VIA M2M3_PR DEFAULT
  RECT -140 -185 140 185
  RECT -100 -100 100 100
  RECT -165 -165 165 165
frVia: at ( 71300 49300 )
VIA DEF:
VIA M3M4_PR DEFAULT
  RECT -190 -160 190 160
  RECT -100 -100 100 100
  RECT -165 -165 165 165
INSTTERM: (INST/CELL/TERM/NET) temp_analog_1.a_header_2 HEADER VIN pg_VIN

Screenshots

No response

Additional Context

No response

@eder-matheus
Copy link
Contributor

HI, @Wen-Tian-Pineapple. Could you attach a reproducible testcase? I wasn't able to build OpenFASOC on my machine. A .tar file with the necessary files and scripts would be nice.

@eder-matheus
Copy link
Contributor

@Wen-Tian-Pineapple Could you try the latest master branch? I've fixed the NDR vias issue in drt.

@Wen-Tian-Pineapple
Copy link
Contributor Author

Wen-Tian-Pineapple commented Apr 29, 2023

@Wen-Tian-Pineapple Could you try the latest master branch? I've fixed the NDR vias issue in drt.

Nevermind, I still have the issue somehow, maybe we can possibly schedule a meeting so I can explain you better.

@Wen-Tian-Pineapple
Copy link
Contributor Author

How can I reopen this issue by the way?

@maliberty
Copy link
Member

image

@maliberty maliberty reopened this Apr 29, 2023
@eder-matheus
Copy link
Contributor

@Wen-Tian-Pineapple Could you try the latest master branch? I've fixed the NDR vias issue in drt.

Nevermind, I still have the issue somehow, maybe we can possibly schedule a meeting so I can explain you better.

Do you still have the same issue?
And yes, we can schedule a meeting. A test case would also be nice if you can create a reproducible of this issue.

@Wen-Tian-Pineapple
Copy link
Contributor Author

@Wen-Tian-Pineapple Could you try the latest master branch? I've fixed the NDR vias issue in drt.

Nevermind, I still have the issue somehow, maybe we can possibly schedule a meeting so I can explain you better.

Do you still have the same issue? And yes, we can schedule a meeting. A test case would also be nice if you can create a reproducible of this issue.

I think it will be quicker for me to show you this issue directly, do you have time tomorrow around 1pm, or you can suggest a time that's most comfortable with you. Thank you!

@eder-matheus
Copy link
Contributor

I think it will be quicker for me to show you this issue directly, do you have time tomorrow around 1pm, or you can suggest a time that's most comfortable with you. Thank you!

@Wen-Tian-Pineapple Yes, we can talk today. What is your time zone? If it is 1pm PST, it's fine for me. You can call me directly on LinkedIn if you want: http://www.linkedin.com/in/eder-matheus-rodrigues-monteiro.

@Wen-Tian-Pineapple
Copy link
Contributor Author

I think it will be quicker for me to show you this issue directly, do you have time tomorrow around 1pm, or you can suggest a time that's most comfortable with you. Thank you!

@Wen-Tian-Pineapple Yes, we can talk today. What is your time zone? If it is 1pm PST, it's fine for me. You can call me directly on LinkedIn if you want: http://www.linkedin.com/in/eder-matheus-rodrigues-monteiro.

Sorry for the delay, I just added you on linkedin, I think you need to add me first before I can send you the vedio chat link?

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 a pull request may close this issue.

3 participants