Skip to content

Commit b562480

Browse files
authored
Merge pull request #10722 from Fermions-ASI/fix/10490
pdn: prevent pad connections from targeting macro grid shapes (#10490)
2 parents 6e7eaab + 7fd32f4 commit b562480

6 files changed

Lines changed: 30740 additions & 0 deletions

File tree

src/pdn/src/straps.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1590,6 +1590,19 @@ bool PadDirectConnectionStraps::refineShape(
15901590

15911591
bool PadDirectConnectionStraps::isTargetShape(const Shape* shape) const
15921592
{
1593+
// Pad direct connections run from a pad pin toward the core power grid. They
1594+
// must not target shapes that belong to an instance (macro) grid: those
1595+
// stripes sit inside the core over the macro, and snapping a pad connection
1596+
// to them drags the connection deep into the core (issue #10490). Only
1597+
// shapes owned by core/existing grids are valid landing targets.
1598+
const auto* component = shape->getGridComponent();
1599+
if (component != nullptr) {
1600+
const auto* grid = component->getGrid();
1601+
if (grid != nullptr && grid->type() == Grid::kInstance) {
1602+
return false;
1603+
}
1604+
}
1605+
15931606
if (target_shapes_type_) {
15941607
return shape->getType() == target_shapes_type_.value();
15951608
}

src/pdn/test/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ COMPULSORY_TESTS = [
117117
"pads_black_parrot_flipchip_connect_overpads",
118118
"pads_black_parrot_grid_define",
119119
"pads_black_parrot_limit_connect",
120+
"pads_black_parrot_macro_grid",
120121
"pads_black_parrot_max_width",
121122
"pads_black_parrot_no_connect",
122123
"pads_black_parrot_offset",

src/pdn/test/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ or_integration_tests(
113113
pads_black_parrot_flipchip_connect_overpads
114114
pads_black_parrot_grid_define
115115
pads_black_parrot_limit_connect
116+
pads_black_parrot_macro_grid
116117
pads_black_parrot_max_width
117118
pads_black_parrot_no_connect
118119
pads_black_parrot_offset

0 commit comments

Comments
 (0)