Fix Block.getFlattenedNet() for "one instance path" cases.
This commit is contained in:
parent
fc445a2285
commit
a2daf26fca
|
@ -383,8 +383,10 @@ class Block ( object ):
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _instancesToPath ( cell, instances ):
|
def _instancesToPath ( cell, instances ):
|
||||||
instance = cell.getInstance( instances[0] )
|
path = Path( cell.getInstance( instances[0] ))
|
||||||
return Block._rinstancesToPath( Path(instance), instances[1:] )
|
if len(instances) == 1:
|
||||||
|
return path
|
||||||
|
return Block._rinstancesToPath( path, instances[1:] )
|
||||||
|
|
||||||
def getFlattenedNet ( self, path ):
|
def getFlattenedNet ( self, path ):
|
||||||
"""
|
"""
|
||||||
|
@ -398,9 +400,14 @@ class Block ( object ):
|
||||||
elements = path.split('.')
|
elements = path.split('.')
|
||||||
if len(elements) == 1:
|
if len(elements) == 1:
|
||||||
return None
|
return None
|
||||||
path = Block._instancesToPath( self.conf.cellPnR, elements[:-1] )
|
ipath = Block._instancesToPath( self.conf.cellPnR, elements[:-1] )
|
||||||
net = path.getTailInstance().getMasterCell().getNet( elements[-1] )
|
net = ipath.getTailInstance().getMasterCell().getNet( elements[-1] )
|
||||||
return Occurrence( net, path )
|
if net is None:
|
||||||
|
raise ErrorMessage( 1, [ 'Block.getFlattenedNet(): On "{}" (deep)net,'.format( path )
|
||||||
|
, 'Tail {} has no net "{}".' \
|
||||||
|
.format( ipath.getTailInstance(), elements[-1] )
|
||||||
|
] )
|
||||||
|
return Occurrence( net, ipath )
|
||||||
|
|
||||||
def setUnexpandPins ( self, sides ):
|
def setUnexpandPins ( self, sides ):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue