* All Tools:
- New: Added FreeBSD/Ubuntu patches from Otacilio De Araujo (<otaciliodearaujo@gmail.com>). * ./katabatic: - New: Makes use of cbug to display the (scary) debug messages.
This commit is contained in:
parent
2012f14acf
commit
6a7e664087
|
@ -2,14 +2,9 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the Coriolis Software.
|
// This file is part of the Coriolis Software.
|
||||||
// Copyright (c) UPMC/LIP6 2008-2009, All Rights Reserved
|
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||||
//
|
//
|
||||||
// ===================================================================
|
// +-----------------------------------------------------------------+
|
||||||
//
|
|
||||||
// $Id$
|
|
||||||
//
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
// | |
|
|
||||||
// | C O R I O L I S |
|
// | C O R I O L I S |
|
||||||
// | K a t a b a t i c - Routing Toolbox |
|
// | K a t a b a t i c - Routing Toolbox |
|
||||||
// | |
|
// | |
|
||||||
|
@ -17,10 +12,7 @@
|
||||||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
// | =============================================================== |
|
// | =============================================================== |
|
||||||
// | C++ Module : "./AutoContact.cpp" |
|
// | C++ Module : "./AutoContact.cpp" |
|
||||||
// | *************************************************************** |
|
// +-----------------------------------------------------------------+
|
||||||
// | U p d a t e s |
|
|
||||||
// | |
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
|
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
@ -1364,7 +1356,7 @@ namespace {
|
||||||
|
|
||||||
Box constraint = _contact->getConstraintBox()/*.inflate(DbU::lambda(0.5))*/;
|
Box constraint = _contact->getConstraintBox()/*.inflate(DbU::lambda(0.5))*/;
|
||||||
if ( !constraint.contains(center) )
|
if ( !constraint.contains(center) )
|
||||||
cerr << Bug("%s [%s %s] outside constraint %s."
|
cbug << Bug("%s [%s %s] outside constraint %s."
|
||||||
,getString(_contact).c_str()
|
,getString(_contact).c_str()
|
||||||
,DbU::getValueString(center.getX()).c_str()
|
,DbU::getValueString(center.getX()).c_str()
|
||||||
,DbU::getValueString(center.getY()).c_str()
|
,DbU::getValueString(center.getY()).c_str()
|
||||||
|
|
|
@ -2,14 +2,9 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the Coriolis Software.
|
// This file is part of the Coriolis Software.
|
||||||
// Copyright (c) UPMC/LIP6 2008-2010, All Rights Reserved
|
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||||
//
|
//
|
||||||
// ===================================================================
|
// +-----------------------------------------------------------------+
|
||||||
//
|
|
||||||
// $Id$
|
|
||||||
//
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
// | |
|
|
||||||
// | C O R I O L I S |
|
// | C O R I O L I S |
|
||||||
// | K a t a b a t i c - Routing Toolbox |
|
// | K a t a b a t i c - Routing Toolbox |
|
||||||
// | |
|
// | |
|
||||||
|
@ -17,10 +12,7 @@
|
||||||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
// | =============================================================== |
|
// | =============================================================== |
|
||||||
// | C++ Module : "./AutoHorizontal.cpp" |
|
// | C++ Module : "./AutoHorizontal.cpp" |
|
||||||
// | *************************************************************** |
|
// +-----------------------------------------------------------------+
|
||||||
// | U p d a t e s |
|
|
||||||
// | |
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
|
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
|
@ -2,14 +2,9 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the Coriolis Software.
|
// This file is part of the Coriolis Software.
|
||||||
// Copyright (c) UPMC/LIP6 2008-2010, All Rights Reserved
|
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||||
//
|
//
|
||||||
// ===================================================================
|
// +-----------------------------------------------------------------+
|
||||||
//
|
|
||||||
// $Id$
|
|
||||||
//
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
// | |
|
|
||||||
// | C O R I O L I S |
|
// | C O R I O L I S |
|
||||||
// | K a t a b a t i c - Routing Toolbox |
|
// | K a t a b a t i c - Routing Toolbox |
|
||||||
// | |
|
// | |
|
||||||
|
@ -17,10 +12,7 @@
|
||||||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
// | =============================================================== |
|
// | =============================================================== |
|
||||||
// | C++ Module : "./AutoSegment.cpp" |
|
// | C++ Module : "./AutoSegment.cpp" |
|
||||||
// | *************************************************************** |
|
// +-----------------------------------------------------------------+
|
||||||
// | U p d a t e s |
|
|
||||||
// | |
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
|
|
||||||
|
|
||||||
#include "hurricane/Warning.h"
|
#include "hurricane/Warning.h"
|
||||||
|
|
|
@ -2,14 +2,9 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the Coriolis Software.
|
// This file is part of the Coriolis Software.
|
||||||
// Copyright (c) UPMC/LIP6 2008-2010, All Rights Reserved
|
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||||
//
|
//
|
||||||
// ===================================================================
|
// +-----------------------------------------------------------------+
|
||||||
//
|
|
||||||
// $Id$
|
|
||||||
//
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
// | |
|
|
||||||
// | C O R I O L I S |
|
// | C O R I O L I S |
|
||||||
// | K a t a b a t i c - Routing Toolbox |
|
// | K a t a b a t i c - Routing Toolbox |
|
||||||
// | |
|
// | |
|
||||||
|
@ -17,10 +12,7 @@
|
||||||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
// | =============================================================== |
|
// | =============================================================== |
|
||||||
// | C++ Module : "./GCell.cpp" |
|
// | C++ Module : "./GCell.cpp" |
|
||||||
// | *************************************************************** |
|
// +-----------------------------------------------------------------+
|
||||||
// | U p d a t e s |
|
|
||||||
// | |
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
|
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
@ -1010,17 +1002,17 @@ namespace Katabatic {
|
||||||
if ( not Session::getDemoMode() and Session::getWarnGCellOverload() ) {
|
if ( not Session::getDemoMode() and Session::getWarnGCellOverload() ) {
|
||||||
for ( size_t i=0 ; i<_depth ; i++ ) {
|
for ( size_t i=0 ; i<_depth ; i++ ) {
|
||||||
if ( _densities[i] > 1.0 ) {
|
if ( _densities[i] > 1.0 ) {
|
||||||
cerr << Warning("%s @%dx%d overloaded in %s (M2:%.2f M3:%.2f M4:%.2f M5:%.2f)"
|
cinfo << Warning("%s @%dx%d overloaded in %s (M2:%.2f M3:%.2f M4:%.2f M5:%.2f)"
|
||||||
,_getString().c_str()
|
,_getString().c_str()
|
||||||
,getColumn()
|
,getColumn()
|
||||||
,getRow()
|
,getRow()
|
||||||
,getString(Session::getRoutingGauge()->getRoutingLayer(i)->getName()).c_str()
|
,getString(Session::getRoutingGauge()->getRoutingLayer(i)->getName()).c_str()
|
||||||
,_densities[1] // M2
|
,_densities[1] // M2
|
||||||
,_densities[2] // M3
|
,_densities[2] // M3
|
||||||
//,_blockages[2] // M4
|
//,_blockages[2] // M4
|
||||||
,_densities[3] // M5
|
,_densities[3] // M5
|
||||||
,_densities[4] // M6
|
,_densities[4] // M6
|
||||||
)
|
)
|
||||||
<< endl;
|
<< endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1063,12 +1055,12 @@ namespace Katabatic {
|
||||||
|
|
||||||
if ( rpNets.size() < Session::getSaturateRp() ) return;
|
if ( rpNets.size() < Session::getSaturateRp() ) return;
|
||||||
|
|
||||||
cerr << Warning("%s has %zd terminals (h:%zd, v:%zd)"
|
cinfo << Warning("%s has %zd terminals (h:%zd, v:%zd)"
|
||||||
,getString(this).c_str()
|
,getString(this).c_str()
|
||||||
,rps.size()
|
,rps.size()
|
||||||
,_hsegments.size()
|
,_hsegments.size()
|
||||||
,_vsegments.size()
|
,_vsegments.size()
|
||||||
) << endl;
|
) << endl;
|
||||||
|
|
||||||
AutoSegment* segment;
|
AutoSegment* segment;
|
||||||
while ( (_densities[1] > 0.5) and stepDesaturate(1,globalNets,segment,true) ) {
|
while ( (_densities[1] > 0.5) and stepDesaturate(1,globalNets,segment,true) ) {
|
||||||
|
@ -1354,7 +1346,7 @@ namespace Katabatic {
|
||||||
if ( (edgeUpSaturation > threshold) or (edgeRightSaturation > threshold) ) {
|
if ( (edgeUpSaturation > threshold) or (edgeRightSaturation > threshold) ) {
|
||||||
overload = true;
|
overload = true;
|
||||||
|
|
||||||
cerr << Warning("In %s, (over %.2f) ", _getString().c_str(), threshold);
|
cinfo << Warning("In %s, (over %.2f) ", _getString().c_str(), threshold);
|
||||||
|
|
||||||
ostringstream message;
|
ostringstream message;
|
||||||
message << setprecision(3);
|
message << setprecision(3);
|
||||||
|
@ -1367,7 +1359,7 @@ namespace Katabatic {
|
||||||
<< " " << edgeRightSaturation;
|
<< " " << edgeRightSaturation;
|
||||||
}
|
}
|
||||||
|
|
||||||
cerr << message.str() << "." << endl;
|
cinfo << message.str() << "." << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
return overload;
|
return overload;
|
||||||
|
@ -1382,8 +1374,8 @@ namespace Katabatic {
|
||||||
|
|
||||||
void GCell::translate ( const DbU::Unit&, const DbU::Unit& )
|
void GCell::translate ( const DbU::Unit&, const DbU::Unit& )
|
||||||
{
|
{
|
||||||
cerr << Warning("Calling GCell::translate() on %s is likely a bug."
|
cinfo << Warning("Calling GCell::translate() on %s is likely a bug."
|
||||||
,_getString().c_str()) << endl;
|
,_getString().c_str()) << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1490,7 +1482,7 @@ namespace Katabatic {
|
||||||
DyKeyQueue::~DyKeyQueue ()
|
DyKeyQueue::~DyKeyQueue ()
|
||||||
{
|
{
|
||||||
if ( not _requests.empty() ) {
|
if ( not _requests.empty() ) {
|
||||||
cerr << Warning("~DyKeyQueue(): Still contains %d requests (and %d elements)."
|
cbug << Warning("~DyKeyQueue(): Still contains %d requests (and %d elements)."
|
||||||
,_requests.size(),_map.size()) << endl;
|
,_requests.size(),_map.size()) << endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@ namespace Katabatic {
|
||||||
|
|
||||||
void GCellGrid::_postCreate ()
|
void GCellGrid::_postCreate ()
|
||||||
{
|
{
|
||||||
KnikEngine::KnikEngine* knik;
|
KnikEngine* knik;
|
||||||
knik = KnikEngine::get ( getCell() );
|
knik = KnikEngine::get ( getCell() );
|
||||||
if ( !knik )
|
if ( !knik )
|
||||||
throw Error ( missingKnikEngine, "GCellGrid::_postCreate()", getString(getCell()).c_str() );
|
throw Error ( missingKnikEngine, "GCellGrid::_postCreate()", getString(getCell()).c_str() );
|
||||||
|
|
|
@ -2,14 +2,9 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the Coriolis Software.
|
// This file is part of the Coriolis Software.
|
||||||
// Copyright (c) UPMC/LIP6 2008-2010, All Rights Reserved
|
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||||
//
|
//
|
||||||
// ===================================================================
|
// +-----------------------------------------------------------------+
|
||||||
//
|
|
||||||
// $Id$
|
|
||||||
//
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
// | |
|
|
||||||
// | C O R I O L I S |
|
// | C O R I O L I S |
|
||||||
// | K a t a b a t i c - Routing Toolbox |
|
// | K a t a b a t i c - Routing Toolbox |
|
||||||
// | |
|
// | |
|
||||||
|
@ -17,10 +12,7 @@
|
||||||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
// | =============================================================== |
|
// | =============================================================== |
|
||||||
// | C++ Module : "./KatabaticEngine.cpp" |
|
// | C++ Module : "./KatabaticEngine.cpp" |
|
||||||
// | *************************************************************** |
|
// +-----------------------------------------------------------------+
|
||||||
// | U p d a t e s |
|
|
||||||
// | |
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
|
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
|
@ -2,14 +2,9 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the Coriolis Software.
|
// This file is part of the Coriolis Software.
|
||||||
// Copyright (c) UPMC/LIP6 2008-2011, All Rights Reserved
|
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||||
//
|
|
||||||
// ===================================================================
|
|
||||||
//
|
|
||||||
// $Id$
|
|
||||||
//
|
//
|
||||||
// +-----------------------------------------------------------------+
|
// +-----------------------------------------------------------------+
|
||||||
// | |
|
|
||||||
// | C O R I O L I S |
|
// | C O R I O L I S |
|
||||||
// | K a t a b a t i c - Routing Toolbox |
|
// | K a t a b a t i c - Routing Toolbox |
|
||||||
// | |
|
// | |
|
||||||
|
@ -17,9 +12,6 @@
|
||||||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
// | =============================================================== |
|
// | =============================================================== |
|
||||||
// | C++ Module : "./LoadGrByNet.cpp" |
|
// | C++ Module : "./LoadGrByNet.cpp" |
|
||||||
// | *************************************************************** |
|
|
||||||
// | U p d a t e s |
|
|
||||||
// | |
|
|
||||||
// +-----------------------------------------------------------------+
|
// +-----------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
@ -1904,6 +1896,7 @@ namespace {
|
||||||
switch ( padInstance->getTransformation().getOrientation() ) {
|
switch ( padInstance->getTransformation().getOrientation() ) {
|
||||||
case Transformation::Orientation::ID: // North side.
|
case Transformation::Orientation::ID: // North side.
|
||||||
case Transformation::Orientation::YR: // Right side.
|
case Transformation::Orientation::YR: // Right side.
|
||||||
|
case Transformation::Orientation::R3: // Right side (alterate).
|
||||||
topRightPad = true;
|
topRightPad = true;
|
||||||
break;
|
break;
|
||||||
case Transformation::Orientation::MY: // South side.
|
case Transformation::Orientation::MY: // South side.
|
||||||
|
@ -2245,8 +2238,9 @@ namespace {
|
||||||
|
|
||||||
AutoContact* subContact;
|
AutoContact* subContact;
|
||||||
if ( leftRP == rightRP ) {
|
if ( leftRP == rightRP ) {
|
||||||
_GCell_rp_AutoContacts ( _gcell, leftRP, _southWestContact, _northEastContact, (_south == NULL) && (_north == NULL) );
|
_southWestContact = _GCell_rp_Access ( _gcell, leftRP, (_south == NULL) && (_north == NULL), false );
|
||||||
//_northEastContact = _southWestContact;
|
_northEastContact = _southWestContact;
|
||||||
|
//_GCell_rp_AutoContacts ( _gcell, leftRP, _southWestContact, _northEastContact, (_south == NULL) && (_north == NULL) );
|
||||||
} else {
|
} else {
|
||||||
ltrace(99) << "Using separate global contacts" << endl;
|
ltrace(99) << "Using separate global contacts" << endl;
|
||||||
_GCell_rp_AutoContacts ( _gcell, leftRP , _southWestContact, subContact, (_south == NULL) );
|
_GCell_rp_AutoContacts ( _gcell, leftRP , _southWestContact, subContact, (_south == NULL) );
|
||||||
|
|
|
@ -2,14 +2,9 @@
|
||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//
|
//
|
||||||
// This file is part of the Coriolis Software.
|
// This file is part of the Coriolis Software.
|
||||||
// Copyright (c) UPMC/LIP6 2008-2008, All Rights Reserved
|
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||||
//
|
//
|
||||||
// ===================================================================
|
// +-----------------------------------------------------------------+
|
||||||
//
|
|
||||||
// $Id$
|
|
||||||
//
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
// | |
|
|
||||||
// | C O R I O L I S |
|
// | C O R I O L I S |
|
||||||
// | K a t a b a t i c - Routing Toolbox |
|
// | K a t a b a t i c - Routing Toolbox |
|
||||||
// | |
|
// | |
|
||||||
|
@ -17,10 +12,7 @@
|
||||||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||||
// | =============================================================== |
|
// | =============================================================== |
|
||||||
// | C++ Module : "./NetOptimals.cpp" |
|
// | C++ Module : "./NetOptimals.cpp" |
|
||||||
// | *************************************************************** |
|
// +-----------------------------------------------------------------+
|
||||||
// | U p d a t e s |
|
|
||||||
// | |
|
|
||||||
// x-----------------------------------------------------------------x
|
|
||||||
|
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
Loading…
Reference in New Issue