Prune ordinary wires in Katana::PowerRails.
* Change: In Katana::PowerRails, in TerminalNetlist cells instances, the ordinary nets components where generating obstacles, leading to stupid cross blockages between the obstacle generated by the component supporting the routing pad and the RP itself. Now only take into account supplies and clocks (any layers) and blockage layers. Fix symbolic benches.
This commit is contained in:
parent
63d2f69459
commit
2e015ea780
|
@ -915,6 +915,7 @@ namespace {
|
|||
virtual void doQuery ();
|
||||
inline void doLayout ();
|
||||
inline uint32_t getGoMatchCount () const;
|
||||
inline RoutingGauge* getRoutingGauge () const;
|
||||
private:
|
||||
AllianceFramework* _framework;
|
||||
KatanaEngine* _katana;
|
||||
|
@ -957,6 +958,10 @@ namespace {
|
|||
{ return _powerRailsPlanes.doLayout(); }
|
||||
|
||||
|
||||
inline RoutingGauge* QueryPowerRails::getRoutingGauge () const
|
||||
{ return _routingGauge; }
|
||||
|
||||
|
||||
bool QueryPowerRails::hasBasicLayer ( const BasicLayer* basicLayer )
|
||||
{ return _powerRailsPlanes.hasPlane ( basicLayer ); }
|
||||
|
||||
|
@ -1031,6 +1036,12 @@ namespace {
|
|||
cdebug_log(159,0) << " rootNet " << rootNet << " (" << rootNet->isClock() << ") "
|
||||
<< 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);
|
||||
if ( segment != NULL ) {
|
||||
_goMatchCount++;
|
||||
|
|
Loading…
Reference in New Issue