-
Notifications
You must be signed in to change notification settings - Fork 741
gpl filler gcell removal instead of density modification for routability mode #7466
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
gpl filler gcell removal instead of density modification for routability mode #7466
Conversation
this allows for removing filler gcells instead of increasing density for area modifications Signed-off-by: Augusto Berndt <[email protected]>
…r removal Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
include more reports remove unecessary function Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
… congestion observed during routability iterations Signed-off-by: Augusto Berndt <[email protected]>
the issue was that multiple filler gcells were restored to the origin and moving together as a cluster, making a whole of empty space Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
…l-filler-gcell-removal
…er swap and pop Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
…final placement Signed-off-by: Augusto Berndt <[email protected]>
Signed-off-by: Augusto Berndt <[email protected]>
|
@osamahammad21 FYI |
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Augusto Berndt <[email protected]>
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
…tName Signed-off-by: Augusto Berndt <[email protected]>
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Augusto Berndt <[email protected]>
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Augusto Berndt <[email protected]>
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Augusto Berndt <[email protected]>
|
@maliberty secure-CI is passing for public designs, I just triggered the updateRules in The-OpenROAD-Project/OpenROAD-flow-scripts#3220 |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
This PR introduces a significant change to how filler cells are handled within the global placement (GPL) routability mode. Previously, when area increased due to routability mode inflations, we compensated by increasing density. This approach was counter-intuitive and hindered the routability mode's ability to spread instances effectively. Now, filler cells are removed to directly compensate for inflated area. The previous density modification approach is only utilized when no more fillers can be removed.
A special situation arises when routing congestion doesn't reduce for three consecutive routability iterations. In such cases, instead of reverting to the conventional snapshot (0.6 overflow), we revert to the inflation values that yielded the minimum observed routing congestion (i.e., the best solution found). When this occurs, previously removed fillers are restored using NesterovBase::restoreRemovedFillers().
Currently, this filler removal modification is exclusive to the routability mode. It has not been extended to the timing-driven mode due to consistent divergences observed on three Nangate45 designs when attempting to remove fillers after non-virtual timing-driven iterations.
This PR also includes the following modifications:
EDIT: Here are some examples, master on top and new version on bottom images:

sky130hd/aes
nangate45/swerv

All public designs images are available in this link.