In cumulus/plugins.block.Block, make use of the C++ backport of hfns4.
This commit is contained in:
parent
d9b14d680a
commit
f89e4ed467
|
@ -575,6 +575,8 @@ class Block ( object ):
|
||||||
self.etesian = Etesian.EtesianEngine.create( self.conf.cell )
|
self.etesian = Etesian.EtesianEngine.create( self.conf.cell )
|
||||||
if self.conf.placeArea:
|
if self.conf.placeArea:
|
||||||
self.etesian.setPlaceArea( self.conf.placeArea )
|
self.etesian.setPlaceArea( self.conf.placeArea )
|
||||||
|
self.etesian.getCell().flattenNets( None, Cell.Flags_NoClockFlatten )
|
||||||
|
if self.conf.useHFNS: self.etesian.doHFNS()
|
||||||
self.etesian.place()
|
self.etesian.place()
|
||||||
self.etesian.flattenPower()
|
self.etesian.flattenPower()
|
||||||
Breakpoint.stop( 100, 'Placement done.' )
|
Breakpoint.stop( 100, 'Placement done.' )
|
||||||
|
@ -700,7 +702,7 @@ class Block ( object ):
|
||||||
self.placeIoPins()
|
self.placeIoPins()
|
||||||
self.checkIoPins()
|
self.checkIoPins()
|
||||||
self.spares.build()
|
self.spares.build()
|
||||||
if self.conf.useHFNS: self.findHfnTrees4()
|
#if self.conf.useHFNS: self.findHfnTrees4()
|
||||||
if self.conf.useClockTree: self.addClockTrees()
|
if self.conf.useClockTree: self.addClockTrees()
|
||||||
#if self.conf.useHFNS: self.addHfnBuffers()
|
#if self.conf.useHFNS: self.addHfnBuffers()
|
||||||
if editor: editor.fit()
|
if editor: editor.fit()
|
||||||
|
|
|
@ -952,7 +952,7 @@ class Spares ( object ):
|
||||||
return None
|
return None
|
||||||
tailPath = path.getTailPath()
|
tailPath = path.getTailPath()
|
||||||
headInstance = path.getHeadInstance()
|
headInstance = path.getHeadInstance()
|
||||||
headPlug = utils.getPlugByNet(headInstance,topNet)
|
headPlug = utils.getPlugByNet( headInstance, topNet )
|
||||||
if not headPlug:
|
if not headPlug:
|
||||||
masterCell = headInstance.getMasterCell()
|
masterCell = headInstance.getMasterCell()
|
||||||
masterNet = masterCell.getNet( topNet.getName() )
|
masterNet = masterCell.getNet( topNet.getName() )
|
||||||
|
|
|
@ -71,6 +71,10 @@ class Chip ( Block ):
|
||||||
return self.conf.validated
|
return self.conf.validated
|
||||||
|
|
||||||
def doChipFloorplan ( self ):
|
def doChipFloorplan ( self ):
|
||||||
|
print( ' - Chip has {} north pads.'.format(len(self.conf.chipConf.northPads)) )
|
||||||
|
print( ' - Chip has {} south pads.'.format(len(self.conf.chipConf.southPads)) )
|
||||||
|
print( ' - Chip has {} east pads.' .format(len(self.conf.chipConf.eastPads )) )
|
||||||
|
print( ' - Chip has {} west pads.' .format(len(self.conf.chipConf.westPads )) )
|
||||||
self.conf.computeCoronaBorder()
|
self.conf.computeCoronaBorder()
|
||||||
self.conf.chipValidate()
|
self.conf.chipValidate()
|
||||||
if not self.conf.validated:
|
if not self.conf.validated:
|
||||||
|
|
Loading…
Reference in New Issue