ant: remove circular dependency with grt
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.
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
@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.
I'll take a look. Let me know if you need help with the Bazel failure. I expect you need to adjust the dependencies.
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
clang-tidy review says "All clean, LGTM! :+1:"
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.
clang-tidy review says "All clean, LGTM! :+1:"