From 5f607674865ac09d922b65de546c07069da3c398 Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Tue, 8 Jun 2021 12:19:08 +0200 Subject: [PATCH] In AutoSegment::expandToMinLength(), ensure that we stay on foundry grid --- anabatic/src/AutoSegment.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/anabatic/src/AutoSegment.cpp b/anabatic/src/AutoSegment.cpp index 82e354ea..f7b5c935 100644 --- a/anabatic/src/AutoSegment.cpp +++ b/anabatic/src/AutoSegment.cpp @@ -1697,8 +1697,13 @@ namespace Anabatic { return false; } + DbU::Unit oneGrid = DbU::fromGrid( 1 ); DbU::Unit targetExpand = (techMinLength - segMinLength) / 2 + targetCap; DbU::Unit sourceExpand = - (techMinLength - segMinLength) / 2 - sourceCap; + if (targetExpand % oneGrid) + targetExpand += oneGrid - targetExpand % oneGrid; + if (sourceExpand % oneGrid) + sourceExpand -= oneGrid + sourceExpand % oneGrid; if (not span.isEmpty()) { DbU::Unit shiftLeft = span.getVMax() - (getTargetU() + targetExpand); if (shiftLeft < 0) {