In Cumulus/PadsCorona.py, now manage global nets explicitly connecteds.
This commit is contained in:
parent
9db97608cb
commit
7669c66597
|
@ -120,22 +120,24 @@ class Side ( object ):
|
||||||
|
|
||||||
trace( 550, ',+', '\t_createPowerContacts() for %s\n' % net.getName() )
|
trace( 550, ',+', '\t_createPowerContacts() for %s\n' % net.getName() )
|
||||||
|
|
||||||
|
components = None
|
||||||
masterCell = pad.getMasterCell()
|
masterCell = pad.getMasterCell()
|
||||||
if net.isGlobal():
|
|
||||||
trace( 550, '\tLooking for global net %s\n' % net.getName() )
|
trace( 550, '\tLooking for global net %s\n' % net.getName() )
|
||||||
masterNet = masterCell.getNet( net.getName() )
|
|
||||||
if not masterNet:
|
|
||||||
raise ErrorMessage( 1, [ 'PadsCorona.Side._createPowerContact():'
|
|
||||||
, 'Pad model <%s> of instance <%s> do not have global net <%s>' % (pad.getName(),masterCell.getName(),net.getName())
|
|
||||||
, 'The power/clock nets *names* in the chip must match those of the pads models.'
|
|
||||||
] )
|
|
||||||
|
|
||||||
components = masterCell.getNet(net.getName()).getExternalComponents()
|
|
||||||
else:
|
|
||||||
for plug in net.getPlugs():
|
for plug in net.getPlugs():
|
||||||
if plug.getInstance() == pad:
|
if plug.getInstance() == pad:
|
||||||
trace( 550, '\tFound Plug on %s\n' % pad )
|
trace( 550, '\tFound Plug on %s\n' % pad )
|
||||||
components = plug.getMasterNet().getExternalComponents()
|
components = plug.getMasterNet().getExternalComponents()
|
||||||
|
if not components:
|
||||||
|
masterNet = masterCell.getNet( net.getName() )
|
||||||
|
if masterNet:
|
||||||
|
components = masterCell.getNet(net.getName()).getExternalComponents()
|
||||||
|
if not components:
|
||||||
|
raise ErrorMessage( 1, [ 'PadsCorona.Side._createPowerContact():'
|
||||||
|
, 'Pad model <%s> of instance <%s> neither have global net <%s>' % (pad.getName(),masterCell.getName(),net.getName())
|
||||||
|
, 'for implicit connection nor is it explicitly connected.'
|
||||||
|
, 'The power/clock nets *names* in the chip must match those of the pads models.'
|
||||||
|
] )
|
||||||
|
|
||||||
|
|
||||||
connecteds = False
|
connecteds = False
|
||||||
trace( 550, '\t %s\n' % str(masterCell.getAbutmentBox()) )
|
trace( 550, '\t %s\n' % str(masterCell.getAbutmentBox()) )
|
||||||
|
|
Loading…
Reference in New Issue