-
Notifications
You must be signed in to change notification settings - Fork 602
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 #6689
base: master
Are you sure you want to change the base?
mpl: fix fixed terminals for cluster of unplaced IOs #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. |
Fix #6668
What is Wrong
In the context of the WL computation inside SA for the cluster of unconstrained pins, the distance to boundary is being wrongly computed, because we're using the shape of its Cluster object which does not take into account the offset w.r.t. the current outline.
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, inside SACore, for a WL computation in which one of the objects is a cluster of unplaced IOs: