* ./kite:
- Cleanup: In GCell, remove the DyKeyQueue support as it's been moved to Katabatic level. - Change: In NegociateWidow, increase the event stop thresold to 4M events to be able to process the eFPGA matrix 16x16 (150K gates).
This commit is contained in:
parent
3637f1c0cf
commit
a515d42757
|
@ -165,25 +165,6 @@ namespace Kite {
|
|||
}
|
||||
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Class : "Kite::GCell::CompareByKey".
|
||||
//
|
||||
// lhs < rhs --> true
|
||||
|
||||
|
||||
bool GCell::CompareByKey::operator() ( GCell* lhs, GCell* rhs )
|
||||
{
|
||||
//int difference = floatCompare ( lhs->base()->getDensity(), rhs->base()->getDensity() );
|
||||
//if ( abs(difference) > 1000 ) return difference > 0;
|
||||
|
||||
float difference = roundfp ( lhs->base()->getDensity() - rhs->base()->getDensity() );
|
||||
if ( difference != 0.0 ) return (difference > 0.0);
|
||||
|
||||
if ( lhs->getIndex() < rhs->getIndex() ) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Class : "Kite::GCell::CompareByStiffness".
|
||||
//
|
||||
|
@ -585,58 +566,6 @@ namespace Kite {
|
|||
|
||||
Record* GCell::_getRecord () const
|
||||
{ return _base->_getRecord(); }
|
||||
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Class : "Kite::DyKeyQueue".
|
||||
|
||||
|
||||
DyKeyQueue::DyKeyQueue ()
|
||||
: _map ()
|
||||
, _requests()
|
||||
{ }
|
||||
|
||||
|
||||
DyKeyQueue::~DyKeyQueue ()
|
||||
{
|
||||
if ( (not _map.empty()) or (not _requests.empty()) ) {
|
||||
cerr << Warning("~DyKeyQueue(): Still contains %d elements and %d requests."
|
||||
,_map.size(),_requests.size()) << endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DyKeyQueue::invalidate ( GCell* gcell )
|
||||
{
|
||||
std::set<GCell*,GCell::CompareByKey>::iterator igcell = _map.find(gcell);
|
||||
if ( igcell != _map.end() ) {
|
||||
_map.erase ( igcell );
|
||||
}
|
||||
push ( gcell );
|
||||
}
|
||||
|
||||
|
||||
void DyKeyQueue::push ( GCell* gcell )
|
||||
{
|
||||
_requests.insert ( gcell );
|
||||
}
|
||||
|
||||
|
||||
void DyKeyQueue::revalidate ()
|
||||
{
|
||||
std::set<GCell*>::iterator igcell = _requests.begin();
|
||||
for ( ; igcell != _requests.end() ; ++igcell )
|
||||
_map.insert ( *igcell );
|
||||
}
|
||||
|
||||
|
||||
GCell* DyKeyQueue::pop ()
|
||||
{
|
||||
if ( _map.empty() ) return NULL;
|
||||
std::set<GCell*,GCell::CompareByKey>::iterator igcell = _map.begin();
|
||||
GCell* gcell = *igcell;
|
||||
_map.erase ( igcell );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -374,7 +374,7 @@ namespace Kite {
|
|||
cmess2.flush();
|
||||
}
|
||||
|
||||
if ( RoutingEvent::getProcesseds() >= /*10471*/ 1000000 ) setInterrupt ( true );
|
||||
if ( RoutingEvent::getProcesseds() >= /*10471*/ 4000000 ) setInterrupt ( true );
|
||||
count++;
|
||||
|
||||
#if ENABLE_STIFFNESS
|
||||
|
@ -412,7 +412,8 @@ namespace Kite {
|
|||
event->process ( _eventQueue, _eventHistory );
|
||||
|
||||
if (tty::enabled()) {
|
||||
cmess1 << " <SecondPass:Packing - event:" << tty::fgcolor(tty::Red) << setw(7) << setfill('0')
|
||||
cmess1 << " <SecondPass:Packing - event:"
|
||||
<< tty::bold << tty::fgcolor(tty::Red) << setw(7) << setfill('0')
|
||||
<< RoutingEvent::getProcesseds() << setfill(' ') << tty::reset << ">" << tty::cr;
|
||||
cmess1.flush ();
|
||||
} else {
|
||||
|
|
|
@ -74,11 +74,6 @@ namespace Kite {
|
|||
public:
|
||||
bool operator() ( GCell* lhs, GCell* rhs );
|
||||
};
|
||||
// Sub-Class: "CompareByKey()".
|
||||
class CompareByKey {
|
||||
public:
|
||||
bool operator() ( GCell* lhs, GCell* rhs );
|
||||
};
|
||||
// Sub-Class: "CompareByStiffness()".
|
||||
class CompareByStiffness {
|
||||
public:
|
||||
|
@ -155,15 +150,15 @@ namespace Kite {
|
|||
|
||||
protected:
|
||||
// Constructors & Destructors.
|
||||
GCell ( GCellGrid*, Katabatic::GCell* );
|
||||
virtual ~GCell ();
|
||||
GCell ( GCellGrid*, Katabatic::GCell* );
|
||||
virtual ~GCell ();
|
||||
private:
|
||||
GCell ( const GCell& );
|
||||
GCell& operator= ( const GCell& );
|
||||
GCell ( const GCell& );
|
||||
GCell& operator= ( const GCell& );
|
||||
};
|
||||
|
||||
|
||||
// Inline Functions.
|
||||
// GCell Inline Functions.
|
||||
inline Katabatic::GCell* GCell::base () { return _base; }
|
||||
inline bool GCell::isInRoutingSet () const { return _isInRoutingSet; }
|
||||
inline bool GCell::isRouted () const { return _isRouted; }
|
||||
|
@ -214,24 +209,6 @@ namespace Kite {
|
|||
typedef GenericFilter<GCell*> GCellFilter;
|
||||
|
||||
|
||||
// -------------------------------------------------------------------
|
||||
// Class : "DyKeyQueue".
|
||||
|
||||
|
||||
class DyKeyQueue {
|
||||
public:
|
||||
DyKeyQueue ();
|
||||
~DyKeyQueue ();
|
||||
GCell* pop ();
|
||||
void push ( GCell* );
|
||||
void invalidate ( GCell* );
|
||||
void revalidate ();
|
||||
private:
|
||||
std::set<GCell*,GCell::CompareByKey> _map;
|
||||
std::set<GCell*> _requests;
|
||||
};
|
||||
|
||||
|
||||
} // End of Kite namespace.
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue