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
3 of 5 tasks
AcKoucher opened this issue Aug 29, 2024 · 0 comments · May be fixed by #6820
Open
3 of 5 tasks

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 #6820
Assignees
Labels
mpl Macro Placement

Comments

@AcKoucher
Copy link
Contributor

AcKoucher commented Aug 29, 2024

Description

Currently mpl2 bundles the pins into clusters which get fixed on the boundaries that they were placed.

With the current 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, the macro placer sees the IOs' locations that come from random PPL, 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: Adapt IOs abstraction inside MPL2 to ORFS flow

Main Idea: Change the IO clusters to, instead of represent bundled IOs placed by random PPL, represent groups of IOs with the same constraints and use the -exclude constraints to help guiding the macro placement.

  • First Version (Simplified): Don't take into account the dimensions of the constraints.
    • If an IO is constrained to a region of a certain edge, it is constrained to that entire edge (unconstrained IOs are constrained to all edges).
    • If an edge has more than 70% of its extension excluded, it is considered a blocked edge for IOs.
  • Enhanced Version: Consider the dimensions of constraints whether they are constraint regions or -exclude constraints.
    • Additional: The pin access blockages' depth should depend on the IO density of that constraint region.

Additional Context

This can be the solution for #4867 and #2079

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