pad: cleanup RDL access point handling#10046
pad: cleanup RDL access point handling#10046gadfort wants to merge 3 commits intoThe-OpenROAD-Project:masterfrom
Conversation
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
Signed-off-by: Peter Gadfort <gadfort@zeroasic.com>
There was a problem hiding this comment.
Code Review
This pull request enhances the RDL router's terminal access handling by introducing logic to identify and remove graph edges that cause violations. Key additions include the cleanupGraphEdges function for edge removal and cleanupTerminalAccessPoints to resolve overlapping access points by prioritizing the closest target. Review feedback suggests optimizing the performance of these new functions, specifically by reducing redundant iterations when populating access points and considering incremental updates for the access map to avoid potential bottlenecks in large designs.
|
clang-tidy review says "All clean, LGTM! 👍" |
|
Did you disagree with the gemini comments about performance (resolved but no code changes). |
@maliberty I responded in line. But generally I don't see any performance issues that gemini is suggesting. |
|
clang-tidy review says "All clean, LGTM! 👍" |
Summary
This removed all overlapping snapping points for the access, which just reduces the runtime for the routing since we dont check the same point more than once.
Also instead of rejecting a "snap" because it intersects a 45 degree edge in the graph, we can simply remove the edge allowing for better selection for snapping.
Type of Change
Impact
Should be minimal, better snap choices for particularly difficult designs.
Verification
./etc/Build.sh).Related Issues
N/A