experiment with subtractor
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 26 Feb 2020 17:00:25 +0000 (17:00 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 26 Feb 2020 17:00:25 +0000 (17:00 +0000)
experiments5/doAlu16.py

index 89968fe8f52708267604eec4ec7cd000bb0b4764..d78fa971d78f7bd0f96a73a43f023bae8d9504ec 100755 (executable)
@@ -28,6 +28,9 @@ import symbolic.cmos
 
 af = CRL.AllianceFramework.get()
 
+#print "af", dir(af)
+#sys.exit(0)
+
 Cfg.Configuration.pushDefaultPriority( Cfg.Parameter.Priority.UserFile )
 
 cellsTop = '~/alliance-check-toolkit/cells'
@@ -46,7 +49,7 @@ Cfg.getParamBool      ( 'misc.verboseLevel2'          ).setBool      ( True    )
 #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      )
@@ -88,8 +91,8 @@ def add ( **kw ):
 
   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 )
@@ -98,26 +101,28 @@ def add ( **kw ):
     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.
               )
 
@@ -180,7 +185,7 @@ def sub(**kw):
   ab = Box( l(    0.0 )
           , l(    0.0 )
           , l( 2000.0 )
-          , l( 800.0 ) )
+          , l( 600.0 ) )
 
   UpdateSession.open()
   cell.setAbutmentBox( ab )
@@ -262,6 +267,8 @@ def alu_hier(**kw):
   ################# 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 .'
@@ -316,6 +323,8 @@ def alu_hier(**kw):
 
   if editor: editor.setCell( cell )
 
+  print "editor", editor, dir(editor)
+
   etesian = Etesian.EtesianEngine.create(cell)
   etesian.place()
 
@@ -339,9 +348,8 @@ def alu_hier(**kw):
 
 
 if __name__ == '__main__':
-  success      = sub()
   success      = add()
-  success      = alu_hier()
+  #success      = alu_hier()
   shellSuccess = 0
   if not success: shellSuccess = 1