-
Notifications
You must be signed in to change notification settings - Fork 612
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
mpl: fix fixed terminals for cluster of unplaced IOs and max cost #6689
base: master
Are you sure you want to change the base?
mpl: fix fixed terminals for cluster of unplaced IOs and max cost #6689
Conversation
Signed-off-by: Arthur Koucher <[email protected]>
…side SA Signed-off-by: Arthur Koucher <[email protected]>
Signed-off-by: Arthur Koucher <[email protected]>
…ments Signed-off-by: Arthur Koucher <[email protected]>
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.
clang-tidy made some suggestions
Signed-off-by: Arthur Koucher <[email protected]>
clang-tidy review says "All clean, LGTM! 👍" |
Running Secure-CI |
Code is ok; waiting on CI to merge |
The failure in the regression test seems to triggered by a bug that is not related to the changes here. However, it needs fixing before this PR gets merged. I'm working on it. |
Signed-off-by: Arthur Koucher <[email protected]>
@maliberty I found another bug in the same scope of the changes here. I pushed the fix and updated the description. Could you take another look? PS this is still needs #6697 to make the regression tests consistent. |
1. Cache actual offset die area instead of just the half perimeter and use the cached die to compute the max dist for max cost. 2. Some renaming. Signed-off-by: Arthur Koucher <[email protected]>
I pushed one more change that will help me rebasing second phase of the IO constraints' project branch with the changes here. |
Fix #6668
What is Wrong
In the context of the WL computation inside SA for when the target cluster is a cluster of unplaced IOs:
Context and Changes
Originally, a fixed terminal in HierRTLMP was just a Soft/Hard Macro with the shape of a point (area = 0).
With the new IOs' abstraction implemented in #5809, for clusters of unplaced IOs, we need to have a Soft/Hard Macro object with a proper shape inside SA in order to compute the distance to the closest boundary correctly.
As this needs to happen for both cluster placement (Soft) and macro placement (Hard) I made the constructors used to create fixed terminals in both Hard/Soft Macro have the same arguments to be able to template the function that uses these constructors.
I.e., this PR ensures that: