mpl: update notch penalty#8078
Merged
maliberty merged 19 commits intoThe-OpenROAD-Project:masterfrom Aug 27, 2025
Merged
Conversation
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Contributor
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Contributor
|
clang-tidy review says "All clean, LGTM! 👍" |
Contributor
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: João Mai <jmai@precisioninno.com>
Contributor
|
clang-tidy review says "All clean, LGTM! 👍" |
AcKoucher
suggested changes
Aug 23, 2025
src/mpl/src/SACoreSoftMacro.cpp
Outdated
| int& start_id, | ||
| int& end_id, | ||
| std::vector<float>& grid) | ||
| int SACoreSoftMacro::getSegmentIndex(float segment, std::vector<float>& coords) |
Contributor
There was a problem hiding this comment.
The vector reference should be const
Comment on lines
755
to
758
| if (step == max_num_step_ - macros_.size() * 2) { | ||
| notch_weight_ = original_notch_weight_; | ||
| packFloorplan(); | ||
| calPenalty(); | ||
| pre_cost = calNormCost(); |
Contributor
There was a problem hiding this comment.
This entire condition can be removed now that the penalty is being considered throughout the annealing.
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Signed-off-by: João Mai <jmai@precisioninno.com>
Contributor
|
clang-tidy review says "All clean, LGTM! 👍" |
Contributor
|
Secure CI is all green with changes. Public CI requires the merge of PR #3441 in ORFS. |
AcKoucher
approved these changes
Aug 27, 2025
maliberty
approved these changes
Aug 27, 2025
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.
In the current flow, the notch penalty is applied very sparsely during the annealing in MPL, while also being of a fixed small size (10 microns), having basically no effect in most designs.
This PR reworks how the notch penalty works, based on whats proposed in the original RTLMP paper. It works by creating a grid by extending each edge of a macro. The grid is then used to detect if a given cell is a notch (a grid cell is a notch if it is surrounded by 3 or more macros and/or outline edge).