af = CRL.AllianceFramework.get()
+#print "af", dir(af)
+#sys.exit(0)
+
Cfg.Configuration.pushDefaultPriority( Cfg.Parameter.Priority.UserFile )
cellsTop = '~/alliance-check-toolkit/cells'
#Cfg.getParamInt ( 'misc.minTraceLevel' ).setInt ( 159 )
#Cfg.getParamInt ( 'misc.maxTraceLevel' ).setInt ( 160 )
Cfg.getParamEnumerate ( 'etesian.effort' ).setInt ( 2 )
-Cfg.getParamPercentage( 'etesian.spaceMargin' ).setPercentage( 20.0 )
+Cfg.getParamPercentage( 'etesian.spaceMargin' ).setPercentage( 5.0 )
Cfg.getParamPercentage( 'etesian.aspectRatio' ).setPercentage( 100.0 )
Cfg.getParamBool ( 'etesian.uniformDensity' ).setBool ( True )
Cfg.getParamInt ( 'anabatic.edgeLenght' ).setInt ( 24 )
ab = Box( l( 0.0 )
, l( 0.0 )
- , l( 2000.0 )
- , l( 800.0 ) )
+ , l( 1100.0 )
+ , l( 600.0 ) )
UpdateSession.open()
cell.setAbutmentBox( ab )
Pin.create( cell.getNet('a(%d)' % i)
, 'a(%d).0' % i
, Pin.Direction.SOUTH
- , Pin.PlacementStatus.FIXED
+ , Pin.PlacementStatus.PLACED
, metal3
- , l( 100.0*i + 50.0 ) , l( 0.0 ) # Position.
+ , l( 60.0*i + 20.0 ) , l( 0.0 ) # Position.
, l( 2.0 ) , l( 2.0 ) # Size.
)
if False:
Pin.create( cell.getNet('b(%d)' % i)
, 'b(%d).0' % i
- , Pin.Direction.EAST
- , Pin.PlacementStatus.FIXED
- , metal3
- , l( 0.0 ), l( 100.0*i + 50.0 ) # Position.
+ , Pin.Direction.SOUTH
+ , Pin.PlacementStatus.PLACED
+ , metal2
+ , l( 60.0*i + 40.0 ) , l( 0.0 ) # Position.
+ #, l( 0.0 ), l( 100.0*i + 50.0 ) # Position.
, l( 2.0 ) , l( 2.0 ) # Size.
)
- Pin.create( cell.getNet('o(%d)' % i)
+ if True:
+ Pin.create( cell.getNet('o(%d)' % i)
, 'o(%d).0' % i
, Pin.Direction.SOUTH
, Pin.PlacementStatus.FIXED
- , metal3
- , l( 100.0*i + 20.0 ) , l( 0.0 ) # Position.
+ , metal2
+ , l( 60.0*i + 60.0 ) , l( 0.0 ) # Position.
, l( 2.0 ) , l( 2.0 ) # Size.
)
ab = Box( l( 0.0 )
, l( 0.0 )
, l( 2000.0 )
- , l( 800.0 ) )
+ , l( 600.0 ) )
UpdateSession.open()
cell.setAbutmentBox( ab )
################# SNX
#
+ cell = af.getCell( 'add', CRL.Catalog.State.Views )
+ cell = af.getCell( 'sub', CRL.Catalog.State.Views )
cell = af.getCell( 'alu_hier', CRL.Catalog.State.Logical )
if not cell:
print '[ERROR] Unable to load cell "snx.vst", aborting .'
if editor: editor.setCell( cell )
+ print "editor", editor, dir(editor)
+
etesian = Etesian.EtesianEngine.create(cell)
etesian.place()
if __name__ == '__main__':
- success = sub()
success = add()
- success = alu_hier()
+ #success = alu_hier()
shellSuccess = 0
if not success: shellSuccess = 1