DPL padding fixed#7844
Merged
maliberty merged 12 commits intoThe-OpenROAD-Project:masterfrom Jul 20, 2025
Merged
Conversation
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Signed-off-by: osamahammad21 <osama21@aucegypt.edu>
Contributor
|
clang-tidy review says "All clean, LGTM! 👍" |
maliberty
reviewed
Jul 18, 2025
| #include "placerBase.h" | ||
| #include "point.h" | ||
| #include "routeBase.h" | ||
|
|
Member
There was a problem hiding this comment.
not sure why this changed but not crucial
| bool is_hopeless = false; // too far from sites for diamond search | ||
| std::map<dbSite*, dbOrientType> sites; | ||
| uint8_t blocked_layers = 0; | ||
| std::unordered_set<Node*> |
Member
There was a problem hiding this comment.
Can there ever be more than two nodes?
Member
There was a problem hiding this comment.
Currently no. This set should have one node only. However, if we opt to shared padding area, this would be helpful. Because this set would hold 2 nodes; the left node and the right node.
Member
There was a problem hiding this comment.
I would just have a left & right field rather than an unordered_set (smaller and faster). We can do that in a follow up.
maliberty
approved these changes
Jul 20, 2025
35e48b6
into
The-OpenROAD-Project:master
10 of 11 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Previously, we used to consider the padding area as part of the cell area in marking the grid pixels. This led to a failure in a corner case of having 1-site padding and disallowing one site gaps at the same time. 2 cells with one site gap in between would be considered valid because dpl sees that one site as part of the cell. Thus it considers both cells abutted.
In this PR, I separate padding from cell actual area marked in the grid. I introduce a new variable for each grid pixel, called padding_reserved_by, that represents the cell that claims that pixel for its padding.