# -*- Mode:Python; explicit-buffer-name: "mauka.conf<common>" -*-

# Mauka parameters.
parametersTable = \
    ( ('mauka.partOrKWayHMetis' , TypeBool      , False  )
    , ('mauka.annealingBinMult' , TypePercentage, 5      )
    , ('mauka.annealingNetMult' , TypePercentage, 90     )
    , ('mauka.annealingRowMult' , TypePercentage, 5      )
    , ('mauka.ignorePins'       , TypeBool      , False  )
    , ('mauka.insertFeeds'      , TypeBool      , True   )
    , ('mauka.plotBins'         , TypeBool      , True   )
    , ('mauka.searchRatio'      , TypePercentage, 50     )
    , ('mauka.standardAnnealing', TypeBool      , True   )
    )
  

layoutTable = \
    ( (TypeTab   , 'Mauka', 'mauka')
    # hMETIS part.
    , (TypeTitle , 'hMetis - Partitionner')
    , (TypeOption, "metis.partOrKWayHMetis"              , "Recursive 2-Parts (vs. K-Way)", 0 )
    , (TypeOption, "metis.numberOfInstancesStopCriterion", "Partition Size Stop"          , 0 )
    , (TypeOption, "metis.globalConnectionsWeightRatio"  , "Global Connections Weight"    , 0 )
    , (TypeOption, "metis.ubFactor"                      , "UB Factor"                    , 0 )
    , (TypeOption, "metis.tuneHMetisParameters"          , "Tune hMETIS Parameters"       , 1 )
    , (TypeOption, "metis.numberOfTriedBisections"       , "# of tried bisections"        , 1 )
    , (TypeOption, "metis.CType"                         , "CType"                        , 1 )
    , (TypeOption, "metis.RType"                         , "RType"                        , 1 )
    , (TypeOption, "metis.VCycle"                        , "V-Cycle"                      , 1 )
    , (TypeOption, "metis.Reconst"                       , "Reconst"                      , 1 )
    # Nimbus part.
    , (TypeTitle , "Mauka - Placer")
    , (TypeOption, "nimbus.pinsPlacement" , "Pins Placement"       , 0 )
    , (TypeOption, "nimbus.aspectRatio"   , "Aspect Ratio, X/Y (%)", 1 )
    , (TypeOption, "nimbus.spaceMargin"   , "Space Margin"         , 1 )
    , (TypeOption, "clockTree.minimumSide", "Clock Tree Min. Side" , 1 )
    , (TypeRule  ,)
    # Mauka part.
    , (TypeOption, "mauka.standardAnnealing", "Standart Annealing"    , 0 )
    , (TypeOption, "mauka.ignorePins"       , "Ignore Pins"           , 0 )
    , (TypeOption, "mauka.plotBins"         , "Plot Bins"             , 0 )
    , (TypeOption, "mauka.insertFeeds"      , "Insert Feeds"          , 0 )
    , (TypeOption, "mauka.searchRatio"      , "Search Ratio (%)"      , 1 )
    , (TypeOption, "mauka.annealingNetMult" , "Annealing Net Mult (%)", 1 )
    , (TypeOption, "mauka.annealingBinMult" , "Annealing Bin Mult (%)", 1 )
    , (TypeOption, "mauka.annealingRowMult" , "Annealing Row Mult (%)", 1 )
    , (TypeRule  ,)
    )