97d5a1f583
* Bug: In Anabatic::AutoSegment::computeOptimal(), the "side stack" computing the intersection of all the sides of the GCell that the segment is going through was implicitly supposing that the resulting intersection wasn't empty. But for analog segment, we compute the position of all the segments linked though simple doglegs, and as dogleg occurs there can be a sufficient shift so the intersections of all the sides became empty. Now the "side stack" can manage configuration when instead of having an intersection we have a "hole" in the GCell side span (only one hole is supported at the moment). When a hole is present, the optimal position is the center of the hole. Should be refined so that the position is computed according to the longest GCell that we go through. * Change: In Katana::SegmentFsm::_slackenGlobal(), when slackening a global from a ananlog net, allow to make a dog leg once instead of immediately moving up. The break point is the center of the segment. * Change: In Katana::Manipulator::Makedogleg(DbU::Unit) if the break position is over a device, choose the left of right GCell. |
||
---|---|---|
.. | ||
cmake_modules | ||
doc | ||
src | ||
CMakeLists.txt |