* All Tools:
- New: Added FreeBSD/Ubuntu patches from Otacilio De Araujo (<otaciliodearaujo@gmail.com>). * ./kite: - New: Makes use of cbug to display the (scary) debug messages. - Change: Re-enable deletion of Knik in Kite destructor.
This commit is contained in:
parent
6a7e664087
commit
619a1b9f72
|
@ -26,6 +26,7 @@
|
|||
find_package(CORIOLIS REQUIRED)
|
||||
find_package(KNIK REQUIRED)
|
||||
find_package(KATABATIC REQUIRED)
|
||||
find_package(Libexecinfo REQUIRED)
|
||||
if(BUILD_DOC)
|
||||
find_package(Doxygen)
|
||||
endif(BUILD_DOC)
|
||||
|
|
|
@ -87,6 +87,7 @@
|
|||
${Boost_LIBRARIES}
|
||||
${LIBXML2_LIBRARIES}
|
||||
${PYTHON_LIBRARIES} -lutil
|
||||
${LIBEXECINFO_LIBRARIES}
|
||||
)
|
||||
|
||||
add_library ( pyKite MODULE ${pyCpps} )
|
||||
|
|
|
@ -2,14 +2,9 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// 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 |
|
||||
// | K i t e - D e t a i l e d R o u t e r |
|
||||
// | |
|
||||
|
@ -17,10 +12,7 @@
|
|||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Module : "./KiteEngine.cpp" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// x-----------------------------------------------------------------x
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
#include <sstream>
|
||||
|
@ -164,7 +156,7 @@ namespace Kite {
|
|||
|
||||
cmess2 << " - RoutingEvents := " << RoutingEvent::getAllocateds() << endl;
|
||||
|
||||
//_knik->destroy ();
|
||||
_knik->destroy ();
|
||||
|
||||
ltraceout(90);
|
||||
}
|
||||
|
@ -355,7 +347,7 @@ namespace Kite {
|
|||
size_t tracksSize = rp->getTracksSize();
|
||||
for ( size_t itrack=0 ; itrack<tracksSize ; ++itrack ) {
|
||||
Track* track = rp->getTrackByIndex ( itrack );
|
||||
Knik::Edge* edge = NULL;
|
||||
//Knik::Edge* edge = NULL;
|
||||
|
||||
ltrace(300) << "Capacity from: " << track << endl;
|
||||
|
||||
|
@ -539,6 +531,10 @@ namespace Kite {
|
|||
// DebugSession::addToTrace ( getCell(), "mips_r3000_core.mips_r3000_1m_dp.addsub32_carith_se.gi_3_23" );
|
||||
// DebugSession::addToTrace ( getCell(), "mips_r3000_core.mips_r3000_1m_dp.addsub32_carith_se.gi_3_28" );
|
||||
//DebugSession::addToTrace ( getCell(), "cout_to_pads" );
|
||||
//DebugSession::addToTrace ( getCell(), "mux_5.sel0" );
|
||||
//DebugSession::addToTrace ( getCell(), "wm_rf.nandr0" );
|
||||
//DebugSession::addToTrace ( getCell(), "adder_sub.gi_2_18" );
|
||||
//DebugSession::addToTrace ( getCell(), "adder_sub.pi_3_20" );
|
||||
|
||||
createDetailedGrid ();
|
||||
buildPowerRails ();
|
||||
|
|
|
@ -2,14 +2,9 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2008-2011, All Rights Reserved
|
||||
//
|
||||
// ===================================================================
|
||||
//
|
||||
// $Id$
|
||||
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||
//
|
||||
// +-----------------------------------------------------------------+
|
||||
// | |
|
||||
// | C O R I O L I S |
|
||||
// | K i t e - D e t a i l e d R o u t e r |
|
||||
// | |
|
||||
|
@ -17,9 +12,6 @@
|
|||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Module : "./NegociateWindow.cpp" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
|
|
|
@ -2,14 +2,9 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2008-2011, All Rights Reserved
|
||||
//
|
||||
// ===================================================================
|
||||
//
|
||||
// $Id$
|
||||
// Copyright (c) UPMC/LIP6 2008-2012, All Rights Reserved
|
||||
//
|
||||
// +-----------------------------------------------------------------+
|
||||
// | |
|
||||
// | C O R I O L I S |
|
||||
// | K i t e - D e t a i l e d R o u t e r |
|
||||
// | |
|
||||
|
@ -17,9 +12,6 @@
|
|||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Module : "./RoutingEvent.cpp" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
|
@ -1619,7 +1611,7 @@ namespace {
|
|||
Track* track = candidates[icandidate].getTrack();
|
||||
TrackElement* other = track->getSegment(overlap.getCenter());
|
||||
if ( not other ) {
|
||||
cerr << Error("conflictSolve1_v1b(): No segment under overlap center.") << endl;
|
||||
cbug << Error("conflictSolve1_v1b(): No segment under overlap center.") << endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -2004,7 +1996,7 @@ namespace {
|
|||
} else {
|
||||
clearActions ();
|
||||
if ( data->getState() == DataNegociate::Unimplemented ) {
|
||||
cerr << "[UNSOLVED] " << segment << " unable to slacken topology." << endl;
|
||||
cinfo << "[UNSOLVED] " << segment << " unable to slacken topology." << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2396,7 +2388,8 @@ namespace {
|
|||
<< " vs. " << DbU::getValueString(interval.getVMax()) << endl;
|
||||
// Ugly: Direct uses of routing pitch.
|
||||
if ( interval.getVMax()+DbU::lambda(5.0) >= uside.getVMin() ) {
|
||||
ltrace(200) << "Using next GCell." << endl;
|
||||
interval.inflate( 0, DbU::fromLambda(5.0) );
|
||||
ltrace(200) << "Using next GCell " << interval << endl;
|
||||
imaxconflict++;
|
||||
}
|
||||
}
|
||||
|
@ -2443,16 +2436,20 @@ namespace {
|
|||
if ( minExpanded ) {
|
||||
//doglegAxis = dogLegGCell->getUSide(_segment->getDirection(),false).getVMax() - DbU::lambda(1.0);
|
||||
doglegAxis = dogLegGCell->getUSide(_segment->getDirection()/*,false*/).getCenter();
|
||||
ltrace(200) << "MARK 1 doglegAxis: " << DbU::getValueString(doglegAxis) << endl;
|
||||
} else {
|
||||
// Ugly: hardcoded pitch.
|
||||
doglegAxis = interval.getVMin() - DbU::lambda(5.0);
|
||||
ltrace(200) << "MARK 2 doglegAxis: " << DbU::getValueString(doglegAxis) << endl;
|
||||
}
|
||||
} else {
|
||||
if ( maxExpanded ) {
|
||||
doglegAxis = dogLegGCell->getUSide(_segment->getDirection()/*,false*/).getVMin();
|
||||
ltrace(200) << "MARK 3 doglegAxis: " << DbU::getValueString(doglegAxis) << endl;
|
||||
} else {
|
||||
// Ugly: hardcoded pitch (5.0 - 1.0).
|
||||
doglegAxis = interval.getVMax() + DbU::lambda(4.0);
|
||||
ltrace(200) << "MARK 4 doglegAxis: " << DbU::getValueString(doglegAxis) << endl;
|
||||
}
|
||||
}
|
||||
if ( doglegReuse1 ) _S.addAction ( dogleg, SegmentAction::OtherRipup );
|
||||
|
@ -3781,7 +3778,7 @@ namespace Kite {
|
|||
|
||||
RoutingEvent* parentEvent = parent->getDataNegociate()->getRoutingEvent();
|
||||
if ( parentEvent == this ) {
|
||||
cerr << Error("RoutingEvent::getAxisHint(): Parentage loop between\n"
|
||||
cbug << Error("RoutingEvent::getAxisHint(): Parentage loop between\n"
|
||||
" this :%p:%s\n parent:%p:%s"
|
||||
,_segment->base(),getString(_segment->base()).c_str()
|
||||
,parent ->base(),getString(parent ->base()).c_str()
|
||||
|
@ -3861,7 +3858,7 @@ namespace Kite {
|
|||
if ( loop.isLooping() ) {
|
||||
if ( ltracelevel() > 200 ) {
|
||||
|
||||
cerr << Error("Loop detected: %s.\n Enabling trace (level:200)"
|
||||
cbug << Error("Loop detected: %s.\n Enabling trace (level:200)"
|
||||
,_getString().c_str()) << endl;
|
||||
//ltracelevel ( 200 );
|
||||
//Cfg::getParamInt("misc.traceLevel")->setInt ( 200, Cfg::Parameter::CommandLine );
|
||||
|
@ -3875,7 +3872,7 @@ namespace Kite {
|
|||
|
||||
#if LOOP_DEBUG
|
||||
if ( loop.getMaxCount() > 500 ) {
|
||||
cerr << Error("Loop detected, removing event %s.",_getString().c_str()) << endl;
|
||||
cbug << Error("Loop detected, removing event %s.",_getString().c_str()) << endl;
|
||||
//Cfg::getParamInt("misc.traceLevel")->setInt ( 1000, Cfg::Parameter::CommandLine );
|
||||
//ltracelevel ( 1000 );
|
||||
|
||||
|
@ -3905,7 +3902,7 @@ namespace Kite {
|
|||
for ( size_t i=0 ; i<elements.size() ; ++i ) {
|
||||
message << "\n" << setw(10) << elements[i]._count << "| id:" << elements[i]._id;
|
||||
}
|
||||
cerr << message.str() << endl;
|
||||
cbug << message.str() << endl;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -3977,7 +3974,7 @@ namespace Kite {
|
|||
State S ( this, queue, history );
|
||||
|
||||
if ( S.getState() == State::MissingData ) {
|
||||
cerr << Error("RoutingEvent::process() - Missing datas.") << endl;
|
||||
cbug << Error("RoutingEvent::process() - Missing datas.") << endl;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4167,10 +4164,14 @@ namespace Kite {
|
|||
|
||||
ltrace(200) << "Stage:" << RoutingEvent::getStage() << endl;
|
||||
if ( RoutingEvent::getStage() == RoutingEvent::Repair ) {
|
||||
ltrace(200) << "Expanding:" << _constraints << endl;
|
||||
// Ugly: direct uses of Cell Gauge.
|
||||
_constraints.inflate ( DbU::lambda(50.0) );
|
||||
ltrace(200) << "Expanding (after):" << _constraints << endl;
|
||||
if (_segment->isTerminal()) {
|
||||
ltrace(200) << "Not expanding on Terminals:" << _constraints << endl;
|
||||
} else {
|
||||
ltrace(200) << "Expanding:" << _constraints << endl;
|
||||
// Ugly: direct uses of Cell Gauge.
|
||||
_constraints.inflate ( DbU::lambda(50.0) );
|
||||
ltrace(200) << "Expanding (after):" << _constraints << endl;
|
||||
}
|
||||
}
|
||||
// else if ( _segment->isDogleg()
|
||||
// and (_segment->getDataNegociate()->getState() >= DataNegociate::MaximumSlack) ) {
|
||||
|
|
|
@ -2,14 +2,9 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// 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 |
|
||||
// | K i t e - D e t a i l e d R o u t e r |
|
||||
// | |
|
||||
|
@ -17,10 +12,7 @@
|
|||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Module : "./TrackSegment.cpp" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// x-----------------------------------------------------------------x
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -2,14 +2,9 @@
|
|||
// -*- C++ -*-
|
||||
//
|
||||
// This file is part of the Coriolis Software.
|
||||
// Copyright (c) UPMC/LIP6 2008-2010, All Rights Reserved
|
||||
// Copyright (c) UPMC/LIP6 2008-2011, All Rights Reserved
|
||||
//
|
||||
// ===================================================================
|
||||
//
|
||||
// $Id$
|
||||
//
|
||||
// x-----------------------------------------------------------------x
|
||||
// | |
|
||||
// +-----------------------------------------------------------------+
|
||||
// | C O R I O L I S |
|
||||
// | K i t e - D e t a i l e d R o u t e r |
|
||||
// | |
|
||||
|
@ -17,10 +12,7 @@
|
|||
// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
|
||||
// | =============================================================== |
|
||||
// | C++ Header : "./NegociateWindow.h" |
|
||||
// | *************************************************************** |
|
||||
// | U p d a t e s |
|
||||
// | |
|
||||
// x-----------------------------------------------------------------x
|
||||
// +-----------------------------------------------------------------+
|
||||
|
||||
|
||||
#ifndef __KITE_NEGOCIATE_WINDOW__
|
||||
|
|
Loading…
Reference in New Issue