# -*- Mode:Python; explicit-buffer-name: "kite.conf" -*- import helpers # Contains the layout (shared by all technologies). execfile( helpers.sysConfDir+'/common/kite.conf' ) parametersTable = \ ( ('lefImport.minTerminalWidth' ,TypeDouble ,0.0 ) , ("katabatic.globalLengthThreshold",TypeInt ,1450 ) # Katabatic parameters. , ("katabatic.saturateRatio" ,TypePercentage,80 ) , ("katabatic.saturateRp" ,TypeInt ,8 ) , ('katabatic.topRoutingLayer' ,TypeString , 'METAL5') , ('anabatic.routingGauge' ,TypeString , 'sxlib' ) # Kite parameters. , ("kite.hTracksReservedLocal" ,TypeInt ,3 , { 'min':0, 'max':20 } ) , ("kite.vTracksReservedLocal" ,TypeInt ,3 , { 'min':0, 'max':20 } ) , ("kite.eventsLimit" ,TypeInt ,4000002 ) , ("kite.ripupCost" ,TypeInt ,3 , { 'min':0 } ) , ("kite.strapRipupLimit" ,TypeInt ,16 , { 'min':1 } ) , ("kite.localRipupLimit" ,TypeInt ,9 , { 'min':1 } ) , ("kite.globalRipupLimit" ,TypeInt ,5 , { 'min':1 } ) , ("kite.longGlobalRipupLimit" ,TypeInt ,5 , { 'min':1 } ) # Anabatic parameters are temporarily hosted here. , ("anabatic.edgeLength" ,TypeInt ,24 ) , ("anabatic.edgeWidth" ,TypeInt ,4 ) , ("anabatic.edgeCostH" ,TypeDouble ,9.0 ) , ("anabatic.edgeCostK" ,TypeDouble ,-10.0 ) , ("anabatic.gcell.displayMode" ,TypeEnumerate ,1 , { 'values':( ("Boundary" , 1) , ("Density" , 2) ) } ) ) # Format of routingGaugesTable (dictionary): # A list of entry of the form: # ( METAL_NAME, (Direction, Type, depth, density, offset, pitch, wire_width, via_width, obs_dw) ) routingGaugesTable = {} routingGaugesTable['sxlib'] = \ ( ( 'METAL1', ( Gauge.Vertical , Gauge.PinOnly, 0, 0.0, 0, 5, 2, 1, 4 ) ) , ( 'METAL2', ( Gauge.Horizontal, Gauge.Default, 1, 7.0, 0, 5, 2, 1, 4 ) ) , ( 'METAL3', ( Gauge.Vertical , Gauge.Default, 2, 0.0, 0, 5, 2, 1, 4 ) ) , ( 'METAL4', ( Gauge.Horizontal, Gauge.Default, 3, 0.0, 0, 5, 2, 1, 4 ) ) , ( 'METAL5', ( Gauge.Vertical , Gauge.Default, 4, 0.0, 0, 5, 2, 1, 4 ) ) #, ( 'METAL6', ( Gauge.Horizontal, Gauge.Default, 5, 0.0, 0, 5, 2, 1, 4 ) ) #, ( 'METAL7', ( Gauge.Vertical , Gauge.Default, 6, 0.0, 0, 5, 2, 1, 4 ) ) ) routingGaugesTable['sxlib-2M'] = \ ( ( 'METAL1', ( Gauge.Horizontal, Gauge.Default, 0, 0.0, 0, 5, 2, 1, 4 ) ) , ( 'METAL2', ( Gauge.Vertical , Gauge.Default, 1, 0.0, 0, 5, 2, 1, 4 ) ) ) # Format of cellGaugesTable (dictionary): # A list of entry of the form: # ( METAL_PIN, xy_common_pitch, slice_height, slice_step ) cellGaugesTable = {} cellGaugesTable['sxlib'] = ('metal2', 5.0, 50.0, 5.0)