From 86b184dd1efc6fab980fe8ed87b1d7b66dbfeecf Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Mon, 3 Aug 2020 19:28:16 +0200 Subject: [PATCH] Bug fix: Bad topology in NetBuilderHV::_do_2G_xM1_1PinM2() again. * Bug: In Anabatic::NetBuilderHV::_do_2G_xM1_1PinM2(), in the case of a bend of global wires, the topology was faulty. Too rigid topology, the global wire was forcibly aligned on the external Pin. --- anabatic/src/NetBuilderHV.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/anabatic/src/NetBuilderHV.cpp b/anabatic/src/NetBuilderHV.cpp index b5e0a8cc..090cf2eb 100644 --- a/anabatic/src/NetBuilderHV.cpp +++ b/anabatic/src/NetBuilderHV.cpp @@ -1102,12 +1102,14 @@ namespace Anabatic { setBothCornerContacts( htee2 ); } else { cdebug_log(145,0) << "Case bend." << endl; - AutoContact* htee1 = AutoContactHTee::create( getGCell(), getNet(), Session::getContactLayer(1) ); + AutoContact* vtee1 = AutoContactHTee::create( getGCell(), getNet(), Session::getContactLayer(1) ); AutoContact* htee2 = AutoContactHTee::create( getGCell(), getNet(), Session::getContactLayer(1) ); + AutoContact* turn1 = AutoContactTurn::create( getGCell(), getNet(), Session::getContactLayer(1) ); - AutoSegment::create( pinM2Contact, htee1, Flags::Horizontal ); - AutoSegment::create( rpM1Contact , htee1, Flags::Vertical ); - AutoSegment::create( htee1 , htee2, Flags::Horizontal ); + AutoSegment::create( pinM2Contact, vtee1, Flags::Horizontal ); + AutoSegment::create( rpM1Contact , vtee1, Flags::Vertical ); + AutoSegment::create( vtee1 , turn1, Flags::Horizontal ); + AutoSegment::create( turn1 , htee2, Flags::Horizontal ); setBothCornerContacts( htee2 ); }