# -*- Mode:Python; explicit-buffer-name: "kite.conf<vsc200>" -*-

import helpers

# Contains the layout (shared by all technologies).
execfile( helpers.sysConfDir+'/common/kite.conf' )


parametersTable = \
    ( ("katabatic.globalLengthThreshold",TypeInt       ,1450     ) # Katabatic parameters.
    , ("katabatic.saturateRatio"        ,TypePercentage,80       )
    , ("katabatic.saturateRp"           ,TypeInt       ,8        )
    , ('katabatic.topRoutingLayer'      ,TypeString    , 'METAL5')
    # Kite parameters.
    , ("kite.hTracksReservedLocal"      ,TypeInt       ,4        , { 'min':0, 'max':18 } )
    , ("kite.vTracksReservedLocal"      ,TypeInt       ,3        , { 'min':0, 'max':18 } )
    , ("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 } )
    )

 
# Format of routingGaugesTable (dictionary):
#    A list of entry of the form:
#    ( METAL_NAME, (Direction, Type, depth, density, offset, pitch, wire_width, via_width) )

routingGaugesTable = {}
 
routingGaugesTable['vsclib'] = \
    ( ( 'METAL1', ( Gauge.Vertical  , Gauge.PinOnly, 0, 0.0, 4, 8, 3, 2 ) )
    , ( 'METAL2', ( Gauge.Horizontal, Gauge.Default, 1, 7.0, 0, 8, 4, 2 ) )
    , ( 'METAL3', ( Gauge.Vertical  , Gauge.Default, 2, 0.0, 4, 8, 4, 2 ) )
    , ( 'METAL4', ( Gauge.Horizontal, Gauge.Default, 3, 0.0, 0, 8, 4, 2 ) )
    , ( 'METAL5', ( Gauge.Vertical  , Gauge.Default, 4, 0.0, 4, 8, 4, 2 ) )
   #, ( 'METAL6', ( Gauge.Horizontal, Gauge.Default, 5, 0.0, 0, 8, 4, 2 ) )
   #, ( 'METAL7', ( Gauge.Vertical  , Gauge.Default, 6, 0.0, 4, 8, 4, 2 ) )
    )


# Format of cellGaugesTable (dictionary):
#    A list of entry of the form:
#    ( METAL_PIN, xy_common_pitch, slice_height, slice_step )

cellGaugesTable = {}
cellGaugesTable['vsclib'] = ('metal2', 8.0, 72.0, 8.0)