OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

ant: remove circular dependency with grt

Open eder-matheus opened this issue 6 months ago • 4 comments

Fixes https://github.com/The-OpenROAD-Project/OpenROAD/issues/7043

Problem

GRT need to include ANT in repair_antennas to get the nets with violation. Also, ANT was including GRT to build the net wires from the global routing guides. This created a circular dependency between the tools.

Solution

  • Move functions from GRT to ODB/ANT in order to make it visible to ANT, removing the necessity of including GRT
  • Created the WireBuilder class in ANT, which is responsible for creating the net wires from the route guides stored in ODB
    • Auxiliar functions were created to properly translate the guides to wires, specially to detect which pins connects to which guides.

Secure-ci is running with the modifications.

eder-matheus avatar Jun 13 '25 21:06 eder-matheus

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 16 '25 21:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 17 '25 19:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 17 '25 20:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 17 '25 21:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 18 '25 18:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 18 '25 21:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 18 '25 21:06 github-actions[bot]

@maliberty I believe this is finally ready for review. I've fixed the last CI issues, now everything seems to be working as expected (i.e., we're replicating the results from the previous version of antenna checker).

FYI, I plan add multithreading to the wire creation, since it is a bit slow compared to the old version. But I decided to do it in a separate PR as it already has a lot to review.

eder-matheus avatar Jun 18 '25 22:06 eder-matheus

I'll take a look. Let me know if you need help with the Bazel failure. I expect you need to adjust the dependencies.

maliberty avatar Jun 18 '25 22:06 maliberty

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 19 '25 15:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 19 '25 15:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 19 '25 15:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 19 '25 17:06 github-actions[bot]

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 19 '25 18:06 github-actions[bot]

I'll take a look. Let me know if you need help with the Bazel failure. I expect you need to adjust the dependencies.

@maliberty I'm struggle to make bazel work. My last commit is another attempt on it. Unfortunately I can't build it with bazel locally, so I need to wait for the CI.

eder-matheus avatar Jun 19 '25 20:06 eder-matheus

clang-tidy review says "All clean, LGTM! :+1:"

github-actions[bot] avatar Jun 19 '25 20:06 github-actions[bot]