use --recursive on git submodule not --remote - one does a "latest update"
[soclayout.git] / experiments10 / coriolis2 / settings.py
index f93e33d99202736654357e8bca453cc61e7bb1bd..ba1f2a3b46e09624a793551b618e86a14318efe5 100644 (file)
@@ -1,58 +1,42 @@
 # -*- Mode:Python -*-
 
+from __future__ import print_function
 import os
 import Cfg
 import CRL
 import Viewer
 #import node180.scn6m_deep_09
-import symbolic.cmos
-from   helpers       import l, u, n
+import symbolic.cmos45
+from   helpers       import overlay, l, u, n
 
-
-Cfg.Configuration.pushDefaultPriority( Cfg.Parameter.Priority.UserFile )
-
-
-Viewer.Graphics.setStyle( 'Alliance.Classic [black]' )
-Cfg.getParamBool      ( 'misc.catchCore'              ).setBool      ( False   )
-Cfg.getParamBool      ( 'misc.info'                   ).setBool      ( False   )
-Cfg.getParamBool      ( 'misc.paranoid'               ).setBool      ( False   )
-Cfg.getParamBool      ( 'misc.bug'                    ).setBool      ( False   )
-Cfg.getParamBool      ( 'misc.logMode'                ).setBool      ( True   )
-Cfg.getParamBool      ( 'misc.verboseLevel1'          ).setBool      ( True    )
-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.aspectRatio'         ).setPercentage( 100.0   )
-Cfg.getParamBool      ( 'etesian.uniformDensity'      ).setBool      ( True    )
-Cfg.getParamInt       ( 'anabatic.edgeLenght'         ).setInt       ( 24      )
-Cfg.getParamInt       ( 'anabatic.edgeWidth'          ).setInt       ( 8       )
-Cfg.getParamString    ( 'anabatic.topRoutingLayer'    ).setString    ( 'METAL4')
-Cfg.getParamInt       ( 'katana.eventsLimit'          ).setInt       ( 1000000 )
-Cfg.getParamInt       ( 'katana.hTracksReservedLocal' ).setInt       ( 7       )
-Cfg.getParamInt       ( 'katana.vTracksReservedLocal' ).setInt       ( 6       )
-#Cfg.getParamInt       ( 'clockTree.minimumSide'       ).setInt       ( l(1000) )
-
-Cfg.Configuration.popDefaultPriority()
-
-#cellsTop = os.path.abspath( os.getcwd()+'/../cells' )
 if os.environ.has_key('CELLS_TOP'):
-  cellsTop = os.environ['CELLS_TOP']
+    cellsTop = os.environ['CELLS_TOP']
 else:
-  cellsTop = '../../../cells'
-
-af  = CRL.AllianceFramework.get()
-env = af.getEnvironment()
-env.addSYSTEM_LIBRARY( library=cellsTop+'/nsxlib', mode=CRL.Environment.Prepend )
-env.addSYSTEM_LIBRARY( library=cellsTop+'/mpxlib', mode=CRL.Environment.Prepend )
-#env.setCLOCK( '^clk$|m_clock' )
-env.setCLOCK( 'clk' )
-env.setPOWER( 'vdd' )
-env.setGROUND( 'vss' )
-
-Cfg.Configuration.popDefaultPriority()
-
-print 'Successfully read user configuration'
-
+    cellsTop = '../../../alliance-check-toolkit/cells'
+with overlay.CfgCache(priority=Cfg.Parameter.Priority.UserFile) as cfg:
+    cfg.misc.catchCore = False
+    cfg.misc.info = False
+    cfg.misc.paranoid = False
+    cfg.misc.bug = False
+    cfg.misc.logMode = True
+    cfg.misc.verboseLevel1 = True
+    cfg.misc.verboseLevel2 = True
+    cfg.etesian.graphics = 3
+    cfg.etesian.spaceMargin = 0.05
+    cfg.etesian.aspectRatio = 1.0
+    cfg.anabatic.edgeLenght = 24
+    cfg.anabatic.edgeWidth = 8
+    cfg.anabatic.topRoutingLayer = 'METAL5'
+    cfg.katana.eventsLimit = 4000000
+    cfg.etesian.effort = 2
+    cfg.etesian.uniformDensity = True
+    cfg.katana.hTracksReservedLocal = 7
+    cfg.katana.vTracksReservedLocal = 6
+    Viewer.Graphics.setStyle( 'Alliance.Classic [black]' )
+    af  = CRL.AllianceFramework.get()
+    env = af.getEnvironment()
+    env.setCLOCK( '^clk|^ck|^tck' )
+    env.addSYSTEM_LIBRARY( library=cellsTop+'/niolib', mode=CRL.Environment.Prepend )
+    env.addSYSTEM_LIBRARY( library=cellsTop+'/nsxlib', mode=CRL.Environment.Prepend )
+print( '  o  Successfully run "<>/coriolis2/settings.py".' )
+print( '     - CELLS_TOP = "{}"'.format(cellsTop) )