From: Luke Kenneth Casson Leighton Date: Wed, 26 Feb 2020 17:00:25 +0000 (+0000) Subject: experiment with subtractor X-Git-Tag: partial-core-ls180-gdsii~200 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ed57c837da15f38d088b83ba506d1fd78e13ef89;p=soclayout.git experiment with subtractor --- diff --git a/experiments5/doAlu16.py b/experiments5/doAlu16.py index 89968fe..d78fa97 100755 --- a/experiments5/doAlu16.py +++ b/experiments5/doAlu16.py @@ -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