Compare commits
2 Commits
1569e2807e
...
2e015ea780
Author | SHA1 | Date |
---|---|---|
Jean-Paul Chaput | 2e015ea780 | |
Jean-Paul Chaput | 63d2f69459 |
|
@ -1180,15 +1180,15 @@ namespace Katana {
|
||||||
kflags |= (flags & AllowTerminalMoveUp) ? Flags::AllowTerminal : Flags::NoFlags;
|
kflags |= (flags & AllowTerminalMoveUp) ? Flags::AllowTerminal : Flags::NoFlags;
|
||||||
kflags |= (flags & IgnoreContacts ) ? Flags::IgnoreContacts : Flags::NoFlags;
|
kflags |= (flags & IgnoreContacts ) ? Flags::IgnoreContacts : Flags::NoFlags;
|
||||||
|
|
||||||
//float reserve = 1.0;
|
float reserve = 1.0;
|
||||||
float reserve = 0.5;
|
//float reserve = 0.5;
|
||||||
if (_segment->base() and (_segment->base()->getRpDistance() > 2)) reserve = 1.0;
|
if (_segment->base() and (_segment->base()->getRpDistance() > 2)) reserve = 1.0;
|
||||||
if (_segment->getLength() > 60*getPitch()) reserve = 1.0;
|
if (_segment->getLength() > 60*getPitch()) reserve = 1.0;
|
||||||
|
|
||||||
if (_segment->isFixed()) return false;
|
if (_segment->isFixed()) return false;
|
||||||
if (not (flags & AllowLocalMoveUp)) {
|
if (not (flags & AllowLocalMoveUp)) {
|
||||||
if (_segment->isLocal()) {
|
if (_segment->isLocal()) {
|
||||||
if (not _segment->canPivotUp(0.5,kflags)) return false;
|
if (not _segment->canPivotUp(1.0,kflags)) return false;
|
||||||
} else {
|
} else {
|
||||||
if (_segment->getLength() < 20*getPitch()) {
|
if (_segment->getLength() < 20*getPitch()) {
|
||||||
if (not (flags & AllowShortPivotUp)) return false;
|
if (not (flags & AllowShortPivotUp)) return false;
|
||||||
|
@ -1197,7 +1197,7 @@ namespace Katana {
|
||||||
if (not _segment->canMoveUp(reserve,kflags)) return false;
|
if (not _segment->canMoveUp(reserve,kflags)) return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (not _segment->canMoveUp(0.5,kflags)) return false;
|
if (not _segment->canMoveUp(1.0,kflags)) return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//reprocessParallels();
|
//reprocessParallels();
|
||||||
|
|
|
@ -915,6 +915,7 @@ namespace {
|
||||||
virtual void doQuery ();
|
virtual void doQuery ();
|
||||||
inline void doLayout ();
|
inline void doLayout ();
|
||||||
inline uint32_t getGoMatchCount () const;
|
inline uint32_t getGoMatchCount () const;
|
||||||
|
inline RoutingGauge* getRoutingGauge () const;
|
||||||
private:
|
private:
|
||||||
AllianceFramework* _framework;
|
AllianceFramework* _framework;
|
||||||
KatanaEngine* _katana;
|
KatanaEngine* _katana;
|
||||||
|
@ -957,6 +958,10 @@ namespace {
|
||||||
{ return _powerRailsPlanes.doLayout(); }
|
{ return _powerRailsPlanes.doLayout(); }
|
||||||
|
|
||||||
|
|
||||||
|
inline RoutingGauge* QueryPowerRails::getRoutingGauge () const
|
||||||
|
{ return _routingGauge; }
|
||||||
|
|
||||||
|
|
||||||
bool QueryPowerRails::hasBasicLayer ( const BasicLayer* basicLayer )
|
bool QueryPowerRails::hasBasicLayer ( const BasicLayer* basicLayer )
|
||||||
{ return _powerRailsPlanes.hasPlane ( basicLayer ); }
|
{ return _powerRailsPlanes.hasPlane ( basicLayer ); }
|
||||||
|
|
||||||
|
@ -1031,6 +1036,12 @@ namespace {
|
||||||
cdebug_log(159,0) << " rootNet " << rootNet << " (" << rootNet->isClock() << ") "
|
cdebug_log(159,0) << " rootNet " << rootNet << " (" << rootNet->isClock() << ") "
|
||||||
<< go->getCell() << " (" << go->getCell()->isTerminal() << ")" << endl;
|
<< go->getCell() << " (" << go->getCell()->isTerminal() << ")" << endl;
|
||||||
|
|
||||||
|
// unsigned int type = _powerRailsPlanes.getActivePlane()->getRoutingPlane()->getLayerGauge()->getType();
|
||||||
|
if (go->getCell()->isTerminalNetlist()) {
|
||||||
|
if (not rootNet->isSupply() and not rootNet->isClock() and not _isBlockagePlane)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const Segment* segment = dynamic_cast<const Segment*>(component);
|
const Segment* segment = dynamic_cast<const Segment*>(component);
|
||||||
if ( segment != NULL ) {
|
if ( segment != NULL ) {
|
||||||
_goMatchCount++;
|
_goMatchCount++;
|
||||||
|
|
Loading…
Reference in New Issue