Skip to content
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

Use IO constraints kept by PPL inside MPL2 to improve QoR #5669

Open
AcKoucher opened this issue Aug 29, 2024 · 0 comments · May be fixed by #5809
Open

Use IO constraints kept by PPL inside MPL2 to improve QoR #5669

AcKoucher opened this issue Aug 29, 2024 · 0 comments · May be fixed by #5809
Assignees
Labels
mpl Macro Placement

Comments

@AcKoucher
Copy link
Contributor

AcKoucher commented Aug 29, 2024

Description

MPL2 uses the IOs' locations to structure the physical hierarchy in a particular way:
we bundle the pins into clusters which will be fixed on the boundaries that they were placed.

With this mechanism, we can benefit from:

  • The connections between the other clusters and bundled IOs;
  • The data flow of the nets that have IOs.

However in ORFS, MPL2 uses the IOs' locations that come from random PPL. And so, there's a couple of problematic things:

  1. These locations are random, so there's no guarantee that we're actually having some sort of benefit.
  2. In many cases, bundled IOs cover all four boundaries and, due to the way they're modeled in sequence pair, SA can have a very hard time finding a good solution.

Suggested Solution

MPL2 should not rely on fixed locations for the pins (or have a new mode for it).

Instead of having bundled IOs, we can use the constraints data that is now stored by PPL to have some idea about the "preferred" boundary of the clusters during SA.

During cluster placement, instead of having a connection with each bundled IO, each cluster would have a min_dist connection to the boundaries that it has constrained IOs connected to.
Unconstrained IOs would be constrained to all boundaries, so we could just get the closest one.

Additional Context

This can be the solution for #4867 and #2079

@AcKoucher AcKoucher added the mpl Macro Placement label Aug 29, 2024
@AcKoucher AcKoucher self-assigned this Aug 29, 2024
@AcKoucher AcKoucher linked a pull request Sep 26, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mpl Macro Placement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant