-
Notifications
You must be signed in to change notification settings - Fork 551
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
grt: fix handle of obstructions in single gcells #5703
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
…a single gcell Signed-off-by: Eder Monteiro <[email protected]>
…ate/OpenROAD into grt_fix Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
// if obstruction is inside a single gcell, block the edge between current | ||
// gcell and the adjacent gcell | ||
if (first_tile.getX() == last_tile.getX() | ||
&& last_tile.getX() + 1 < grid_limit) { | ||
int last_tile_x = last_tile.getX() + 1; | ||
last_tile.setX(last_tile_x); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think generally not just for first_tile.getX() == last_tile.getX():
last_tile.setX(last_tile.getX() + 1);
first_tile.setX(first_tile.getX() - 1);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've tried this approach, but it is too agressive. A bunch of designs failed with high congestion. We are probably blocking pin access for macro pins and instance pins that are above layer 1.
My understanding is that blocking to the right/top is enought because the way FastRoute algorithm works, creating the edges in these two directions. Also, the test case used to validate this update is showing the correct congestion in layer 1 and we don't have guides in this layer anymore.
Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
This reverts commit 4b4155e. Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
@eder-matheus what's the status of this PR? |
I have congestion failures in a few public designs that I need to investigate. I didn't prioritized it yet because I was looking at repair antennas and the new yosys version, but I'll got back to it soon. |
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eder Monteiro <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
clang-tidy review says "All clean, LGTM! 👍" |
Fixes #5696.
Secure-ci is running.