More generic criterion for finding under minimum area segments.

* Change: In AutoSegment::isMiddleStack(), after checking for obvious
    non-candidates, relies on axis-to-axis wirelength instead of topological
    criterions. We will not be able to account all the topologies that
    may cause problem. So consider every segment whose length is below
    one perpandicular pitch.
This commit is contained in:
Jean-Paul Chaput 2021-06-11 11:46:13 +02:00
parent 9c153699be
commit 7c8d47a2d1
1 changed files with 6 additions and 6 deletions

View File

@ -1652,13 +1652,13 @@ namespace Anabatic {
}
}
if ((source->isHTee() or target->isHTee()) and isHorizontal()) {
cdebug_log(149,0) << "| false, S/T HTee and horizontal. " << this << endl;
DbU::Unit sourceAxis = 0;
DbU::Unit targetAxis = 0;
getEndAxes( sourceAxis, targetAxis );
if ((targetAxis - sourceAxis) >= getPPitch()) {
cdebug_log(149,0) << "| Canonical axis length superior to P-Pitch " << this << endl;
return false;
} else if ((source->isVTee() or target->isVTee()) and isVertical()) {
cdebug_log(149,0) << "| false, S/T VTee and vertical. " << this << endl;
return false;
}
}
cdebug_log(149,0) << " Middle stack or terminal bound." << endl;
return true;
}