From 70b896fc96acbf4689a138ffe20814091cec53ee Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Tue, 27 May 2014 15:40:42 +0200 Subject: [PATCH] More configuration sharing. * Change: In CRL Core, .../etc/, put all that's shared under .../common/, all layouts and some settings not technologically dependant. --- crlcore/etc/cmos/hMetis.conf | 62 ++-------------------------- crlcore/etc/cmos/kite.conf | 34 +++++---------- crlcore/etc/cmos/mauka.conf | 49 ++-------------------- crlcore/etc/cmos/misc.conf | 71 ++++---------------------------- crlcore/etc/cmos/nimbus.conf | 16 ++----- crlcore/etc/cmos/stratus1.conf | 15 +++---- crlcore/etc/common/hMetis.conf | 60 +++++++++++++++++++++++++++ crlcore/etc/common/mauka.conf | 47 +++++++++++++++++++++ crlcore/etc/common/misc.conf | 65 +++++++++++++++++++++++++++++ crlcore/etc/common/nimbus.conf | 12 ++++++ crlcore/etc/common/stratus1.conf | 10 +++++ crlcore/etc/vsc200/hMetis.conf | 62 ++-------------------------- crlcore/etc/vsc200/kite.conf | 34 +++++---------- crlcore/etc/vsc200/mauka.conf | 49 ++-------------------- crlcore/etc/vsc200/misc.conf | 71 ++++---------------------------- crlcore/etc/vsc200/nimbus.conf | 16 ++----- crlcore/etc/vsc200/stratus1.conf | 15 +++---- 17 files changed, 256 insertions(+), 432 deletions(-) create mode 100644 crlcore/etc/common/hMetis.conf create mode 100644 crlcore/etc/common/mauka.conf create mode 100644 crlcore/etc/common/misc.conf create mode 100644 crlcore/etc/common/nimbus.conf create mode 100644 crlcore/etc/common/stratus1.conf diff --git a/crlcore/etc/cmos/hMetis.conf b/crlcore/etc/cmos/hMetis.conf index c9b97b09..98586ae8 100644 --- a/crlcore/etc/cmos/hMetis.conf +++ b/crlcore/etc/cmos/hMetis.conf @@ -1,61 +1,5 @@ +# -*- Mode:Python; explicit-buffer-name: "hMetis.conf" -*- -# -*- Mode:Python -*- +import helpers -# hMETIS parameters. -parametersTable = \ - ( ("metis.globalConnectionsWeightRatio" , TypeInt ,1 ) - , ("metis.numberOfInstancesStopCriterion", TypeInt ,45 ) - , ("metis.numberOfTriedBisections" , TypeInt ,10 ) - , ("metis.partOrKWayHMetis" , TypeBool ,True ) - , ("metis.tuneHMetisParameters" , TypeBool ,False) - , ("metis.ubFactor" , TypeInt ,0 ) - - , ("metis.CType", TypeEnumerate ,1 - , { 'values':( ("Hybrid First Choice", 1) - , ("First Choice" , 2) - , ("Greedy First" , 3) - , ("Hyper Edge" , 4) - , ("Edge" , 5) ) } - ) - - , ("metis.RType", TypeEnumerate ,1 - , { 'values':( ("Fiduccia-Mattheyses" , 1) - , ("One Way Fidducia-Mattheyses" , 2) - , ("Early Exit Fidducia-Mattheyses", 3) ) } - ) - - , ("metis.VCycle", TypeEnumerate ,0 - , { 'values':( ("No V-Cycle Refinement" , 0) - , ("On Each Final Bisections" , 1) - , ("On Best Intermediate Solutions", 2) - , ("On All Intermediate Solutions" , 3) ) } - ) - - , ("metis.Reconst", TypeEnumerate ,0 - , { 'values':( ("Ignore cuts Hyper Edges" , 0) - , ("Keep parts of cuts Hyper Edges", 1) ) } - ) - - , ("metis.debug", TypeEnumerate ,0 - , { 'values':( ("Disabled" , 0) - , ("Coarsening Stage" , 1) - , ("Initial Partitioning", 2) - , ("Refinement" , 4) - , ("Multiple Runs" , 8) - , ("More Multiples Runs" , 16) ) } - ) - - , ("metis.tuneHMetisParameters", TypeBool, True - , { 'slaves':( "metis.CType" - , "metis.numberOfTriedBisections" - , "metis.CType" - , "metis.RType" - , "metis.VCycle" - , "metis.Reconst" - , "metis.debug" - ) } - ) - ) - -# The layout of hMetis is integrated in Mauka. -layoutTable = () +execfile( helpers.sysConfDir+'/common/hMetis.conf' ) diff --git a/crlcore/etc/cmos/kite.conf b/crlcore/etc/cmos/kite.conf index 1709b9b4..60a09b12 100644 --- a/crlcore/etc/cmos/kite.conf +++ b/crlcore/etc/cmos/kite.conf @@ -1,10 +1,16 @@ +# -*- Mode:Python; explicit-buffer-name: "kite.conf" -*- + +import helpers + +# Contains the layout (shared by all technologies). +execfile( helpers.sysConfDir+'/common/kite.conf' ) -# -*- Mode:Python -*- parametersTable = \ - ( ("katabatic.globalLengthThreshold",TypeInt ,1450 ) # Katabatic parameters. - , ("katabatic.saturateRatio" ,TypePercentage,80 ) - , ("katabatic.saturateRp" ,TypeInt ,8 ) + ( ("katabatic.globalLengthThreshold",TypeInt ,1450 ) # Katabatic parameters. + , ("katabatic.saturateRatio" ,TypePercentage,80 ) + , ("katabatic.saturateRp" ,TypeInt ,8 ) + , ('katabatic.topRoutingLayer' , TypeString , 'METAL5') # Kite parameters. , ("kite.hEdgeCapacity" ,TypePercentage,85 , { 'min':0, 'max':110 } ) , ("kite.vEdgeCapacity" ,TypePercentage,85 , { 'min':0, 'max':110 } ) @@ -15,23 +21,3 @@ parametersTable = \ , ("kite.globalRipupLimit" ,TypeInt ,5 , { 'min':1 } ) , ("kite.longGlobalRipupLimit" ,TypeInt ,5 , { 'min':1 } ) ) - -# Kite Layout. -layoutTable = \ - ( (TypeTab , "Kite", "kite" ) - , (TypeTitle , "Katabatic - Routing Database" ) - , (TypeOption , "katabatic.saturateRatio" , "Saturate Ratio (%)" , 0 ) - , (TypeOption , "katabatic.saturateRp" , "Saturate RoutingPad" , 0 ) - , (TypeOption , "katabatic.globalLengthThreshold", "Global Length Threshold", 0 ) - , (TypeRule ,) - , (TypeTitle , "Kite - Detailed Router" ) - , (TypeOption , "kite.edgeCapacity" , "Edge Capacity (%)" , 0 ) - , (TypeOption , "kite.eventsLimit" , "Events Limit" , 0 ) - , (TypeOption , "kite.ripupCost" , "Ripup Cost" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeSection, "Ripup Limits", 1 ) - , (TypeOption , "kite.strapRipupLimit" , "Straps" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeOption , "kite.localRipupLimit" , "Locals" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeOption , "kite.globalRipupLimit" , "Globals" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeOption , "kite.longGlobalRipupLimit", "Long Globals", 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeRule ,) - ) diff --git a/crlcore/etc/cmos/mauka.conf b/crlcore/etc/cmos/mauka.conf index d05bf650..481b0b6a 100644 --- a/crlcore/etc/cmos/mauka.conf +++ b/crlcore/etc/cmos/mauka.conf @@ -1,48 +1,5 @@ +# -*- Mode:Python; explicit-buffer-name: "mauka.conf" -*- -# -*- Mode:Python -*- +import helpers -# 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 ) - , (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 ,) - ) +execfile( helpers.sysConfDir+'/common/mauka.conf' ) diff --git a/crlcore/etc/cmos/misc.conf b/crlcore/etc/cmos/misc.conf index 20e212ef..6d5ac0f6 100644 --- a/crlcore/etc/cmos/misc.conf +++ b/crlcore/etc/cmos/misc.conf @@ -1,66 +1,9 @@ +# -*- Mode:Python; explicit-buffer-name: "misc.conf" -*- -# -*- Mode:Python -*- +import helpers -parametersTable = \ - ( ('misc.catchCore' , TypeBool, False) - , ('misc.info' , TypeBool, False) - , ('misc.bug' , TypeBool, False) - , ('misc.logMode' , TypeBool, False) - , ('misc.verboseLevel1', TypeBool, True ) - , ('misc.verboseLevel2', TypeBool, False) - , ('misc.traceLevel' , TypeInt , 1000, {'min':0} ) - - , ("viewer.printer.mode", TypeEnumerate ,1 - , { 'values':( ("Cell Mode" , 1) - , ("Design Mode", 2) ) } - ) - - # Those enumerated values *must* match QPrinter::PaperSize. - , ("viewer.printer.paper", TypeEnumerate ,0 - , { 'values':( ("A4" , 0) - , ("B5" , 1) - , ("Letter" , 2) - , ("Legal" , 3) - , ("Executive", 4) - , ("A0" , 5) - , ("A1" , 6) - , ("A2" , 7) - , ("A3" , 8) - , ("A5" , 9) - , ("A6" , 10) - , ("A7" , 11) - , ("A8" , 12) - , ("A9" , 13) - , ("B0" , 14) - , ("B1" , 15) - , ("B10" , 16) - , ("B2" , 17) - , ("B3" , 18) - , ("B4" , 19) - , ("B6" , 20) - , ("B7" , 21) - , ("B8" , 22) - , ("B9" , 23) - , ("C5E" , 24) - , ("Comm10E" , 25) - , ("DLE" , 26) - , ("Folio" , 27) - , ("Ledger" , 28) - , ("Tabloid" , 29) - , ("Custom" , 30) ) } - ) - ) - -layoutTable = \ - ( (TypeTab , 'Misc.', 'misc') - , (TypeTitle , 'Miscellaneous') - , (TypeOption, 'misc.catchCore' , 'Catch Core Dumps' , 1) - , (TypeOption, 'misc.verboseLevel1' , 'Verbose' , 0) - , (TypeOption, 'misc.verboseLevel2' , 'Very Verbose' , 0) - , (TypeOption, 'misc.info' , 'Show Info' , 0) - , (TypeOption, 'misc.logMode' , 'Output is a TTY' , 0) - , (TypeOption, 'misc.traceLevel' , 'Trace Level' , 1) - , (TypeTitle , 'Print/Snapshot Parameters') - , (TypeOption, 'viewer.printer.mode' , 'Printer/Snapshot Mode', 1) - , (TypeOption, 'viewer.printer.paper', 'Paper Size' , 0) - ) +# Provides standard settings for: +# # - +# # - +# +execfile( helpers.sysConfDir+'/common/misc.conf' ) diff --git a/crlcore/etc/cmos/nimbus.conf b/crlcore/etc/cmos/nimbus.conf index c452a5cc..10d9fc4a 100644 --- a/crlcore/etc/cmos/nimbus.conf +++ b/crlcore/etc/cmos/nimbus.conf @@ -1,15 +1,5 @@ +# -*- Mode:Python; explicit-buffer-name: "nimbus.conf" -*- -# -*- Mode:Python -*- +import helpers -# Nimbus parameters. -parametersTable = \ - ( ('nimbus.aspectRatio' , TypePercentage, 100 , { 'min':10, 'max':1000 } ) - , ("nimbus.pinsPlacement", TypeBool , False ) - , ("nimbus.spaceMargin" , TypePercentage, 40 ) - , ("nimbus.cellGauge" , TypeString , "sxlib", { 'flags':Cfg.Parameter.Flags.AllRequirements} ) - , ("nimbus.routingGauge" , TypeString , "sxlib", { 'flags':Cfg.Parameter.Flags.AllRequirements} ) - ) - - -# layoutTable is defined inside Mauka. -layoutTable = () +execfile( helpers.sysConfDir+'/common/nimbus.conf' ) diff --git a/crlcore/etc/cmos/stratus1.conf b/crlcore/etc/cmos/stratus1.conf index 13ff6803..8b434647 100644 --- a/crlcore/etc/cmos/stratus1.conf +++ b/crlcore/etc/cmos/stratus1.conf @@ -1,5 +1,7 @@ +# -*- Mode:Python; explicit-buffer-name: "stratus1.conf" -*- + +import helpers -# -*- Mode:Python -*- # Status1 parameters. parametersTable = \ @@ -8,13 +10,6 @@ parametersTable = \ , ("stratus1.format" , TypeString, "vst") , ("stratus1.simulator" , TypeString, "asimut") ,) - -# Stratus1 tab layout. -layoutTable = \ - ( (TypeTab ,"Stratus1", "stratus1" ) - , (TypeTitle , "Stratus1 - Netlist & Layout Capture" ) - , (TypeOption, "stratus1.mappingName", "Virtual Library Translation", 0, 2 ) - , (TypeOption, "stratus1.format" , "Netlist Format (vst, vhd)" , 0, 2 ) - , (TypeOption, "stratus1.simulator" , "Simulator" , 0, 2 ) - ) + +execfile( helpers.sysConfDir+'/common/stratus1.conf' ) diff --git a/crlcore/etc/common/hMetis.conf b/crlcore/etc/common/hMetis.conf new file mode 100644 index 00000000..1711c988 --- /dev/null +++ b/crlcore/etc/common/hMetis.conf @@ -0,0 +1,60 @@ +# -*- Mode:Python; explicit-buffer-name: "hMetis.conf" -*- + +# hMETIS parameters. +parametersTable = \ + ( ("metis.globalConnectionsWeightRatio" , TypeInt ,1 ) + , ("metis.numberOfInstancesStopCriterion", TypeInt ,45 ) + , ("metis.numberOfTriedBisections" , TypeInt ,10 ) + , ("metis.partOrKWayHMetis" , TypeBool ,True ) + , ("metis.tuneHMetisParameters" , TypeBool ,False) + , ("metis.ubFactor" , TypeInt ,0 ) + + , ("metis.CType", TypeEnumerate ,1 + , { 'values':( ("Hybrid First Choice", 1) + , ("First Choice" , 2) + , ("Greedy First" , 3) + , ("Hyper Edge" , 4) + , ("Edge" , 5) ) } + ) + + , ("metis.RType", TypeEnumerate ,1 + , { 'values':( ("Fiduccia-Mattheyses" , 1) + , ("One Way Fidducia-Mattheyses" , 2) + , ("Early Exit Fidducia-Mattheyses", 3) ) } + ) + + , ("metis.VCycle", TypeEnumerate ,0 + , { 'values':( ("No V-Cycle Refinement" , 0) + , ("On Each Final Bisections" , 1) + , ("On Best Intermediate Solutions", 2) + , ("On All Intermediate Solutions" , 3) ) } + ) + + , ("metis.Reconst", TypeEnumerate ,0 + , { 'values':( ("Ignore cuts Hyper Edges" , 0) + , ("Keep parts of cuts Hyper Edges", 1) ) } + ) + + , ("metis.debug", TypeEnumerate ,0 + , { 'values':( ("Disabled" , 0) + , ("Coarsening Stage" , 1) + , ("Initial Partitioning", 2) + , ("Refinement" , 4) + , ("Multiple Runs" , 8) + , ("More Multiples Runs" , 16) ) } + ) + + , ("metis.tuneHMetisParameters", TypeBool, True + , { 'slaves':( "metis.CType" + , "metis.numberOfTriedBisections" + , "metis.CType" + , "metis.RType" + , "metis.VCycle" + , "metis.Reconst" + , "metis.debug" + ) } + ) + ) + +# The layout of hMetis is integrated in Mauka. +layoutTable = () diff --git a/crlcore/etc/common/mauka.conf b/crlcore/etc/common/mauka.conf new file mode 100644 index 00000000..62cbdcd2 --- /dev/null +++ b/crlcore/etc/common/mauka.conf @@ -0,0 +1,47 @@ +# -*- Mode:Python; explicit-buffer-name: "mauka.conf" -*- + +# 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 ) + , (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 ,) + ) diff --git a/crlcore/etc/common/misc.conf b/crlcore/etc/common/misc.conf new file mode 100644 index 00000000..921da0ba --- /dev/null +++ b/crlcore/etc/common/misc.conf @@ -0,0 +1,65 @@ +# -*- Mode:Python; explicit-buffer-name: "misc.conf" -*- + +parametersTable = \ + ( ('misc.catchCore' , TypeBool, False) + , ('misc.info' , TypeBool, False) + , ('misc.bug' , TypeBool, False) + , ('misc.logMode' , TypeBool, False) + , ('misc.verboseLevel1', TypeBool, True ) + , ('misc.verboseLevel2', TypeBool, False) + , ('misc.traceLevel' , TypeInt , 1000, {'min':0} ) + + , ("viewer.printer.mode", TypeEnumerate ,1 + , { 'values':( ("Cell Mode" , 1) + , ("Design Mode", 2) ) } + ) + + # Those enumerated values *must* match QPrinter::PaperSize. + , ("viewer.printer.paper", TypeEnumerate ,0 + , { 'values':( ("A4" , 0) + , ("B5" , 1) + , ("Letter" , 2) + , ("Legal" , 3) + , ("Executive", 4) + , ("A0" , 5) + , ("A1" , 6) + , ("A2" , 7) + , ("A3" , 8) + , ("A5" , 9) + , ("A6" , 10) + , ("A7" , 11) + , ("A8" , 12) + , ("A9" , 13) + , ("B0" , 14) + , ("B1" , 15) + , ("B10" , 16) + , ("B2" , 17) + , ("B3" , 18) + , ("B4" , 19) + , ("B6" , 20) + , ("B7" , 21) + , ("B8" , 22) + , ("B9" , 23) + , ("C5E" , 24) + , ("Comm10E" , 25) + , ("DLE" , 26) + , ("Folio" , 27) + , ("Ledger" , 28) + , ("Tabloid" , 29) + , ("Custom" , 30) ) } + ) + ) + +layoutTable = \ + ( (TypeTab , 'Misc.', 'misc') + , (TypeTitle , 'Miscellaneous') + , (TypeOption, 'misc.catchCore' , 'Catch Core Dumps' , 1) + , (TypeOption, 'misc.verboseLevel1' , 'Verbose' , 0) + , (TypeOption, 'misc.verboseLevel2' , 'Very Verbose' , 0) + , (TypeOption, 'misc.info' , 'Show Info' , 0) + , (TypeOption, 'misc.logMode' , 'Output is a TTY' , 0) + , (TypeOption, 'misc.traceLevel' , 'Trace Level' , 1) + , (TypeTitle , 'Print/Snapshot Parameters') + , (TypeOption, 'viewer.printer.mode' , 'Printer/Snapshot Mode', 1) + , (TypeOption, 'viewer.printer.paper', 'Paper Size' , 0) + ) diff --git a/crlcore/etc/common/nimbus.conf b/crlcore/etc/common/nimbus.conf new file mode 100644 index 00000000..eb3656fc --- /dev/null +++ b/crlcore/etc/common/nimbus.conf @@ -0,0 +1,12 @@ +# -*- Mode:Python; explicit-buffer-name: "nimbus.conf" -*- + +# Nimbus parameters. +parametersTable = \ + ( ('nimbus.aspectRatio' , TypePercentage, 100 , { 'min':10, 'max':1000 } ) + , ("nimbus.pinsPlacement", TypeBool , False ) + , ("nimbus.spaceMargin" , TypePercentage, 40 ) + ) + + +# layoutTable is defined inside Mauka. +layoutTable = () diff --git a/crlcore/etc/common/stratus1.conf b/crlcore/etc/common/stratus1.conf new file mode 100644 index 00000000..91b087b0 --- /dev/null +++ b/crlcore/etc/common/stratus1.conf @@ -0,0 +1,10 @@ +# -*- Mode:Python; explicit-buffer-name: "stratus1.conf" -*- + +# Stratus1 tab layout. +layoutTable = \ + ( (TypeTab ,"Stratus1", "stratus1" ) + , (TypeTitle , "Stratus1 - Netlist & Layout Capture" ) + , (TypeOption, "stratus1.mappingName", "Virtual Library Translation", 0, 2 ) + , (TypeOption, "stratus1.format" , "Netlist Format (vst, vhd)" , 0, 2 ) + , (TypeOption, "stratus1.simulator" , "Simulator" , 0, 2 ) + ) diff --git a/crlcore/etc/vsc200/hMetis.conf b/crlcore/etc/vsc200/hMetis.conf index c9b97b09..e5a09aba 100644 --- a/crlcore/etc/vsc200/hMetis.conf +++ b/crlcore/etc/vsc200/hMetis.conf @@ -1,61 +1,5 @@ +# -*- Mode:Python; explicit-buffer-name: "hMetis.conf" -*- -# -*- Mode:Python -*- +import helpers -# hMETIS parameters. -parametersTable = \ - ( ("metis.globalConnectionsWeightRatio" , TypeInt ,1 ) - , ("metis.numberOfInstancesStopCriterion", TypeInt ,45 ) - , ("metis.numberOfTriedBisections" , TypeInt ,10 ) - , ("metis.partOrKWayHMetis" , TypeBool ,True ) - , ("metis.tuneHMetisParameters" , TypeBool ,False) - , ("metis.ubFactor" , TypeInt ,0 ) - - , ("metis.CType", TypeEnumerate ,1 - , { 'values':( ("Hybrid First Choice", 1) - , ("First Choice" , 2) - , ("Greedy First" , 3) - , ("Hyper Edge" , 4) - , ("Edge" , 5) ) } - ) - - , ("metis.RType", TypeEnumerate ,1 - , { 'values':( ("Fiduccia-Mattheyses" , 1) - , ("One Way Fidducia-Mattheyses" , 2) - , ("Early Exit Fidducia-Mattheyses", 3) ) } - ) - - , ("metis.VCycle", TypeEnumerate ,0 - , { 'values':( ("No V-Cycle Refinement" , 0) - , ("On Each Final Bisections" , 1) - , ("On Best Intermediate Solutions", 2) - , ("On All Intermediate Solutions" , 3) ) } - ) - - , ("metis.Reconst", TypeEnumerate ,0 - , { 'values':( ("Ignore cuts Hyper Edges" , 0) - , ("Keep parts of cuts Hyper Edges", 1) ) } - ) - - , ("metis.debug", TypeEnumerate ,0 - , { 'values':( ("Disabled" , 0) - , ("Coarsening Stage" , 1) - , ("Initial Partitioning", 2) - , ("Refinement" , 4) - , ("Multiple Runs" , 8) - , ("More Multiples Runs" , 16) ) } - ) - - , ("metis.tuneHMetisParameters", TypeBool, True - , { 'slaves':( "metis.CType" - , "metis.numberOfTriedBisections" - , "metis.CType" - , "metis.RType" - , "metis.VCycle" - , "metis.Reconst" - , "metis.debug" - ) } - ) - ) - -# The layout of hMetis is integrated in Mauka. -layoutTable = () +execfile( helpers.sysConfDir+'/common/hMetis.conf' ) diff --git a/crlcore/etc/vsc200/kite.conf b/crlcore/etc/vsc200/kite.conf index 1709b9b4..47266d05 100644 --- a/crlcore/etc/vsc200/kite.conf +++ b/crlcore/etc/vsc200/kite.conf @@ -1,10 +1,16 @@ +# -*- Mode:Python; explicit-buffer-name: "kite.conf" -*- + +import helpers + +# Contains the layout (shared by all technologies). +execfile( helpers.sysConfDir+'/common/kite.conf' ) -# -*- Mode:Python -*- parametersTable = \ - ( ("katabatic.globalLengthThreshold",TypeInt ,1450 ) # Katabatic parameters. - , ("katabatic.saturateRatio" ,TypePercentage,80 ) - , ("katabatic.saturateRp" ,TypeInt ,8 ) + ( ("katabatic.globalLengthThreshold",TypeInt ,1450 ) # Katabatic parameters. + , ("katabatic.saturateRatio" ,TypePercentage,80 ) + , ("katabatic.saturateRp" ,TypeInt ,8 ) + , ('katabatic.topRoutingLayer' , TypeString , 'METAL5') # Kite parameters. , ("kite.hEdgeCapacity" ,TypePercentage,85 , { 'min':0, 'max':110 } ) , ("kite.vEdgeCapacity" ,TypePercentage,85 , { 'min':0, 'max':110 } ) @@ -15,23 +21,3 @@ parametersTable = \ , ("kite.globalRipupLimit" ,TypeInt ,5 , { 'min':1 } ) , ("kite.longGlobalRipupLimit" ,TypeInt ,5 , { 'min':1 } ) ) - -# Kite Layout. -layoutTable = \ - ( (TypeTab , "Kite", "kite" ) - , (TypeTitle , "Katabatic - Routing Database" ) - , (TypeOption , "katabatic.saturateRatio" , "Saturate Ratio (%)" , 0 ) - , (TypeOption , "katabatic.saturateRp" , "Saturate RoutingPad" , 0 ) - , (TypeOption , "katabatic.globalLengthThreshold", "Global Length Threshold", 0 ) - , (TypeRule ,) - , (TypeTitle , "Kite - Detailed Router" ) - , (TypeOption , "kite.edgeCapacity" , "Edge Capacity (%)" , 0 ) - , (TypeOption , "kite.eventsLimit" , "Events Limit" , 0 ) - , (TypeOption , "kite.ripupCost" , "Ripup Cost" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeSection, "Ripup Limits", 1 ) - , (TypeOption , "kite.strapRipupLimit" , "Straps" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeOption , "kite.localRipupLimit" , "Locals" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeOption , "kite.globalRipupLimit" , "Globals" , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeOption , "kite.longGlobalRipupLimit", "Long Globals", 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) - , (TypeRule ,) - ) diff --git a/crlcore/etc/vsc200/mauka.conf b/crlcore/etc/vsc200/mauka.conf index d05bf650..94b6f60b 100644 --- a/crlcore/etc/vsc200/mauka.conf +++ b/crlcore/etc/vsc200/mauka.conf @@ -1,48 +1,5 @@ +# -*- Mode:Python; explicit-buffer-name: "mauka.conf" -*- -# -*- Mode:Python -*- +import helpers -# 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 ) - , (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 ,) - ) +execfile( helpers.sysConfDir+'/common/mauka.conf' ) diff --git a/crlcore/etc/vsc200/misc.conf b/crlcore/etc/vsc200/misc.conf index 20e212ef..98ecee5f 100644 --- a/crlcore/etc/vsc200/misc.conf +++ b/crlcore/etc/vsc200/misc.conf @@ -1,66 +1,9 @@ +# -*- Mode:Python; explicit-buffer-name: "misc.conf" -*- -# -*- Mode:Python -*- +import helpers -parametersTable = \ - ( ('misc.catchCore' , TypeBool, False) - , ('misc.info' , TypeBool, False) - , ('misc.bug' , TypeBool, False) - , ('misc.logMode' , TypeBool, False) - , ('misc.verboseLevel1', TypeBool, True ) - , ('misc.verboseLevel2', TypeBool, False) - , ('misc.traceLevel' , TypeInt , 1000, {'min':0} ) - - , ("viewer.printer.mode", TypeEnumerate ,1 - , { 'values':( ("Cell Mode" , 1) - , ("Design Mode", 2) ) } - ) - - # Those enumerated values *must* match QPrinter::PaperSize. - , ("viewer.printer.paper", TypeEnumerate ,0 - , { 'values':( ("A4" , 0) - , ("B5" , 1) - , ("Letter" , 2) - , ("Legal" , 3) - , ("Executive", 4) - , ("A0" , 5) - , ("A1" , 6) - , ("A2" , 7) - , ("A3" , 8) - , ("A5" , 9) - , ("A6" , 10) - , ("A7" , 11) - , ("A8" , 12) - , ("A9" , 13) - , ("B0" , 14) - , ("B1" , 15) - , ("B10" , 16) - , ("B2" , 17) - , ("B3" , 18) - , ("B4" , 19) - , ("B6" , 20) - , ("B7" , 21) - , ("B8" , 22) - , ("B9" , 23) - , ("C5E" , 24) - , ("Comm10E" , 25) - , ("DLE" , 26) - , ("Folio" , 27) - , ("Ledger" , 28) - , ("Tabloid" , 29) - , ("Custom" , 30) ) } - ) - ) - -layoutTable = \ - ( (TypeTab , 'Misc.', 'misc') - , (TypeTitle , 'Miscellaneous') - , (TypeOption, 'misc.catchCore' , 'Catch Core Dumps' , 1) - , (TypeOption, 'misc.verboseLevel1' , 'Verbose' , 0) - , (TypeOption, 'misc.verboseLevel2' , 'Very Verbose' , 0) - , (TypeOption, 'misc.info' , 'Show Info' , 0) - , (TypeOption, 'misc.logMode' , 'Output is a TTY' , 0) - , (TypeOption, 'misc.traceLevel' , 'Trace Level' , 1) - , (TypeTitle , 'Print/Snapshot Parameters') - , (TypeOption, 'viewer.printer.mode' , 'Printer/Snapshot Mode', 1) - , (TypeOption, 'viewer.printer.paper', 'Paper Size' , 0) - ) +# Provides standard settings for: +# # - +# # - +# +execfile( helpers.sysConfDir+'/common/misc.conf' ) diff --git a/crlcore/etc/vsc200/nimbus.conf b/crlcore/etc/vsc200/nimbus.conf index de31f98c..463ac9bb 100644 --- a/crlcore/etc/vsc200/nimbus.conf +++ b/crlcore/etc/vsc200/nimbus.conf @@ -1,15 +1,5 @@ +# -*- Mode:Python; explicit-buffer-name: "nimbus.conf" -*- -# -*- Mode:Python -*- +import helpers -# Nimbus parameters. -parametersTable = \ - ( ('nimbus.aspectRatio' , TypePercentage, 100 , { 'min':10, 'max':1000 } ) - , ("nimbus.pinsPlacement", TypeBool , False ) - , ("nimbus.spaceMargin" , TypePercentage, 40 ) - , ("nimbus.cellGauge" , TypeString , "vsclib", { 'flags':Cfg.Parameter.Flags.AllRequirements} ) - , ("nimbus.routingGauge" , TypeString , "vsclib", { 'flags':Cfg.Parameter.Flags.AllRequirements} ) - ) - - -# layoutTable is defined inside Mauka. -layoutTable = () +execfile( helpers.sysConfDir+'/common/nimbus.conf' ) diff --git a/crlcore/etc/vsc200/stratus1.conf b/crlcore/etc/vsc200/stratus1.conf index 13ff6803..2237bee5 100644 --- a/crlcore/etc/vsc200/stratus1.conf +++ b/crlcore/etc/vsc200/stratus1.conf @@ -1,5 +1,7 @@ +# -*- Mode:Python; explicit-buffer-name: "stratus1.conf" -*- + +import helpers -# -*- Mode:Python -*- # Status1 parameters. parametersTable = \ @@ -8,13 +10,6 @@ parametersTable = \ , ("stratus1.format" , TypeString, "vst") , ("stratus1.simulator" , TypeString, "asimut") ,) - -# Stratus1 tab layout. -layoutTable = \ - ( (TypeTab ,"Stratus1", "stratus1" ) - , (TypeTitle , "Stratus1 - Netlist & Layout Capture" ) - , (TypeOption, "stratus1.mappingName", "Virtual Library Translation", 0, 2 ) - , (TypeOption, "stratus1.format" , "Netlist Format (vst, vhd)" , 0, 2 ) - , (TypeOption, "stratus1.simulator" , "Simulator" , 0, 2 ) - ) + +execfile( helpers.sysConfDir+'/common/stratus1.conf' )