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:
parent
9c153699be
commit
7c8d47a2d1
|
@ -1652,11 +1652,11 @@ namespace Anabatic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((source->isHTee() or target->isHTee()) and isHorizontal()) {
|
DbU::Unit sourceAxis = 0;
|
||||||
cdebug_log(149,0) << "| false, S/T HTee and horizontal. " << this << endl;
|
DbU::Unit targetAxis = 0;
|
||||||
return false;
|
getEndAxes( sourceAxis, targetAxis );
|
||||||
} else if ((source->isVTee() or target->isVTee()) and isVertical()) {
|
if ((targetAxis - sourceAxis) >= getPPitch()) {
|
||||||
cdebug_log(149,0) << "| false, S/T VTee and vertical. " << this << endl;
|
cdebug_log(149,0) << "| Canonical axis length superior to P-Pitch " << this << endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
cdebug_log(149,0) << " Middle stack or terminal bound." << endl;
|
cdebug_log(149,0) << " Middle stack or terminal bound." << endl;
|
||||||
|
|
Loading…
Reference in New Issue