Fix a crash in PowerRails when a terminal is not connected.
* Bug: In Katana::GlobalNetTable::getRootNet(), when tracking up the net through the plug (to look if it's connected to a top level clock), we may encounter an *unconnected* plug. We where not checking that case, and went crashing. Now issue a warning and return NULL. This indicates that, up until now, we didn't encounter any unconnected Plug in our netlists. This did show up due to a building error in the SRAM Standard Cell generator.
This commit is contained in:
parent
82cd53b107
commit
df1ba66c09
|
@ -231,12 +231,12 @@ namespace {
|
|||
DeepNet* deepNet = getTopCell()->getDeepNet( path, net );
|
||||
if (deepNet) {
|
||||
cdebug_log(159,0) << " Deep Clock Net:" << deepNet
|
||||
<< " state:" << NetRoutingExtension::getFlags(deepNet) << endl;
|
||||
<< " state:" << NetRoutingExtension::getFlags(deepNet) << endl;
|
||||
|
||||
return NetRoutingExtension::isFixed(deepNet) ? _blockage : NULL;
|
||||
} else {
|
||||
cdebug_log(159,0) << " Top DeepNet:" << net
|
||||
<< " state:" << NetRoutingExtension::getFlags(net) << endl;
|
||||
<< " state:" << NetRoutingExtension::getFlags(net) << endl;
|
||||
}
|
||||
|
||||
Path upPath = path;
|
||||
|
@ -255,6 +255,12 @@ namespace {
|
|||
|
||||
upNet = plug->getNet();
|
||||
path = path.getHeadPath();
|
||||
|
||||
if (not upNet) {
|
||||
cerr << Warning( "GlobalNetTable::getRootNet(): Unconnected %s."
|
||||
, getString(plug).c_str() ) << endl;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue