First working integration of a SRAM block.
[soclayout.git] / experiments12 / doDesign.py
index 5c525c463bb0bdf85ce9f7a4b1d84e14af0b0e22..7a2822e23f80c2b08b679c8e0fa8e245a9b6ed2d 100644 (file)
@@ -11,6 +11,7 @@ from   helpers.io      import ErrorMessage, WarningMessage
 from   helpers.overlay import UpdateSession
 import plugins
 from   Hurricane  import Breakpoint, DbU, Transformation, Box, Instance
+from   plugins.alpha.macro.macro          import Macro
 from   plugins.alpha.block.block          import Block
 from   plugins.alpha.block.configuration  import IoPin, GaugeConf
 from   plugins.alpha.core2chip.libresocio import CoreToChip
@@ -119,11 +120,13 @@ def scriptMain ( **kw ):
             if not sram:
                 print( '[ERROR] SRAM instance "{}" not found.'.format(sramName) )
             else:
+                Macro.wrap( sram.getMasterCell(), 'FlexLib', 3, 2 )
                 sramAb = sram.getMasterCell().getAbutmentBox()
-                sram.setTransformation( Transformation( coreAb.getXMax() - sramAb.getWidth()
-                                                      , u(0.0)
-                                                      , Transformation.Orientation.ID ) )
-                sram.setPlacementStatus( Instance.PlacementStatus.FIXED )
+                Macro.place( sram
+                           , Transformation( coreAb.getXMax() - sramAb.getWidth()
+                                           , u(0.0)
+                                           , Transformation.Orientation.ID )
+                           , Instance.PlacementStatus.FIXED )
                 sramAb = sram.getAbutmentBox()
                 memoryConf.placeArea = Box( coreAb.getXMin()
                                           , coreAb.getYMax() - sliceHeight*10
@@ -133,8 +136,8 @@ def scriptMain ( **kw ):
         Breakpoint.stop( 99, 'After core block placement.' )
         
         if buildChip:
-            arlet6502ToChip = CoreToChip( memoryConf )
-            arlet6502ToChip.buildChip()
+            memoryToChip = CoreToChip( memoryConf )
+            memoryToChip.buildChip()
             chipBuilder = Chip( memoryConf )
             rvalue = chipBuilder.doPnR()
             chipBuilder.save()