You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
These locations are random, so there's no guarantee that we're actually having some sort of benefit.
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.
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:
However in ORFS, the macro placer sees the IOs' locations that come from random PPL, so, there's a couple of problematic things:
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.
Additional Context
This can be the solution for #4867 and #2079
The text was updated successfully, but these errors were encountered: