Skip to content

Commit

Permalink
Merge pull request #1984 from The-OpenROAD-Project-staging/secure-TR_…
Browse files Browse the repository at this point in the history
…minAreaQuickFix

ignore fixed shapes and out-of-route-box shapes in min area check
  • Loading branch information
maliberty committed Jun 23, 2022
2 parents ff2674c + 2cfa377 commit f2466c4
Showing 1 changed file with 7 additions and 13 deletions.
20 changes: 7 additions & 13 deletions src/drt/src/gc/FlexGC_main.cpp
Expand Up @@ -1380,24 +1380,18 @@ void FlexGCWorker::Impl::checkMetalShape_minArea(gcPin* pin)
if (actArea >= reqArea) {
return;
}

bool hasNonFixedEdge = false;
gtl::rectangle_data<frCoord> bbox;
gtl::extents(bbox, *pin->getPolygon());
Rect bbox2(gtl::xl(bbox), gtl::yl(bbox), gtl::xh(bbox), gtl::yh(bbox));
if (!drWorker_->getRouteBox().contains(bbox2))
return;
for (auto& edges : pin->getPolygonEdges()) {
for (auto& edge : edges) {
if (edge->isFixed() == false) {
hasNonFixedEdge = true;
break;
}
}
if (hasNonFixedEdge) {
break;
if (edge->isFixed())
return;
}
}

if (!hasNonFixedEdge) {
return;
}

// add marker
gtl::polygon_90_set_data<frCoord> tmpPolys;
using namespace boost::polygon::operators;
Expand Down

0 comments on commit f2466c4

Please sign in to comment.