From 63d2f69459e0573e23ad85ab3393f7c6d3dee41b Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Sun, 13 Jun 2021 12:03:35 +0200 Subject: [PATCH] Increate the reluctance to go up in Manipulator::moveUp(). * Change: In Katana::Manipulator::moveUp(), the "reserve" value was of 0.5 for pivot up and locals, now set it to 1.0, like in all other cases ("reserve" is the number of free tracks that is needed to allow the move up, in addition the the length being moved up). Fix routing convergence on the MIPS pipeline bench. --- katana/src/Manipulator.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/katana/src/Manipulator.cpp b/katana/src/Manipulator.cpp index a290ea61..412f0145 100644 --- a/katana/src/Manipulator.cpp +++ b/katana/src/Manipulator.cpp @@ -1180,15 +1180,15 @@ namespace Katana { kflags |= (flags & AllowTerminalMoveUp) ? Flags::AllowTerminal : Flags::NoFlags; kflags |= (flags & IgnoreContacts ) ? Flags::IgnoreContacts : Flags::NoFlags; - //float reserve = 1.0; - float reserve = 0.5; + float reserve = 1.0; + //float reserve = 0.5; if (_segment->base() and (_segment->base()->getRpDistance() > 2)) reserve = 1.0; if (_segment->getLength() > 60*getPitch()) reserve = 1.0; if (_segment->isFixed()) return false; if (not (flags & AllowLocalMoveUp)) { if (_segment->isLocal()) { - if (not _segment->canPivotUp(0.5,kflags)) return false; + if (not _segment->canPivotUp(1.0,kflags)) return false; } else { if (_segment->getLength() < 20*getPitch()) { if (not (flags & AllowShortPivotUp)) return false; @@ -1197,7 +1197,7 @@ namespace Katana { if (not _segment->canMoveUp(reserve,kflags)) return false; } } else { - if (not _segment->canMoveUp(0.5,kflags)) return false; + if (not _segment->canMoveUp(1.0,kflags)) return false; } //reprocessParallels();