diff --git a/anabatic/src/AnabaticEngine.cpp b/anabatic/src/AnabaticEngine.cpp index c7d6a805..c9b3caf0 100644 --- a/anabatic/src/AnabaticEngine.cpp +++ b/anabatic/src/AnabaticEngine.cpp @@ -25,6 +25,7 @@ #include "hurricane/RoutingPad.h" #include "hurricane/Vertical.h" #include "hurricane/Cell.h" +#include "hurricane/NetExternalComponents.h" #include "hurricane/DebugSession.h" #include "hurricane/UpdateSession.h" #include "crlcore/RoutingGauge.h" @@ -139,6 +140,7 @@ namespace Anabatic { using Hurricane::Horizontal; using Hurricane::Vertical; using Hurricane::NetRoutingExtension; + using Hurricane::NetExternalComponents; using Hurricane::Cell; using Hurricane::DebugSession; using Hurricane::UpdateSession; @@ -444,10 +446,24 @@ namespace Anabatic { _ovEdges.clear(); } + exportExternalNets(); Session::close(); } + void AnabaticEngine::exportExternalNets () + { + for ( Net* net : getCell()->getNets() ) { + if (not net->isExternal()) continue; + if (net->isSupply()) continue; + + for ( Segment* segment : net->getSegments() ) { + NetExternalComponents::setExternal( segment ); + } + } + } + + Configuration* AnabaticEngine::getConfiguration () { return _configuration; } diff --git a/anabatic/src/AutoContact.cpp b/anabatic/src/AutoContact.cpp index 129540c3..2978b941 100644 --- a/anabatic/src/AutoContact.cpp +++ b/anabatic/src/AutoContact.cpp @@ -474,12 +474,13 @@ namespace Anabatic { void AutoContact::setConstraintBox ( const Box& box ) { + cdebug_log(149,0) << "setConstraintBox() " << this << " " << getConstraintBox() + << " from:" << box << endl; setCBXMin ( box.getXMin() ); setCBXMax ( box.getXMax() ); setCBYMin ( box.getYMin() ); setCBYMax ( box.getYMax() ); - cdebug_log(149,0) << "setConstraintBox() - " << this << " " << getConstraintBox() - << " from:" << box << endl; + cdebug_log(149,0) << "setConstraintBox() " << this << " " << getConstraintBox() << endl; cdebug_log(149,0) << "* " << _gcell << endl; } diff --git a/anabatic/src/anabatic/AnabaticEngine.h b/anabatic/src/anabatic/AnabaticEngine.h index 47d1d058..1638a804 100644 --- a/anabatic/src/anabatic/AnabaticEngine.h +++ b/anabatic/src/anabatic/AnabaticEngine.h @@ -273,6 +273,7 @@ namespace Anabatic { bool moveUpNetTrunk ( AutoSegment*, set& globalNets, GCell::Set& invalidateds ); void layerAssign ( uint32_t method ); void finalizeLayout (); + void exportExternalNets (); inline const AutoContactLut& _getAutoContactLut () const; inline const AutoSegmentLut& _getAutoSegmentLut () const; void _link ( AutoContact* );