OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

mpl2: post-annealing step to push macros to boundaries

Open AcKoucher opened this issue 1 year ago • 3 comments

#1930 showed that we actually don't allow different x & y coordinates for macro placement halos in mpl2, so #1933 was opened.

When I was testing the distinct x & y halos for mock-array's test case used in #4085, two problems came up:

  • The macros' locations inside the array were wrong (should be fixed by #4976)
  • The array was getting split in two as mpl2 was trying to push the macros to the boundaries by a post-annealing function.

This PR is to change the alignHardMacroGlobal function by a new step in mpl2 that happens before we improve orientation. Basically, we push macros that are close enough to the boundaries if:

  1. They don't overlap with blockages generated for Pin Access
  2. They don't overlap with other macros
  3. Pushing won't destroy the shape of an array of macros.

AcKoucher avatar Apr 24 '24 13:04 AcKoucher

It looks like there's something going on with clang-tidy.

AcKoucher avatar Apr 24 '24 14:04 AcKoucher

secure ci?

maliberty avatar Apr 24 '24 15:04 maliberty

I started a secure-ci

AcKoucher avatar Apr 24 '24 18:04 AcKoucher

@osamahammad21 this comes with one new drc in ca53 but it seems to be just a case of perturbing things happens to trigger a routing issue. I don't see a problem in the macro placement so I'll ask you to look at it but don't want to hold this PR for it.

maliberty avatar May 16 '24 22:05 maliberty