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

mpl: add support for IO Pads #6600

Merged
merged 1 commit into from
Feb 7, 2025

Conversation

AcKoucher
Copy link
Contributor

@AcKoucher AcKoucher commented Jan 27, 2025

Resolve #6585

Changes:

  • Divide the IO Clusters into two types:
    1. Group of Unplaced IO Pins
    2. IO Pad
  • When creating the hypergraph that will be used to build the dataflow maps and iterating over the terminals of an IO PAD net, consider the start of the path to be the bterm mapped to that PAD instead of the PAD itself so that MPL can see the connection properly inside SA.
  • Do data flow before creating IO Clusters so that the IO Clusters creation can be based on the dataflow. With this, we'll only create IO Pad Clusters for the PADs that have useful connections macro placement wise.
    Obs: Large nets are excluded from the hypergraph and not used by SA, so we don't want to look at those.
  • Use the distance to boundary technique inside SA only for the first type of IO Clusters.

Copy link
Contributor

@github-actions github-actions bot left a 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

src/mpl2/src/clusterEngine.h Outdated Show resolved Hide resolved
src/mpl2/src/object.cpp Outdated Show resolved Hide resolved
@AcKoucher AcKoucher changed the title mpl2: add support for IO Pads mpl: add support for IO Pads Jan 27, 2025
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Signed-off-by: Arthur Koucher <[email protected]>
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@AcKoucher
Copy link
Contributor Author

This is waiting on the fix for the timeout happening on Secure-CI.

@AcKoucher AcKoucher marked this pull request as ready for review January 30, 2025 14:16
@AcKoucher AcKoucher requested a review from maliberty January 30, 2025 14:17
@AcKoucher
Copy link
Contributor Author

Running locally with the sta fix to solve the timeout showed significantly better metrics. Even though we can´t merge this due to the timeout, it's ready for review.

@AcKoucher
Copy link
Contributor Author

@eder-matheus I had a chat with @osamahammad21 yesterday and this PR comes with three DRCs which are not too challenging to solve. The chat was based on the results I got from my run from 4 days ago.

I re-ran Secure-CI last night and the result is stable, we still see the same violations.
That said, this is good to merge.

@eder-matheus eder-matheus merged commit f113983 into The-OpenROAD-Project:master Feb 7, 2025
11 checks passed
@AcKoucher AcKoucher deleted the mpl2-pads branch February 7, 2025 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MPL can't see the connections between IO PADs and the core
3 participants