# -*- Mode:Python; explicit-buffer-name: "technology.conf<ispd05>" -*-

import helpers
from   helpers.Technology import initTechno
from   Hurricane import DbU

# Provides standard settings for:
# - <viewerConfig>
# - <realLayersTable>
# - <compositeLayersTable>
# - <symbolicLayersTable>


initTechno( { 'name'             : 'IPSD05/symbolic'
            , 'precision'        : 2
            , 'gridValue'        : 0.005
            , 'gridUnit'         : DbU.UnitPowerMicro
            , 'gridsPerLambda'   : 24
            , 'symbolicGridStep' : 1.0
            , 'polygonStep'      : 24.0
            } )


execfile( helpers.sysConfDir+'/common/technology.conf' )


# Format of <layersExtensionsTable>:
#    Each entry is a pair of (string, value).
#    * string: a synthetic way to designate the real or symbolic layer on
#              which it applies, an optional sub layer (BasicLayer) in case
#              where there is more than one, and the dimension name.
#    * value : the rule (dimension) value.
#    Values/dimensions must be given using one of the following conversion
#    function:
#    * l(value) : value expressed in lambda (symbolic).
#    * u(value) : value is expressed in microns.
#    * n(value) : value is expressed in nanometers.

layersExtensionsTable = symbolicLayersExtensionsTable


gdsLayersTable = \
    ( ("nWell"   , "NWELL"  ,  3, 0)
    , ("nImplant", "NPLUS"  , 26, 0)
    , ("pImplant", "PPLUS"  , 25, 0)
    , ("active"  , "ACTIVE" ,  6, 0)
    , ("poly"    , "POLY"   , 17, 0)
    , ("cut0"    , "CONTACT", 30, 0)
    , ("metal1"  , "METAL1" , 31, 0)
    , ("cut1"    , "VIA1"   , 51, 0)
    , ("metal2"  , "METAL2" , 32, 0)
    , ("cut2"    , "VIA2"   , 52, 0)
    , ("metal3"  , "METAL3" , 33, 0)
    , ("cut3"    , "VIA3"   , 53, 0)
    , ("metal4"  , "METAL4" , 34, 0)
    , ("cut4"    , "VIA4"   , 54, 0)
    , ("metal5"  , "METAL5" , 35, 0)
    , ("cut5"    , "VIA5"   , 55, 0)
    , ("metal6"  , "METAL6" , 36, 0)
    )
