From 800305abc3f6a64146b18281b929bc8c265d21af Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Mon, 27 Feb 2023 23:08:03 +0100 Subject: [PATCH] Removed long obsoleted XML techno config files. --- .../technos/45/freepdk_45/alliance.conf | 39 -- .../python/technos/45/freepdk_45/analog.conf | 10 - .../python/technos/45/freepdk_45/display.conf | 11 - .../python/technos/45/freepdk_45/etesian.conf | 13 - .../python/technos/45/freepdk_45/hMetis.conf | 5 - .../python/technos/45/freepdk_45/kite.conf | 69 --- .../python/technos/45/freepdk_45/mauka.conf | 5 - .../python/technos/45/freepdk_45/misc.conf | 9 - .../python/technos/45/freepdk_45/nimbus.conf | 5 - .../technos/45/freepdk_45/patterns.conf | 5 - .../python/technos/45/freepdk_45/plugins.conf | 27 - .../technos/45/freepdk_45/stratus1.conf | 13 - .../technos/45/freepdk_45/technology.conf | 153 ----- .../python/technos/45/ispd18/alliance.conf | 39 -- crlcore/python/technos/45/ispd18/analog.conf | 10 - crlcore/python/technos/45/ispd18/display.conf | 11 - crlcore/python/technos/45/ispd18/etesian.conf | 13 - crlcore/python/technos/45/ispd18/hMetis.conf | 5 - crlcore/python/technos/45/ispd18/kite.conf | 68 -- crlcore/python/technos/45/ispd18/mauka.conf | 5 - crlcore/python/technos/45/ispd18/misc.conf | 9 - crlcore/python/technos/45/ispd18/nimbus.conf | 5 - .../python/technos/45/ispd18/patterns.conf | 5 - crlcore/python/technos/45/ispd18/plugins.conf | 27 - .../python/technos/45/ispd18/stratus1.conf | 13 - .../python/technos/45/ispd18/technology.conf | 148 ----- crlcore/python/technos/common/analog.conf | 10 - crlcore/python/technos/common/devices.conf | 117 ---- crlcore/python/technos/common/display.conf | 409 ------------ crlcore/python/technos/common/etesian.conf | 42 -- crlcore/python/technos/common/hMetis.conf | 60 -- crlcore/python/technos/common/kite.conf | 24 - crlcore/python/technos/common/mauka.conf | 48 -- crlcore/python/technos/common/misc.conf | 76 --- crlcore/python/technos/common/nimbus.conf | 12 - crlcore/python/technos/common/patterns.conf | 583 ------------------ crlcore/python/technos/common/stratus1.conf | 10 - crlcore/python/technos/common/technology.conf | 335 ---------- 38 files changed, 2448 deletions(-) delete mode 100644 crlcore/python/technos/45/freepdk_45/alliance.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/analog.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/display.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/etesian.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/hMetis.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/kite.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/mauka.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/misc.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/nimbus.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/patterns.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/plugins.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/stratus1.conf delete mode 100644 crlcore/python/technos/45/freepdk_45/technology.conf delete mode 100644 crlcore/python/technos/45/ispd18/alliance.conf delete mode 100644 crlcore/python/technos/45/ispd18/analog.conf delete mode 100644 crlcore/python/technos/45/ispd18/display.conf delete mode 100644 crlcore/python/technos/45/ispd18/etesian.conf delete mode 100644 crlcore/python/technos/45/ispd18/hMetis.conf delete mode 100644 crlcore/python/technos/45/ispd18/kite.conf delete mode 100644 crlcore/python/technos/45/ispd18/mauka.conf delete mode 100644 crlcore/python/technos/45/ispd18/misc.conf delete mode 100644 crlcore/python/technos/45/ispd18/nimbus.conf delete mode 100644 crlcore/python/technos/45/ispd18/patterns.conf delete mode 100644 crlcore/python/technos/45/ispd18/plugins.conf delete mode 100644 crlcore/python/technos/45/ispd18/stratus1.conf delete mode 100644 crlcore/python/technos/45/ispd18/technology.conf delete mode 100644 crlcore/python/technos/common/analog.conf delete mode 100644 crlcore/python/technos/common/devices.conf delete mode 100644 crlcore/python/technos/common/display.conf delete mode 100644 crlcore/python/technos/common/etesian.conf delete mode 100644 crlcore/python/technos/common/hMetis.conf delete mode 100644 crlcore/python/technos/common/kite.conf delete mode 100644 crlcore/python/technos/common/mauka.conf delete mode 100644 crlcore/python/technos/common/misc.conf delete mode 100644 crlcore/python/technos/common/nimbus.conf delete mode 100644 crlcore/python/technos/common/patterns.conf delete mode 100644 crlcore/python/technos/common/stratus1.conf delete mode 100644 crlcore/python/technos/common/technology.conf diff --git a/crlcore/python/technos/45/freepdk_45/alliance.conf b/crlcore/python/technos/45/freepdk_45/alliance.conf deleted file mode 100644 index b6e796ad..00000000 --- a/crlcore/python/technos/45/freepdk_45/alliance.conf +++ /dev/null @@ -1,39 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "alliance.conf" -*- - -import os -from helpers.Alliance import AddMode -from helpers.Alliance import Gauge - - -allianceTop = None -if os.environ.has_key('ALLIANCE_TOP'): - allianceTop = os.environ['ALLIANCE_TOP'] - if not os.path.isdir(allianceTop): - allianceTop = None - -if not allianceTop: allianceTop = '/soc/alliance' - -cellsTop = allianceTop+'/cells/' - - -allianceConfig = \ - ( ( 'CATALOG' , 'CATAL') - , ( 'WORKING_LIBRARY' , '.') - , ( 'SYSTEM_LIBRARY' , ( (cellsTop+'/nsxlib' , Environment.Append) - , (cellsTop+'/mpxlib' , Environment.Append)) ) - , ( 'SCALE_X' , 100) - , ( 'IN_LO' , 'vst') - , ( 'IN_PH' , 'ap') - , ( 'OUT_LO' , 'vst') - , ( 'OUT_PH' , 'ap') - , ( 'POWER' , 'vdd') - , ( 'GROUND' , 'vss') - , ( 'CLOCK' , '^ck.*') - , ( 'BLOCKAGE' , '^blockage[Nn]et*') - , ( 'PAD' , '.*_mpx$') - # The following are only read by the Alliance tool wrappers. - , ( 'ALLIANCE_TOP' , allianceTop) - , ( 'MBK_TARGET_LIB' , cellsTop+'/msxlib') - , ( 'RDS_TECHNO_NAME' , allianceTop+'/etc/scn6m_deep_09.rds') - , ( 'GRAAL_TECHNO_NAME' , allianceTop+'/etc/graal.rds') - ) diff --git a/crlcore/python/technos/45/freepdk_45/analog.conf b/crlcore/python/technos/45/freepdk_45/analog.conf deleted file mode 100644 index 33cdd8d7..00000000 --- a/crlcore/python/technos/45/freepdk_45/analog.conf +++ /dev/null @@ -1,10 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "analog.conf" -*- - -import helpers - - -parametersTable = \ - ( ('analog.techno' , TypeString, 'Analog_technology_is_disabled', - { 'flags':Cfg.Parameter.Flags.NeedRestart|Cfg.Parameter.Flags.MustExist } ) - , ('analog.devices', TypeString, helpers.technoDir+'/devices.conf' ) - ) diff --git a/crlcore/python/technos/45/freepdk_45/display.conf b/crlcore/python/technos/45/freepdk_45/display.conf deleted file mode 100644 index 756c5f1d..00000000 --- a/crlcore/python/technos/45/freepdk_45/display.conf +++ /dev/null @@ -1,11 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "display.conf" -*- - -import helpers - -# Provides standard settings for: -# - -# - - -scale = 0.5 - -execfile( helpers.sysConfDir+'/common/display.conf' ) diff --git a/crlcore/python/technos/45/freepdk_45/etesian.conf b/crlcore/python/technos/45/freepdk_45/etesian.conf deleted file mode 100644 index fb0c9f68..00000000 --- a/crlcore/python/technos/45/freepdk_45/etesian.conf +++ /dev/null @@ -1,13 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "etesian.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/etesian.conf' ) - -parametersTable = helpers.overload \ - ( parametersTable - , ( ('etesian.feedNames', TypeString, 'FILL' ) - , ('etesian.cell.zero', TypeString, 'missing_tie_low' ) - , ('etesian.cell.one' , TypeString, 'missing_tie_high') - ) - ) diff --git a/crlcore/python/technos/45/freepdk_45/hMetis.conf b/crlcore/python/technos/45/freepdk_45/hMetis.conf deleted file mode 100644 index a473fecd..00000000 --- a/crlcore/python/technos/45/freepdk_45/hMetis.conf +++ /dev/null @@ -1,5 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "hMetis.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/hMetis.conf' ) diff --git a/crlcore/python/technos/45/freepdk_45/kite.conf b/crlcore/python/technos/45/freepdk_45/kite.conf deleted file mode 100644 index 0c1cdad5..00000000 --- a/crlcore/python/technos/45/freepdk_45/kite.conf +++ /dev/null @@ -1,69 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "kite.conf" -*- - -import helpers -from helpers import l, u, n - -# Contains the layout (shared by all technologies). -execfile( helpers.sysConfDir+'/common/kite.conf' ) - - -parametersTable = \ - ( ('lefImport.minTerminalWidth' ,TypeDouble ,0.065 ) - , ("katabatic.globalLengthThreshold",TypeInt ,1450 ) # Katabatic parameters. - , ("katabatic.saturateRatio" ,TypePercentage,90 ) - , ("katabatic.saturateRp" ,TypeInt ,10 ) - , ('katabatic.topRoutingLayer' ,TypeString , 'metal5') - , ('anabatic.routingGauge' ,TypeString , 'gscl45') - , ('crlcore.groundName' ,TypeString , 'gnd!' ) - , ('crlcore.powerName' ,TypeString , 'vdd!' ) - # 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 } ) - # 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.edgeHScaling" ,TypeDouble ,1.0 ) - , ("anabatic.globalIterations" ,TypeInt ,10 , { 'min':1, 'max':100 } ) - , ("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['gscl45'] = \ - ( ( 'symbolic', False ) - , ( 'metal1' , ( Gauge.Horizontal, Gauge.PinOnly, 0, 0.0, u(0), u(0.190), u(0.065), u(0.065), u(7) ) ) - , ( 'metal2' , ( Gauge.Vertical , Gauge.Default, 1, 0.0, u(0), u(0.190), u(0.070), u(0.070), u(8) ) ) - , ( 'metal3' , ( Gauge.Horizontal, Gauge.Default, 2, 0.0, u(0), u(0.190), u(0.070), u(0.070), u(8) ) ) - , ( 'metal4' , ( Gauge.Vertical , Gauge.Default, 3, 0.0, u(0), u(0.285), u(0.140), u(0.140), u(8) ) ) - , ( 'metal5' , ( Gauge.Horizontal, Gauge.Default, 4, 0.0, u(0), u(0.285), u(0.140), u(0.140), u(8) ) ) - , ( 'metal6' , ( Gauge.Vertical , Gauge.Default, 5, 0.0, u(0), u(0.285), u(0.140), u(0.140), u(8) ) ) - , ( 'metal7' , ( Gauge.Horizontal, Gauge.Default, 6, 0.0, u(0), u(0.855), u(0.400), u(0.400), u(8) ) ) - , ( 'metal8' , ( Gauge.Vertical , Gauge.Default, 7, 0.0, u(0), u(0.855), u(0.400), u(0.400), u(8) ) ) - , ( 'metal9' , ( Gauge.Horizontal, Gauge.Default, 8, 0.0, u(0), u(1.710), u(0.800), u(0.800), u(8) ) ) - , ( 'metal10' , ( Gauge.Vertical , Gauge.Default, 9, 0.0, u(0), u(1.710), u(0.800), u(0.800), u(8) ) ) - ) - - -# Format of cellGaugesTable (dictionary): -# A list of entry of the form: -# ( METAL_PIN, xy_common_pitch, slice_height, slice_step ) - -cellGaugesTable = {} -cellGaugesTable['gscl45'] = ('metal2', u(0.38), u(2.47), u(0.38)) - diff --git a/crlcore/python/technos/45/freepdk_45/mauka.conf b/crlcore/python/technos/45/freepdk_45/mauka.conf deleted file mode 100644 index ff69e31b..00000000 --- a/crlcore/python/technos/45/freepdk_45/mauka.conf +++ /dev/null @@ -1,5 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "mauka.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/mauka.conf' ) diff --git a/crlcore/python/technos/45/freepdk_45/misc.conf b/crlcore/python/technos/45/freepdk_45/misc.conf deleted file mode 100644 index 80eb0c07..00000000 --- a/crlcore/python/technos/45/freepdk_45/misc.conf +++ /dev/null @@ -1,9 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "misc.conf" -*- - -import helpers - -# Provides standard settings for: -# # - -# # - -# -execfile( helpers.sysConfDir+'/common/misc.conf' ) diff --git a/crlcore/python/technos/45/freepdk_45/nimbus.conf b/crlcore/python/technos/45/freepdk_45/nimbus.conf deleted file mode 100644 index 80299e54..00000000 --- a/crlcore/python/technos/45/freepdk_45/nimbus.conf +++ /dev/null @@ -1,5 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "nimbus.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/nimbus.conf' ) diff --git a/crlcore/python/technos/45/freepdk_45/patterns.conf b/crlcore/python/technos/45/freepdk_45/patterns.conf deleted file mode 100644 index e9a6174c..00000000 --- a/crlcore/python/technos/45/freepdk_45/patterns.conf +++ /dev/null @@ -1,5 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "patterns.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/patterns.conf' ) diff --git a/crlcore/python/technos/45/freepdk_45/plugins.conf b/crlcore/python/technos/45/freepdk_45/plugins.conf deleted file mode 100644 index 3160d3d7..00000000 --- a/crlcore/python/technos/45/freepdk_45/plugins.conf +++ /dev/null @@ -1,27 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "plugins.conf" -*- - -import helpers - -# Contains the layout (shared by all technologies). -#execfile( helpers.sysConfDir+'/common/plugins.conf' ) - - -# WARNING: Those values have not been adjusted yet for this technologies. -# Must be done. -# -# Parameters for chip plugin. -parametersTable = \ - ( ("chip.block.rails.count" , TypeInt , 5 ) - , ("chip.block.rails.hWidth" , TypeInt , 24 ) - , ("chip.block.rails.vWidth" , TypeInt , 24 ) - , ("chip.block.rails.hSpacing" , TypeInt , 12 ) - , ("chip.block.rails.vSpacing" , TypeInt , 12 ) - , ('chip.pad.pck' , TypeString, 'pck_mpx') - , ('chip.pad.pvddick' , TypeString, 'pvddick_mpx') - , ('chip.pad.pvssick' , TypeString, 'pvssick_mpx') - , ('chip.pad.pvddeck' , TypeString, 'pvddeck_mpx') - , ('chip.pad.pvsseck' , TypeString, 'pvsseck_mpx') - , ('clockTree.minimumSide' , TypeInt , 1000) - , ('clockTree.buffer' , TypeString, 'buf_x2') - , ('clockTree.placerEngine' , TypeString, 'Etesian') - ) diff --git a/crlcore/python/technos/45/freepdk_45/stratus1.conf b/crlcore/python/technos/45/freepdk_45/stratus1.conf deleted file mode 100644 index 37f27e2f..00000000 --- a/crlcore/python/technos/45/freepdk_45/stratus1.conf +++ /dev/null @@ -1,13 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "stratus1.conf" -*- - -import helpers - - -# Status1 parameters. -parametersTable = \ - ( ("stratus1.format" , TypeString, "vst") - , ("stratus1.simulator" , TypeString, "asimut") - ,) - - -execfile( helpers.sysConfDir+'/common/stratus1.conf' ) diff --git a/crlcore/python/technos/45/freepdk_45/technology.conf b/crlcore/python/technos/45/freepdk_45/technology.conf deleted file mode 100644 index f6ab62e9..00000000 --- a/crlcore/python/technos/45/freepdk_45/technology.conf +++ /dev/null @@ -1,153 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "technology.conf" -*- -# -# FreePDK 45 nanometers. -# -# Provides standard settings for: -# - -# - -# - -# - - -from Hurricane import DbU -from helpers import sysConfDir -from helpers import l, u, n -from helpers.Technology import initTechno - -initTechno( { 'name' : 'freepdk_45' - , 'precision' : 2 - , 'gridValue' : 0.0025 - , 'gridUnit' : DbU.UnitPowerMicro - , 'gridsPerLambda' : 18 - , 'symbolicGridStep' : 1.0 - , 'polygonStep' : 1.0 - } ) - -# Contains the layers -execfile( helpers.sysConfDir+'/common/technology.conf' ) - - -# Format of : -# 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 + \ - [ ('metal1.minimalSpacing' , u( 0.065)) - , ('metal2.minimalSpacing' , u( 0.075)) - , ('metal3.minimalSpacing' , u( 0.07 )) - , ('metal4.minimalSpacing' , u( 0.14 )) - , ('metal5.minimalSpacing' , u( 0.14 )) - , ('metal6.minimalSpacing' , u( 0.14 )) - , ('metal7.minimalSpacing' , u( 0.4 )) - , ('metal8.minimalSpacing' , u( 0.4 )) - , ('metal9.minimalSpacing' , u( 0.8 )) - , ('metal10.minimalSpacing' , u( 0.8 )) - - # VIAs (i.e. Metal <--> Metal) (real). - , ('via12.minimum.side' , u( 0.065)) - # This is the rule as defined in LEF, but seems wrong to me. - #, ('via12.metal1.enclosure' , (u(0.035 ), u(0.0 )) ) - , ('via12.metal1.enclosure' , (u(0.0 ), u(0.035)) ) - , ('via12.metal2.enclosure' , (u(0.0025), u(0.035)) ) - , ('via23.minimum.side' , u(0.070 )) - , ('via23.metal2.enclosure' , (u(0.0 ), u(0.035)) ) - , ('via23.metal3.enclosure' , (u(0.035 ), u(0.0 )) ) - , ('via34.minimum.side' , u(0.070 )) - , ('via34.metal3.enclosure' , (u(0.035 ), u(0.0 )) ) - , ('via34.metal4.enclosure' , u(0.035 )) - , ('via45.minimum.side' , u(0.140 )) - , ('via45.metal4.enclosure' , u(0.0 )) - , ('via45.metal5.enclosure' , u(0.0 )) - , ('via56.minimum.side' , u(0.140 )) - , ('via56.metal5.enclosure' , u(0.0 )) - , ('via56.metal6.enclosure' , u(0.0 )) - , ('via67.minimum.side' , u(0.140 )) - , ('via67.metal6.enclosure' , u(0.0 )) - , ('via67.metal7.enclosure' , u(0.130 )) - , ('via78.minimum.side' , u(0.200 )) - , ('via78.metal7.enclosure' , u(0.0 )) - , ('via78.metal8.enclosure' , u(0.0 )) - , ('via89.minimum.side' , u(0.200 )) - , ('via89.metal8.enclosure' , u(0.0 )) - , ('via89.metal9.enclosure' , u(0.200 )) - , ('via910.minimum.side' , u(0.400 )) - , ('via910.metal9.enclosure' , u(0.0 )) - , ('via910.metal10.enclosure' , u(0.0 )) - ] - - -# Table guessed from the Cadence configuration files: -# FreePDK45/ncsu_basekit/techfile/FreePDK45.tf -# -# Format of an entry in the table: -# (Symbolic_Name, CIF_Name, GDSII_Number) -#gdsLayersTable = \ -# ( ("pWell" , "CWN" , 2, 0) -# , ("nWell" , "CWP" , 3, 0) -# , ("active" , "CAA" , 1, 0) -# , ("pImplant", "CSP" , 5, 0) -# , ("nImplant", "CSN" , 4, 0) -# , ("poly" , "CPG" , 9, 0) -# , ("cut0" , "CCC" , 10, 0) -# , ("metal1" , "CM1" , 11, 0) -# , ("cut1" , "CV1" , 12, 0) -# , ("metal2" , "CM2" , 13, 0) -# , ("cut2" , "CV2" , 14, 0) -# , ("metal3" , "CM3" , 15, 0) -# , ("cut3" , "CV3" , 16, 0) -# , ("metal4" , "CM4" , 17, 0) -# , ("cut4" , "CV4" , 18, 0) -# , ("metal5" , "CM5" , 19, 0) -# , ("cut5" , "CV5" , 20, 0) -# , ("metal6" , "CM6" , 21, 0) -# , ("cut6" , "CV6" , 22, 0) -# , ("metal7" , "CM7" , 23, 0) -# , ("cut7" , "CV7" , 24, 0) -# , ("metal8" , "CM8" , 25, 0) -# , ("cut8" , "CV8" , 26, 0) -# , ("metal9" , "CM9" , 27, 0) -# , ("cut9" , "CV9" , 28, 0) -# , ("metal10" , "CM10" , 29, 0) -# ) - - -# Table guessed from the GDSII layouts of the cells. -# FreePDK45/osu_soc/lib/source/gds/*.gds -# -# Format of an entry in the table: -# (Symbolic_Name, CIF_Name, GDSII_Number) -gdsLayersTable = \ - ( ("pWell" , "CWN" , 2, 0) - , ("nWell" , "CWP" , 1, 0) - , ("active" , "CAA" , 5, 0) - , ("pImplant", "CSP" , 8, 0) - , ("nImplant", "CSN" , 7, 0) - , ("poly" , "CPG" , 15, 0) - , ("cut0" , "CCC" , 16, 0) - , ("metal1" , "CM1" , 21, 0) - , ("cut1" , "CV1" , 22, 0) - , ("metal2" , "CM2" , 23, 0) - , ("cut2" , "CV2" , 24, 0) - , ("metal3" , "CM3" , 25, 0) - , ("cut3" , "CV3" , 26, 0) - , ("metal4" , "CM4" , 27, 0) - , ("cut4" , "CV4" , 28, 0) - , ("metal5" , "CM5" , 29, 0) - , ("cut5" , "CV5" , 30, 0) - , ("metal6" , "CM6" , 31, 0) - , ("cut6" , "CV6" , 32, 0) - , ("metal7" , "CM7" , 33, 0) - , ("cut7" , "CV7" , 34, 0) - , ("metal8" , "CM8" , 35, 0) - , ("cut8" , "CV8" , 36, 0) - , ("metal9" , "CM9" , 37, 0) - , ("cut9" , "CV9" , 38, 0) - , ("metal10" , "CM10" , 39, 0) - ) diff --git a/crlcore/python/technos/45/ispd18/alliance.conf b/crlcore/python/technos/45/ispd18/alliance.conf deleted file mode 100644 index c15196ea..00000000 --- a/crlcore/python/technos/45/ispd18/alliance.conf +++ /dev/null @@ -1,39 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "alliance.conf" -*- - -import os -from helpers.Alliance import AddMode -from helpers.Alliance import Gauge - - -allianceTop = None -if os.environ.has_key('ALLIANCE_TOP'): - allianceTop = os.environ['ALLIANCE_TOP'] - if not os.path.isdir(allianceTop): - allianceTop = None - -if not allianceTop: allianceTop = '/soc/alliance' - -cellsTop = allianceTop+'/cells/' - - -allianceConfig = \ - ( ( 'CATALOG' , 'CATAL') - , ( 'WORKING_LIBRARY' , '.') - , ( 'SYSTEM_LIBRARY' , ( (cellsTop+'/nsxlib' , Environment.Append) - , (cellsTop+'/mpxlib' , Environment.Append)) ) - , ( 'SCALE_X' , 100) - , ( 'IN_LO' , 'vst') - , ( 'IN_PH' , 'ap') - , ( 'OUT_LO' , 'vst') - , ( 'OUT_PH' , 'ap') - , ( 'POWER' , 'vdd') - , ( 'GROUND' , 'vss') - , ( 'CLOCK' , '^ck.*') - , ( 'BLOCKAGE' , '^blockage[Nn]et*') - , ( 'PAD' , '.*_mpx$') - # The following are only read by the Alliance tool wrappers. - , ( 'ALLIANCE_TOP' , allianceTop) - , ( 'MBK_TARGET_LIB' , cellsTop+'/msxlib') - , ( 'RDS_TECHNO_NAME' , allianceTop+'/etc/scn6m_deep_09.rds') - , ( 'GRAAL_TECHNO_NAME' , allianceTop+'/etc/graal.rds') - ) diff --git a/crlcore/python/technos/45/ispd18/analog.conf b/crlcore/python/technos/45/ispd18/analog.conf deleted file mode 100644 index e8bc341d..00000000 --- a/crlcore/python/technos/45/ispd18/analog.conf +++ /dev/null @@ -1,10 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "analog.conf" -*- - -import helpers - - -parametersTable = \ - ( ('analog.techno' , TypeString, 'Analog_technology_is_disabled', - { 'flags':Cfg.Parameter.Flags.NeedRestart|Cfg.Parameter.Flags.MustExist } ) - , ('analog.devices', TypeString, helpers.technoDir+'/devices.conf' ) - ) diff --git a/crlcore/python/technos/45/ispd18/display.conf b/crlcore/python/technos/45/ispd18/display.conf deleted file mode 100644 index c17aea70..00000000 --- a/crlcore/python/technos/45/ispd18/display.conf +++ /dev/null @@ -1,11 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "display.conf" -*- - -import helpers - -# Provides standard settings for: -# - -# - - -scale = 0.5 - -execfile( helpers.sysConfDir+'/common/display.conf' ) diff --git a/crlcore/python/technos/45/ispd18/etesian.conf b/crlcore/python/technos/45/ispd18/etesian.conf deleted file mode 100644 index 333ec4c5..00000000 --- a/crlcore/python/technos/45/ispd18/etesian.conf +++ /dev/null @@ -1,13 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "etesian.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/etesian.conf' ) - -parametersTable = helpers.overload \ - ( parametersTable - , ( ('etesian.feedNames', TypeString, 'FILL' ) - , ('etesian.cell.zero', TypeString, 'missing_tie_low' ) - , ('etesian.cell.one' , TypeString, 'missing_tie_high') - ) - ) diff --git a/crlcore/python/technos/45/ispd18/hMetis.conf b/crlcore/python/technos/45/ispd18/hMetis.conf deleted file mode 100644 index 1336de6c..00000000 --- a/crlcore/python/technos/45/ispd18/hMetis.conf +++ /dev/null @@ -1,5 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "hMetis.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/hMetis.conf' ) diff --git a/crlcore/python/technos/45/ispd18/kite.conf b/crlcore/python/technos/45/ispd18/kite.conf deleted file mode 100644 index 7bddb4f7..00000000 --- a/crlcore/python/technos/45/ispd18/kite.conf +++ /dev/null @@ -1,68 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "kite.conf" -*- - -import helpers -from helpers import l, u, n - -# Contains the layout (shared by all technologies). -execfile( helpers.sysConfDir+'/common/kite.conf' ) - - -parametersTable = \ - ( ('lefImport.minTerminalWidth' ,TypeDouble ,0.065 ) - , ("katabatic.globalLengthThreshold",TypeInt ,1450 ) # Katabatic parameters. - , ("katabatic.saturateRatio" ,TypePercentage,90 ) - , ("katabatic.saturateRp" ,TypeInt ,10 ) - , ('katabatic.topRoutingLayer' ,TypeString , 'metal9') - , ('anabatic.routingGauge' ,TypeString , 'ispd18') - , ('crlcore.groundName' ,TypeString , 'VSS' ) - , ('crlcore.powerName' ,TypeString , 'VDD' ) - # 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 } ) - # 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.edgeHScaling" ,TypeDouble ,1.0 ) - , ("anabatic.globalIterations" ,TypeInt ,10 , { 'min':1, 'max':100 } ) - , ("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['ispd18'] = \ - ( ( 'symbolic', False ) - , ( 'metal1' , ( Gauge.Horizontal, Gauge.PinOnly, 0, 0.0, u(0.095), u(0.190), u(0.060), u(0.070), u(7) ) ) - , ( 'metal2' , ( Gauge.Vertical , Gauge.Default, 1, 0.0, u(0.100), u(0.200), u(0.070), u(0.070), u(8) ) ) - , ( 'metal3' , ( Gauge.Horizontal, Gauge.Default, 2, 0.0, u(0.100), u(0.200), u(0.070), u(0.070), u(8) ) ) - , ( 'metal4' , ( Gauge.Vertical , Gauge.Default, 3, 0.0, u(0.100), u(0.200), u(0.070), u(0.070), u(8) ) ) - , ( 'metal5' , ( Gauge.Horizontal, Gauge.Default, 4, 0.0, u(0.100), u(0.200), u(0.070), u(0.070), u(8) ) ) - , ( 'metal6' , ( Gauge.Vertical , Gauge.Default, 5, 0.0, u(0.100), u(0.200), u(0.070), u(0.360), u(8) ) ) - , ( 'metal7' , ( Gauge.Horizontal, Gauge.Default, 6, 0.0, u(0.100), u(0.200), u(0.070), u(0.360), u(8) ) ) - , ( 'metal8' , ( Gauge.Vertical , Gauge.Default, 7, 0.0, u(0.100), u(0.200), u(0.070), u(0.360), u(8) ) ) - , ( 'metal9' , ( Gauge.Horizontal, Gauge.Default, 8, 0.0, u(0.475), u(0.330), u(0.070), u(0.360), u(8) ) ) - ) - - -# Format of cellGaugesTable (dictionary): -# A list of entry of the form: -# ( METAL_PIN, xy_common_pitch, slice_height, slice_step ) - -cellGaugesTable = {} -cellGaugesTable['ispd18'] = ('metal2', u(0.2), u(1.71), u(0.2)) - diff --git a/crlcore/python/technos/45/ispd18/mauka.conf b/crlcore/python/technos/45/ispd18/mauka.conf deleted file mode 100644 index 9e3b89a4..00000000 --- a/crlcore/python/technos/45/ispd18/mauka.conf +++ /dev/null @@ -1,5 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "mauka.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/mauka.conf' ) diff --git a/crlcore/python/technos/45/ispd18/misc.conf b/crlcore/python/technos/45/ispd18/misc.conf deleted file mode 100644 index 23e41634..00000000 --- a/crlcore/python/technos/45/ispd18/misc.conf +++ /dev/null @@ -1,9 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "misc.conf" -*- - -import helpers - -# Provides standard settings for: -# # - -# # - -# -execfile( helpers.sysConfDir+'/common/misc.conf' ) diff --git a/crlcore/python/technos/45/ispd18/nimbus.conf b/crlcore/python/technos/45/ispd18/nimbus.conf deleted file mode 100644 index df8b61ff..00000000 --- a/crlcore/python/technos/45/ispd18/nimbus.conf +++ /dev/null @@ -1,5 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "nimbus.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/nimbus.conf' ) diff --git a/crlcore/python/technos/45/ispd18/patterns.conf b/crlcore/python/technos/45/ispd18/patterns.conf deleted file mode 100644 index 9242ac3d..00000000 --- a/crlcore/python/technos/45/ispd18/patterns.conf +++ /dev/null @@ -1,5 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "patterns.conf" -*- - -import helpers - -execfile( helpers.sysConfDir+'/common/patterns.conf' ) diff --git a/crlcore/python/technos/45/ispd18/plugins.conf b/crlcore/python/technos/45/ispd18/plugins.conf deleted file mode 100644 index 6af21f6b..00000000 --- a/crlcore/python/technos/45/ispd18/plugins.conf +++ /dev/null @@ -1,27 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "plugins.conf" -*- - -import helpers - -# Contains the layout (shared by all technologies). -#execfile( helpers.sysConfDir+'/common/plugins.conf' ) - - -# WARNING: Those values have not been adjusted yet for this technologies. -# Must be done. -# -# Parameters for chip plugin. -parametersTable = \ - ( ("chip.block.rails.count" , TypeInt , 5 ) - , ("chip.block.rails.hWidth" , TypeInt , 24 ) - , ("chip.block.rails.vWidth" , TypeInt , 24 ) - , ("chip.block.rails.hSpacing" , TypeInt , 12 ) - , ("chip.block.rails.vSpacing" , TypeInt , 12 ) - , ('chip.pad.pck' , TypeString, 'pck_mpx') - , ('chip.pad.pvddick' , TypeString, 'pvddick_mpx') - , ('chip.pad.pvssick' , TypeString, 'pvssick_mpx') - , ('chip.pad.pvddeck' , TypeString, 'pvddeck_mpx') - , ('chip.pad.pvsseck' , TypeString, 'pvsseck_mpx') - , ('clockTree.minimumSide' , TypeInt , 1000) - , ('clockTree.buffer' , TypeString, 'buf_x2') - , ('clockTree.placerEngine' , TypeString, 'Etesian') - ) diff --git a/crlcore/python/technos/45/ispd18/stratus1.conf b/crlcore/python/technos/45/ispd18/stratus1.conf deleted file mode 100644 index 8afa3b66..00000000 --- a/crlcore/python/technos/45/ispd18/stratus1.conf +++ /dev/null @@ -1,13 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "stratus1.conf" -*- - -import helpers - - -# Status1 parameters. -parametersTable = \ - ( ("stratus1.format" , TypeString, "vst") - , ("stratus1.simulator" , TypeString, "asimut") - ,) - - -execfile( helpers.sysConfDir+'/common/stratus1.conf' ) diff --git a/crlcore/python/technos/45/ispd18/technology.conf b/crlcore/python/technos/45/ispd18/technology.conf deleted file mode 100644 index 6bc44f66..00000000 --- a/crlcore/python/technos/45/ispd18/technology.conf +++ /dev/null @@ -1,148 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "technology.conf" -*- -# -# FreePDK 45 nanometers. -# -# Provides standard settings for: -# - -# - -# - -# - - -from Hurricane import DbU -from helpers import sysConfDir -from helpers import l, u, n -from helpers.Technology import initTechno - -initTechno( { 'name' : 'ispd18' - , 'precision' : 2 - , 'gridValue' : 0.0005 - , 'gridUnit' : DbU.UnitPowerMicro - , 'gridsPerLambda' : 10 - , 'symbolicGridStep' : 1.0 - , 'polygonStep' : 1.0 - } ) - -# Contains the layers -execfile( helpers.sysConfDir+'/common/technology.conf' ) - - -# Format of : -# 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 + \ - [ ('metal1.minimalSpacing' , u( 0.1 )) - , ('metal2.minimalSpacing' , u( 0.15 )) - , ('metal3.minimalSpacing' , u( 0.15 )) - , ('metal4.minimalSpacing' , u( 0.15 )) - , ('metal5.minimalSpacing' , u( 0.15 )) - , ('metal6.minimalSpacing' , u( 0.15 )) - , ('metal7.minimalSpacing' , u( 0.15 )) - , ('metal8.minimalSpacing' , u( 0.15 )) - , ('metal9.minimalSpacing' , u( 0.15 )) - , ('metal10.minimalSpacing' , u( 0.15 )) - - # VIAs (i.e. Metal <--> Metal) (real). - , ('via12.minimum.side' , u(0.070)) - , ('via12.metal1.enclosure' , (u(0.030 ), u(0.0 )) ) - , ('via12.metal2.enclosure' , (u(0.0 ), u(0.030)) ) - , ('via23.minimum.side' , u(0.070 )) - , ('via23.metal2.enclosure' , (u(0.0 ), u(0.030)) ) - , ('via23.metal3.enclosure' , (u(0.030 ), u(0.0 )) ) - , ('via34.minimum.side' , u(0.070)) - , ('via34.metal3.enclosure' , (u(0.030 ), u(0.0 )) ) - , ('via34.metal4.enclosure' , (u(0.0 ), u(0.030)) ) - , ('via45.minimum.side' , u(0.070 )) - , ('via45.metal4.enclosure' , (u(0.0 ), u(0.030)) ) - , ('via45.metal5.enclosure' , (u(0.030 ), u(0.0 )) ) - , ('via56.minimum.side' , u(0.070)) - , ('via56.metal5.enclosure' , (u(0.030 ), u(0.0 )) ) - , ('via56.metal6.enclosure' , (u(0.0 ), u(0.030)) ) - , ('via67.minimum.side' , u(0.360)) - , ('via67.metal6.enclosure' , (u(0.02 ), u(0.08 )) ) - , ('via67.metal7.enclosure' , (u(0.08 ), u(0.02 )) ) - , ('via78.minimum.side' , u(0.360)) - , ('via78.metal7.enclosure' , (u(0.08 ), u(0.02 )) ) - , ('via78.metal8.enclosure' , (u(0.02 ), u(0.08 )) ) - , ('via89.minimum.side' , u(0.360)) - , ('via89.metal8.enclosure' , (u(0.02 ), u(0.08 )) ) - , ('via89.metal9.enclosure' , (u(0.08 ), u(0.02 )) ) - ] - - -# Table guessed from the Cadence configuration files: -# FreePDK45/ncsu_basekit/techfile/FreePDK45.tf -# -# Format of an entry in the table: -# (Symbolic_Name, CIF_Name, GDSII_Number) -#gdsLayersTable = \ -# ( ("pWell" , "CWN" , 2, 0) -# , ("nWell" , "CWP" , 3, 0) -# , ("active" , "CAA" , 1, 0) -# , ("pImplant", "CSP" , 5, 0) -# , ("nImplant", "CSN" , 4, 0) -# , ("poly" , "CPG" , 9, 0) -# , ("cut0" , "CCC" , 10, 0) -# , ("metal1" , "CM1" , 11, 0) -# , ("cut1" , "CV1" , 12, 0) -# , ("metal2" , "CM2" , 13, 0) -# , ("cut2" , "CV2" , 14, 0) -# , ("metal3" , "CM3" , 15, 0) -# , ("cut3" , "CV3" , 16, 0) -# , ("metal4" , "CM4" , 17, 0) -# , ("cut4" , "CV4" , 18, 0) -# , ("metal5" , "CM5" , 19, 0) -# , ("cut5" , "CV5" , 20, 0) -# , ("metal6" , "CM6" , 21, 0) -# , ("cut6" , "CV6" , 22, 0) -# , ("metal7" , "CM7" , 23, 0) -# , ("cut7" , "CV7" , 24, 0) -# , ("metal8" , "CM8" , 25, 0) -# , ("cut8" , "CV8" , 26, 0) -# , ("metal9" , "CM9" , 27, 0) -# , ("cut9" , "CV9" , 28, 0) -# , ("metal10" , "CM10" , 29, 0) -# ) - - -# Table guessed from the GDSII layouts of the cells. -# FreePDK45/osu_soc/lib/source/gds/*.gds -# -# Format of an entry in the table: -# (Symbolic_Name, CIF_Name, GDSII_Number) -gdsLayersTable = \ - ( ("pWell" , "CWN" , 2, 0) - , ("nWell" , "CWP" , 1, 0) - , ("active" , "CAA" , 5, 0) - , ("pImplant", "CSP" , 8, 0) - , ("nImplant", "CSN" , 7, 0) - , ("poly" , "CPG" , 15, 0) - , ("cut0" , "CCC" , 16, 0) - , ("metal1" , "CM1" , 21, 0) - , ("cut1" , "CV1" , 22, 0) - , ("metal2" , "CM2" , 23, 0) - , ("cut2" , "CV2" , 24, 0) - , ("metal3" , "CM3" , 25, 0) - , ("cut3" , "CV3" , 26, 0) - , ("metal4" , "CM4" , 27, 0) - , ("cut4" , "CV4" , 28, 0) - , ("metal5" , "CM5" , 29, 0) - , ("cut5" , "CV5" , 30, 0) - , ("metal6" , "CM6" , 31, 0) - , ("cut6" , "CV6" , 32, 0) - , ("metal7" , "CM7" , 33, 0) - , ("cut7" , "CV7" , 34, 0) - , ("metal8" , "CM8" , 35, 0) - , ("cut8" , "CV8" , 36, 0) - , ("metal9" , "CM9" , 37, 0) - , ("cut9" , "CV9" , 38, 0) - , ("metal10" , "CM10" , 39, 0) - ) diff --git a/crlcore/python/technos/common/analog.conf b/crlcore/python/technos/common/analog.conf deleted file mode 100644 index bb02b287..00000000 --- a/crlcore/python/technos/common/analog.conf +++ /dev/null @@ -1,10 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "analog.conf" -*- - -import helpers - - -parametersTable = \ - ( ('analog.techno' , TypeString, 'Analog_technology_has_not_been_set', - { 'flags':Cfg.Parameter.Flags.NeedRestart|Cfg.Parameter.Flags.MustExist } ) - , ('analog.devices', TypeString, helpers.technoDir+'/devices.conf' ) - ) diff --git a/crlcore/python/technos/common/devices.conf b/crlcore/python/technos/common/devices.conf deleted file mode 100644 index c9914576..00000000 --- a/crlcore/python/technos/common/devices.conf +++ /dev/null @@ -1,117 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "devices.conf" -*- - -import helpers - - -analogDir = helpers.sysConfDir + '/share/coriolis2/analog' -spiceDir = analogDir + 'spice/' - - -devicesTable = \ - ( { 'name' : 'DifferentialPairBulkConnected' - , 'spice' : spiceDir+'DiffPairBulkConnected.spi' - , 'connectors' : ( 'D1', 'D2', 'G1', 'G2', 'S' ) - , 'layouts' : ( ('Horizontal M2' , 'DP_horizontalM2.py' ) - , ('Symmetrical' , 'DP_symmetrical.py' ) - , ('Common centroid', 'DP_2DCommonCentroid.py') - , ('Interdigitated' , 'DP_interdigitated.py' ) - , ('WIP DP' , 'WIP_DP.py' ) - ) - } - , { 'name' : 'DifferentialPairBulkUnconnected' - , 'spice' : spiceDir+'DiffPairBulkUnconnected.spi' - , 'connectors' : ( 'D1', 'D2', 'G1', 'G2', 'S', 'B' ) - , 'layouts' : ( ('Horizontal M2' , 'DP_horizontalM2.py' ) - , ('Symmetrical' , 'DP_symmetrical.py' ) - , ('Common centroid', 'DP_2DCommonCentroid.py') - , ('Interdigitated' , 'DP_interdigitated.py' ) - , ('WIP DP' , 'WIP_DP.py' ) - ) - } - , { 'name' : 'LevelShifterBulkUnconnected' - , 'spice' : spiceDir+'LevelShifterBulkUnconnected.spi' - , 'connectors' : ( 'D1', 'D2', 'S1', 'S2', 'B' ) - , 'layouts' : ( ('Horizontal M2' , 'LS_horizontalM2.py' ) - , ('Symmetrical' , 'LS_symmetrical.py' ) - , ('Common centroid', 'LS_2DCommonCentroid.py') - , ('Interdigitated' , 'LS_interdigitated.py' ) - ) - } - , { 'name' : 'TransistorBulkConnected' - , 'spice' : spiceDir+'TransistorBulkConnected.spi' - , 'connectors' : ( 'D', 'G', 'S' ) - , 'layouts' : ( ('Rotate transistor', 'Transistor_rotate.py' ) - , ('Common transistor', 'Transistor_common.py' ) - , ('WIP Transistor' , 'WIP_Transistor.py' ) - ) - } - , { 'name' : 'TransistorBulkUnconnected' - , 'spice' : spiceDir+'TransistorBulkUnconnected.spi' - , 'connectors' : ( 'D', 'G', 'S', 'B' ) - , 'layouts' : ( ('Rotate transistor', 'Transistor_rotate.py' ) - , ('Common transistor', 'Transistor_common.py' ) - , ('WIP Transistor' , 'WIP_Transistor.py' ) - ) - } - , { 'name' : 'CrossCoupledPairBulkConnected' - , 'spice' : spiceDir+'CCPairBulkConnected.spi' - , 'connectors' : ( 'D1', 'D2', 'S' ) - , 'layouts' : ( ('Horizontal M2' , 'CCP_horizontalM2.py' ) - , ('Symmetrical' , 'CCP_symmetrical.py' ) - , ('Common centroid', 'CCP_2DCommonCentroid.py') - , ('Interdigitated' , 'CCP_interdigitated.py' ) - ) - } - , { 'name' : 'CrossCoupledPairBulkUnconnected' - , 'spice' : spiceDir+'CCPairBulkUnconnected.spi' - , 'connectors' : ( 'D1', 'D2', 'S', 'B' ) - , 'layouts' : ( ('Horizontal M2' , 'CCP_horizontalM2.py' ) - , ('Symmetrical' , 'CCP_symmetrical.py' ) - , ('Common centroid', 'CCP_2DCommonCentroid.py') - , ('Interdigitated' , 'CCP_interdigitated.py' ) - ) - } - , { 'name' : 'CommonSourcePairBulkConnected' - , 'spice' : spiceDir+'CommonSourcePairBulkConnected.spi' - , 'connectors' : ( 'D1', 'D2', 'S', 'G' ) - , 'layouts' : ( ('Horizontal M2' , 'CSP_horizontalM2.py' ) - , ('Symmetrical' , 'CSP_symmetrical.py' ) - , ('Interdigitated' , 'CSP_interdigitated.py' ) - , ('WIP CSP' , 'WIP_CSP.py' ) - ) - } - , { 'name' : 'CommonSourcePairBulkUnconnected' - , 'spice' : spiceDir+'CommonSourcePairBulkUnconnected.spi' - , 'connectors' : ( 'D1', 'D2', 'S', 'G', 'B' ) - , 'layouts' : ( ('Horizontal M2' , 'CSP_horizontalM2.py' ) - , ('Symmetrical' , 'CSP_symmetrical.py' ) - , ('Interdigitated' , 'CSP_interdigitated.py' ) - , ('WIP CSP' , 'WIP_CSP.py' ) - ) - } - , { 'name' : 'SimpleCurrentMirrorBulkConnected' - , 'spice' : spiceDir+'CurrMirBulkConnected.spi' - , 'connectors' : ( 'D1', 'D2', 'S' ) - , 'layouts' : ( ('Horizontal M2' , 'SCM_horizontalM2.py' ) - , ('Symmetrical' , 'SCM_symmetrical.py' ) - , ('Common centroid', 'SCM_2DCommonCentroid.py') - , ('Interdigitated' , 'SCM_interdigitated.py' ) - ) - } - , { 'name' : 'SimpleCurrentMirrorBulkUnconnected' - , 'spice' : spiceDir+'CurrMirBulkUnconnected.spi' - , 'connectors' : ( 'D1', 'D2', 'S', 'B' ) - , 'layouts' : ( ('Horizontal M2' , 'SCM_horizontalM2.py' ) - , ('Symmetrical' , 'SCM_symmetrical.py' ) - , ('Common centroid', 'SCM_2DCommonCentroid.py') - , ('Interdigitated' , 'SCM_interdigitated.py' ) - ) - } - , { 'name' : 'MIMCapacitor' - , 'spice' : spiceDir+'MIMCapacitor.spi' - , 'connectors' : ( 'P1', 'P2' ) - , 'layouts' : ( ('SimpleMatrix' , 'MIM_simpleMatrix.py' ) - , - ) - } - ) diff --git a/crlcore/python/technos/common/display.conf b/crlcore/python/technos/common/display.conf deleted file mode 100644 index 13946b11..00000000 --- a/crlcore/python/technos/common/display.conf +++ /dev/null @@ -1,409 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "display.conf" -*- - -import helpers - -if helpers.techno == 'symbolic/vsc200': - poly2Color = 'Magenta4' -else: - poly2Color = 'Orange' - - -defaultStyle = 'Alliance.Classic [black]' - -stylesTable = \ - ( ( (Style , 'Alliance.Coriolis [black]', 'Alliance Coriolis Look - black background') - , (Darkening, 1.0, 3.0, 2.5) - - # Group: Viewer. - , (Group , 'Viewer') - , (Drawing, 'fallback' , { 'color':'Gray238' , 'border':1, 'pattern':'55AA55AA55AA55AA' }) - , (Drawing, 'background' , { 'color':'Gray50' , 'border':1 }) - , (Drawing, 'foreground' , { 'color':'White' , 'border':1 }) - , (Drawing, 'rubber' , { 'color':'192,0,192' , 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'phantom' , { 'color':'Seashell4' , 'border':1 }) - , (Drawing, 'boundaries' , { 'color':'208,199,192', 'border':1, 'pattern':'0000000000000000', 'threshold':0 }) - , (Drawing, 'marker' , { 'color':'80,250,80' , 'border':1 }) - , (Drawing, 'selectionDraw' , { 'color':'White' , 'border':1 }) - , (Drawing, 'selectionFill' , { 'color':'White' , 'border':1 }) - , (Drawing, 'grid' , { 'color':'White' , 'border':1, 'threshold':2.0*scale }) - , (Drawing, 'spot' , { 'color':'White' , 'border':2, 'threshold':6.0*scale }) - , (Drawing, 'ghost' , { 'color':'White' , 'border':1 }) - , (Drawing, 'text.ruler' , { 'color':'White' , 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'text.instance' , { 'color':'Black' , 'border':1, 'threshold':4.0*scale }) - , (Drawing, 'text.reference' , { 'color':'White' , 'border':1, 'threshold':20.0*scale }) - , (Drawing, 'undef' , { 'color':'Violet' , 'border':0, 'pattern':'2244118822441188' }) - , (Drawing, 'mauka.container', { 'color':'Magenta4' , 'border':4, 'pattern':'0000000000000000', 'goMatched':False }) - - # Group: Active Layer. - , (Group , 'Active Layer') - , (Drawing, 'nWell' , { 'color':'Tan' , 'pattern':'55AA55AA55AA55AA', 'threshold':1.5 *scale }) - , (Drawing, 'pWell' , { 'color':'LightYellow', 'pattern':'55AA55AA55AA55AA', 'threshold':1.50*scale }) - , (Drawing, 'nImplant', { 'color':'LawnGreen' , 'pattern':'55AA55AA55AA55AA', 'threshold':1.50*scale }) - , (Drawing, 'pImplant', { 'color':'Yellow' , 'pattern':'55AA55AA55AA55AA', 'threshold':1.50*scale }) - , (Drawing, 'active' , { 'color':'White' , 'pattern':'antihash1.8' , 'threshold':1.50*scale }) - , (Drawing, 'poly' , { 'color':'Red' , 'pattern':'55AA55AA55AA55AA', 'threshold':1.50*scale }) - - # Group: Routing Layer. - , (Group , 'Routing Layer') - , (Drawing, 'metal1' , { 'color':'Blue' , 'pattern':'poids2.8' , 'threshold':0.80*scale }) - , (Drawing, 'metal2' , { 'color':'Aqua' , 'pattern':'light_antihash0.8' , 'threshold':0.02*scale }) - , (Drawing, 'metal3' , { 'color':'LightPink', 'pattern':'light_antihash1.8' , 'threshold':0.02*scale }) - , (Drawing, 'metal4' , { 'color':'Green' , 'pattern':'light_antihash2.8' , 'threshold':0.02*scale }) - , (Drawing, 'metal5' , { 'color':'Yellow' , 'pattern':'1144114411441144' , 'threshold':0.02*scale }) - , (Drawing, 'metal6' , { 'color':'Violet' , 'pattern':'light_antihash0.8' , 'threshold':0.02*scale }) - , (Drawing, 'metal7' , { 'color':'Violet' , 'pattern':'light_antihash0.8' , 'threshold':0.02*scale }) - , (Drawing, 'metal8' , { 'color':'Violet' , 'pattern':'light_antihash0.8' , 'threshold':0.02*scale }) - , (Drawing, 'metal9' , { 'color':'Violet' , 'pattern':'light_antihash0.8' , 'threshold':0.02*scale }) - , (Drawing, 'metal10', { 'color':'Violet' , 'pattern':'light_antihash0.8' , 'threshold':0.02*scale }) - - # Group: Cuts (VIA holes). - , (Group , 'Cuts (VIA Holes)') - , (Drawing, 'cut0', { 'color':'0,150,150', 'threshold':1.50*scale }) - , (Drawing, 'cut1', { 'color':'Aqua' , 'threshold':0.80*scale }) - , (Drawing, 'cut2', { 'color':'LightPink', 'threshold':0.80*scale }) - , (Drawing, 'cut3', { 'color':'Green' , 'threshold':0.80*scale }) - , (Drawing, 'cut4', { 'color':'Yellow' , 'threshold':0.80*scale }) - , (Drawing, 'cut5', { 'color':'Violet' , 'threshold':0.80*scale }) - , (Drawing, 'cut6', { 'color':'Violet' , 'threshold':0.80*scale }) - , (Drawing, 'cut7', { 'color':'Violet' , 'threshold':0.80*scale }) - , (Drawing, 'cut8', { 'color':'Violet' , 'threshold':0.80*scale }) - , (Drawing, 'cut9', { 'color':'Violet' , 'threshold':0.80*scale }) - - # Group: MIM6. - , (Group , 'MIM6') - #, (Drawing, 'topmim6' , { 'color':'Blue' , 'pattern':'poids2.8' , 'threshold':0.80*scale }) - , (Drawing, 'metbot_r', { 'color':'Aqua' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale }) - , (Drawing, 'cut6' , { 'color':'LightPink', 'pattern':'light_antihash1.8', 'threshold':0.80*scale }) - , (Drawing, 'metal7' , { 'color':'Green' , 'pattern':'light_antihash2.8', 'threshold':0.80*scale }) - - # Group: Blockages. - , (Group , 'Blockages') - , (Drawing, 'blockage1' , { 'color':'Blue' , 'pattern':'006070381c0e0703' , 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage2' , { 'color':'Aqua' , 'pattern':'8103060c183060c0' , 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage3' , { 'color':'LightPink', 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage4' , { 'color':'Green' , 'pattern':'light_antihash2.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage5' , { 'color':'Yellow' , 'pattern':'1144114411441144' , 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage6' , { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage7' , { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage8' , { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage9' , { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage10', { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - - # Group: Knik & Kite. - , (Group , 'Knik & Kite') - , (Drawing, 'SPL1' , { 'color':'Red' }) - , (Drawing, 'AutoLayer', { 'color':'Magenta' }) - , (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'light_antihash0.8', 'border':1 }) - , (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8', 'border':1 }) - , (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 }) - , (Drawing, 'Anabatic::Edge' , { 'color':'255,255,190', 'pattern':'0000000000000000', 'threshold':2.00*scale, 'border':4 }) - , (Drawing, 'Anabatic::GCell', { 'color':'255,0,0' , 'pattern':'0000000000000000', 'threshold':0.02*scale, 'border':4 }) - ) - - # ---------------------------------------------------------------------- - # Style: Alliance.Coriolis [white]. - , ( (Style , 'Alliance.Coriolis [white]', 'Alliance Coriolis Look - white background') - , (Inherit , 'Alliance.Coriolis [black]') - , (Darkening, 1.0, 3.0, 2.5) - - , (Group , 'Viewer') - , (Drawing, 'fallback' , { 'color':'Black', 'border':1, 'pattern':'55AA55AA55AA55AA' }) - , (Drawing, 'background' , { 'color':'White', 'border':1 }) - , (Drawing, 'foreground' , { 'color':'Black', 'border':1 }) - , (Drawing, 'selectionDraw', { 'color':'Black', 'border':1 }) - , (Drawing, 'selectionFill', { 'color':'Black', 'border':1 }) - , (Drawing, 'grid' , { 'color':'Black', 'border':1, 'threshold':6.0*scale }) - , (Drawing, 'spot' , { 'color':'Black', 'border':1, 'threshold':6.0*scale }) - , (Drawing, 'ghost' , { 'color':'Black', 'border':1 }) - , (Drawing, 'text.ruler' , { 'color':'Black', 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'text.instance', { 'color':'Black', 'border':1, 'threshold':4.0*scale }) - , (Drawing, 'undef' , { 'color':'Black', 'border':0, 'pattern':'2244118822441188' }) - ) - - # ---------------------------------------------------------------------- - # Style: Alliance.Classic [black] - , ( (Style, 'Alliance.Classic [black]', 'Alliance Classic Look - black background') - , (Darkening, 1.0, 3.0, 2.5) - - # Viewer. - , (Group , 'Viewer') - , (Drawing, 'fallback' , { 'color':'Gray238' , 'border':1, 'pattern':'55AA55AA55AA55AA' }) - , (Drawing, 'background' , { 'color':'Gray50' , 'border':1 }) - , (Drawing, 'foreground' , { 'color':'White' , 'border':1 }) - , (Drawing, 'rubber' , { 'color':'192,0,192' , 'border':4, 'threshold':0.02*scale }) - , (Drawing, 'phantom' , { 'color':'Seashell4' , 'border':1 }) - , (Drawing, 'boundaries' , { 'color':'208,199,192', 'border':1, 'pattern':'0000000000000000', 'threshold':0 }) - , (Drawing, 'marker' , { 'color':'80,250,80' , 'border':1 }) - , (Drawing, 'selectionDraw' , { 'color':'White' , 'border':1 }) - , (Drawing, 'selectionFill' , { 'color':'White' , 'border':1 }) - , (Drawing, 'grid' , { 'color':'White' , 'border':1, 'threshold':2.0*scale }) - , (Drawing, 'spot' , { 'color':'White' , 'border':2, 'threshold':6.0*scale }) - , (Drawing, 'ghost' , { 'color':'White' , 'border':1 }) - , (Drawing, 'text.ruler' , { 'color':'White' , 'border':1, 'threshold':0.0 *scale }) - , (Drawing, 'text.instance' , { 'color':'White' , 'border':1, 'threshold':400.0 *scale }) - , (Drawing, 'text.reference', { 'color':'White' , 'border':1, 'threshold':200.0*scale }) - , (Drawing, 'undef' , { 'color':'Violet' , 'border':0, 'pattern':'2244118822441188' }) - - # Active Layers. - , (Group , 'Active Layers') - , (Drawing, 'nWell' , { 'color':'Tan' , 'pattern':'urgo.8' , 'border':1, 'threshold':0*scale }) - , (Drawing, 'pWell' , { 'color':'LightYellow', 'pattern':'urgo.8' , 'border':1, 'threshold':0*scale }) - , (Drawing, 'nImplant', { 'color':'LawnGreen' , 'pattern':'antihash0.8' , 'border':1, 'threshold':0*scale }) - , (Drawing, 'pImplant', { 'color':'Yellow' , 'pattern':'antihash0.8' , 'border':1, 'threshold':0*scale }) - , (Drawing, 'active' , { 'color':'White' , 'pattern':'antihash1.8' , 'border':1, 'threshold':0*scale }) - , (Drawing, 'poly' , { 'color':'Red' , 'pattern':'poids2.8' , 'border':1, 'threshold':0*scale }) - , (Drawing, 'poly2' , { 'color':poly2Color , 'pattern':'poids2.8' , 'border':1, 'threshold':0*scale }) - - # Routing Layers. - , (Group , 'Routing Layers') - #, (Drawing, 'metal1' , { 'color':'Blue' , 'pattern':'light_antislash0.8', 'border':1, 'threshold':0.80*scale }) - , (Drawing, 'metal1' , { 'color':'Blue' , 'pattern':'slash.8' , 'border':1, 'threshold':00*scale }) - , (Drawing, 'metal2' , { 'color':'Aqua' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'metcap' , { 'color':'DarkTurquoise', 'pattern':'poids2.8' , 'border':2, 'threshold':0.0*scale }) - , (Drawing, 'metal3' , { 'color':'LightPink' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'metal4' , { 'color':'Green' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'metal5' , { 'color':'Yellow' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'metal6' , { 'color':'Violet' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'metal7' , { 'color':'Red' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'metal8' , { 'color':'Blue' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'metal9' , { 'color':'Blue' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale }) - , (Drawing, 'metal10', { 'color':'Blue' , 'pattern':'poids4.8' , 'border':1, 'threshold':0.0*scale }) - - # Cuts (VIA holes). - , (Group , 'Cuts (VIA holes)') - , (Drawing, 'cut0', { 'color':'0,150,150', 'threshold':0*scale }) - , (Drawing, 'cut1', { 'color':'Aqua' , 'threshold':0.0*scale }) - , (Drawing, 'cut2', { 'color':'LightPink', 'threshold':0.0*scale }) - , (Drawing, 'cut3', { 'color':'Green' , 'threshold':0.0*scale }) - , (Drawing, 'cut4', { 'color':'Yellow' , 'threshold':0.0*scale }) - , (Drawing, 'cut5', { 'color':'Violet' , 'threshold':0.0*scale }) - , (Drawing, 'cut6', { 'color':'Red' , 'threshold':0.0*scale }) - , (Drawing, 'cut7', { 'color':'Blue' , 'threshold':0.0*scale }) - , (Drawing, 'cut8', { 'color':'Blue' , 'threshold':0.0*scale }) - , (Drawing, 'cut9', { 'color':'Blue' , 'threshold':0.0*scale }) - - # MIM6. - , (Group , 'MIM6') - #, (Drawing, 'topmim6' , { 'color':'Blue' , 'pattern':'poids2.32' , 'threshold':0.80*scale }) - , (Drawing, 'metbot_r', { 'color':'Aqua' , 'pattern':'light_antihash0.8' , 'threshold':0.80*scale }) - #, (Drawing, 'padopen' , { 'color':'LightPink', 'pattern':'light_antihash1.8' , 'threshold':0.80*scale }) - , (Drawing, 'metal7' , { 'color':'Green' , 'pattern':'light_antihash2.8' , 'threshold':0.80*scale }) - - # Blockages. - , (Group , 'Blockages') - , (Drawing, 'blockage1' , { 'color':'Blue' , 'pattern':'light_antislash0.8', 'threshold':0.80*scale, 'border':4 }) - , (Drawing, 'blockage2' , { 'color':'Aqua' , 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':4 }) - , (Drawing, 'blockage3' , { 'color':'LightPink', 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':4 }) - , (Drawing, 'blockage4' , { 'color':'Green' , 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':4 }) - , (Drawing, 'blockage5' , { 'color':'Yellow' , 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':4 }) - , (Drawing, 'blockage6' , { 'color':'Violet' , 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':4 }) - , (Drawing, 'blockage7' , { 'color':'Red' , 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':4 }) - , (Drawing, 'blockage8' , { 'color':'Blue' , 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':4 }) - , (Drawing, 'blockage9' , { 'color':'Blue' , 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':4 }) - , (Drawing, 'blockage10', { 'color':'Blue' , 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':4 }) - - # Knick & Kite. - , (Group , 'Knick & Kite') - , (Drawing, 'SPL1' , { 'color':'Red' }) - , (Drawing, 'AutoLayer', { 'color':'Magenta' }) - , (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'antislash2.32' , 'border':1 }) - , (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8', 'border':1 }) - , (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 }) - , (Drawing, 'Anabatic::Edge' , { 'color':'255,255,190', 'pattern':'0000000000000000', 'border':4, 'threshold':0.02*scale }) - , (Drawing, 'Anabatic::GCell', { 'color':'255,255,190', 'pattern':'0000000000000000', 'border':2, 'threshold':0.10*scale }) - ) - - # ---------------------------------------------------------------------- - # Style: Alliance.Classic [white] - , ( (Style, 'Alliance.Classic [white]', 'Alliance Classic Look - white background') - , (Inherit , 'Alliance.Classic [black]') - , (Darkening, 1.0, 3.0, 2.5) - - # Group: Viewer. - , (Group , 'Viewer') - , (Drawing, 'fallback' , { 'color':'Black', 'border':1, 'pattern':'55AA55AA55AA55AA' }) - , (Drawing, 'background' , { 'color':'White', 'border':1 }) - , (Drawing, 'foreground' , { 'color':'Black', 'border':1 }) - , (Drawing, 'selectionDraw' , { 'color':'Black', 'border':1 }) - , (Drawing, 'selectionFill' , { 'color':'Black', 'border':1 }) - , (Drawing, 'grid' , { 'color':'Black', 'border':1, 'threshold':6.0*scale }) - , (Drawing, 'spot' , { 'color':'Black', 'border':1, 'threshold':6.0*scale }) - , (Drawing, 'ghost' , { 'color':'Black', 'border':1 }) - , (Drawing, 'text.ruler' , { 'color':'Black', 'border':1, 'threshold':0.0 *scale }) - , (Drawing, 'text.instance' , { 'color':'Black', 'border':1, 'threshold':4.0 *scale }) - , (Drawing, 'text.reference', { 'color':'Black', 'border':1, 'threshold':20.0*scale }) - , (Drawing, 'undef' , { 'color':'Black', 'border':0, 'pattern':'2244118822441188' }) - ) - - # ---------------------------------------------------------------------- - # Style: Ispd Global Route [black] - , ( (Style, 'Ispd Global Route', 'ISPD Global Route Look - black background') - , (Inherit , 'Alliance.Classic [black]') - , (Darkening, 1.0, 3.0, 2.5) - - # Group: Viewer. - , (Group , 'Viewer') - , (Drawing, 'background', { 'color':'Black' , 'border':1 }) - , (Drawing, 'rubber' , { 'color':'192,0,192', 'border':1, 'threshold':0 }) - - # Group: Knik & Kite. - , (Group , 'Knik & Kite') - , (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'light_antihash0.8' , 'border':1, 'threshold':0 }) - , (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8' , 'border':1, 'threshold':0 }) - , (Drawing, 'gcontact', { 'color':'255,255,190', 'border':1, 'threshold':0 }) - ) - - # ---------------------------------------------------------------------- - # Style: Layout Design [black]. - , ( (Style, 'Layout Design', 'Useful for debugging layout - black background') - , (Inherit , 'Alliance.Classic [black]') - , (Darkening, 1.0, 3.0, 2.5) - - # Active Layers. - , (Group , 'Active Layers') - , (Drawing, 'nWell' , { 'color':'Tan' , 'pattern':'0000000000000000', 'threshold':1.50*scale, 'border':2 }) - , (Drawing, 'pWell' , { 'color':'LightYellow', 'pattern':'0000000000000000', 'threshold':1.50*scale, 'border':2 }) - , (Drawing, 'nImplant', { 'color':'LawnGreen' , 'pattern':'0000000000000000', 'threshold':1.50*scale, 'border':2 }) - , (Drawing, 'pImplant', { 'color':'Yellow' , 'pattern':'0000000000000000', 'threshold':1.50*scale, 'border':2 }) - , (Drawing, 'active' , { 'color':'White' , 'pattern':'0000000000000000', 'threshold':1.50*scale, 'border':2 }) - , (Drawing, 'poly' , { 'color':'Red' , 'pattern':'0000000000000000', 'threshold':1.50*scale, 'border':2 }) - - # Routing Layers. - , (Group , 'Routing Layers') - , (Drawing, 'metal1' , { 'color':'Blue' , 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'metal2' , { 'color':'Aqua' , 'pattern':'0000000000000000', 'threshold':0.40*scale, 'border':2 }) - , (Drawing, 'metal3' , { 'color':'LightPink', 'pattern':'0000000000000000', 'threshold':0.02*scale, 'border':2 }) - , (Drawing, 'metal4' , { 'color':'Green' , 'pattern':'0000000000000000', 'threshold':0.02*scale, 'border':2 }) - , (Drawing, 'metal5' , { 'color':'Yellow' , 'pattern':'0000000000000000', 'threshold':0.02*scale, 'border':2 }) - , (Drawing, 'metal6' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.02*scale, 'border':2 }) - , (Drawing, 'metal7' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.02*scale, 'border':2 }) - , (Drawing, 'metal8' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.02*scale, 'border':2 }) - , (Drawing, 'metal9' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.02*scale, 'border':2 }) - , (Drawing, 'metal10' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.02*scale, 'border':2 }) - - # Cuts (VIA holes). - , (Group , 'Cuts (VIA holes)') - , (Drawing, 'cut0' , { 'color':'0,150,150', 'pattern':'poids4.8' , 'threshold':1.50*scale, 'border':1 }) - , (Drawing, 'cut1' , { 'color':'Aqua' , 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':1 }) - , (Drawing, 'cut2' , { 'color':'LightPink', 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':1 }) - , (Drawing, 'cut3' , { 'color':'Green' , 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':1 }) - , (Drawing, 'cut4' , { 'color':'Yellow' , 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':1 }) - , (Drawing, 'cut5' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':1 }) - , (Drawing, 'cut6' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':1 }) - , (Drawing, 'cut7' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':1 }) - , (Drawing, 'cut8' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':1 }) - , (Drawing, 'cut9' , { 'color':'Violet' , 'pattern':'0000000000000000', 'threshold':0.80*scale, 'border':1 }) - ) - - # ---------------------------------------------------------------------- - # Style: Layout Design [white]. - , ( (Style, 'Layout Design White', 'Useful for debugging layout - white background') - , (Inherit , 'Layout Design') - , (Darkening, 1.0, 3.0, 2.5) - - # Group: Viewer. - , (Group , 'Viewer') - , (Drawing, 'background' , { 'color':'White', 'border':1 }) - , (Drawing, 'grid' , { 'color':'Black', 'border':1, 'threshold':2.0 *scale }) - , (Drawing, 'spot' , { 'color':'Black', 'border':1, 'threshold':2.0 *scale }) - , (Drawing, 'text.ruler' , { 'color':'Black', 'border':1, 'threshold':0.0 *scale }) - , (Drawing, 'text.reference', { 'color':'Black', 'border':1, 'threshold':20.0*scale }) - - # Group: Active Layers. - , (Group , 'Active Layers') - , (Drawing, 'active', { 'color':'175,175,175', 'pattern':'0000000000000000', 'threshold':1.50*scale, 'border':2 }) - ) - - # ---------------------------------------------------------------------- - # Style: Look for Printers [white]. - , ( (Style, 'Printer.Coriolis', 'Coriolis Look for Printers') - , (Darkening, 1.0, 3.0, 2.5) - - # Group: Viewer. - , (Group , 'Viewer') - , (Drawing, 'fallback' , { 'color':'Gray238' , 'border':1, 'pattern':'55AA55AA55AA55AA' }) - , (Drawing, 'background' , { 'color':'White' , 'border':1 }) - , (Drawing, 'foreground' , { 'color':'Black' , 'border':1 }) - , (Drawing, 'rubber' , { 'color':'192,0,192', 'border':4, 'threshold':0.02*scale }) - , (Drawing, 'phantom' , { 'color':'Seashell4', 'border':1 }) - , (Drawing, 'boundaries' , { 'color':'Black' , 'border':1, 'pattern':'0000000000000000', 'threshold':0 }) - , (Drawing, 'marker' , { 'color':'80,250,80', 'border':1 }) - , (Drawing, 'selectionDraw' , { 'color':'Black' , 'border':1 }) - , (Drawing, 'selectionFill' , { 'color':'Black' , 'border':1 }) - , (Drawing, 'grid' , { 'color':'Black' , 'border':1, 'threshold':2.0*scale }) - , (Drawing, 'spot' , { 'color':'Black' , 'border':2, 'threshold':6.0*scale }) - , (Drawing, 'ghost' , { 'color':'Black' , 'border':1 }) - , (Drawing, 'text.ruler' , { 'color':'Black' , 'border':1, 'threshold':0.0 *scale }) - , (Drawing, 'text.instance' , { 'color':'Black' , 'border':1, 'threshold':4.0 *scale }) - , (Drawing, 'text.reference' , { 'color':'Black' , 'border':1, 'threshold':20.0*scale }) - , (Drawing, 'undef' , { 'color':'Violet' , 'border':0, 'pattern':'2244118822441188' }) - , (Drawing, 'mauka.container', { 'color':'Magenta4' , 'border':4, 'pattern':'0000000000000000', 'goMatched':False }) - - # Group: Active Layers. - , (Group , 'Active Layers') - , (Drawing, 'nWell' , { 'color':'Tan' , 'pattern':'antipoids2.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'pWell' , { 'color':'LightYellow', 'pattern':'antipoids2.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'nImplant', { 'color':'LawnGreen' , 'pattern':'diffusion.32' , 'border':0, 'threshold':0.02*scale }) - , (Drawing, 'pImplant', { 'color':'Yellow' , 'pattern':'diffusion.32' , 'border':0, 'threshold':0.02*scale }) - , (Drawing, 'active' , { 'color':'White' , 'pattern':'active.32' , 'border':0, 'threshold':0.02*scale }) - , (Drawing, 'poly' , { 'color':'Red' , 'pattern':'antipoids2.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'poly2' , { 'color':poly2Color , 'pattern':'antipoids2.32', 'border':1, 'threshold':0.02*scale }) - - # Group: Routing Layers. - , (Group , 'Routing Layers') - , (Drawing, 'metal1' , { 'color':'Blue' , 'pattern':'slash.32' , 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'metal2' , { 'color':'Aqua' , 'pattern':'antislash2.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'metcap' , { 'color':'DarkTurquoise', 'pattern':'poids2.32' , 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'metal3' , { 'color':'LightPink' , 'pattern':'antislash3.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'metal4' , { 'color':'Green' , 'pattern':'antislash4.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'metal5' , { 'color':'Yellow' , 'pattern':'antislash5.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'metal6' , { 'color':'Violet' , 'pattern':'antislash2.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'metal7' , { 'color':'Violet' , 'pattern':'antislash2.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'metal8' , { 'color':'Violet' , 'pattern':'antislash2.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'metal9' , { 'color':'Violet' , 'pattern':'antislash2.32', 'border':1, 'threshold':0.02*scale }) - , (Drawing, 'metal10', { 'color':'Violet' , 'pattern':'antislash2.32', 'border':1, 'threshold':0.02*scale }) - - # Group: Cuts (VIA holes) - , (Group , 'Cuts (VIA holes)') - , (Drawing, 'cut0', { 'color':'Blue' , 'pattern':'poids2.8' , 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'cut1', { 'color':'Aqua' , 'pattern':'antipoids2.8', 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'cut2', { 'color':'LightPink', 'pattern':'poids2.8' , 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'cut3', { 'color':'Green' , 'pattern':'antipoids2.8', 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'cut4', { 'color':'Yellow' , 'pattern':'poids2.8' , 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'cut5', { 'color':'Violet' , 'pattern':'antipoids2.8', 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'cut6', { 'color':'Violet' , 'pattern':'antipoids2.8', 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'cut7', { 'color':'Violet' , 'pattern':'antipoids2.8', 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'cut8', { 'color':'Violet' , 'pattern':'antipoids2.8', 'border':2, 'threshold':0.02*scale }) - , (Drawing, 'cut9', { 'color':'Violet' , 'pattern':'antipoids2.8', 'border':2, 'threshold':0.02*scale }) - - # Group: MIM6. - , (Group , 'MIM6') - #, (Drawing, 'topmim6' , { 'color':'Blue' , 'pattern':'poids2.8' , 'threshold':0.80*scale }) - , (Drawing, 'metbot_r', { 'color':'Aqua' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale }) - , (Drawing, 'cut6' , { 'color':'LightPink', 'pattern':'light_antihash1.8', 'threshold':0.80*scale }) - , (Drawing, 'metal7' , { 'color':'Green' , 'pattern':'light_antihash2.8', 'threshold':0.80*scale }) - - # Group: Blockages. - , (Group , 'Blockages') - , (Drawing, 'blockage1' , { 'color':'Blue' , 'pattern':'006070381c0e0703' , 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage2' , { 'color':'Aqua' , 'pattern':'8103060c183060c0' , 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage3' , { 'color':'LightPink', 'pattern':'poids4.8' , 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage4' , { 'color':'Green' , 'pattern':'light_antihash2.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage5' , { 'color':'Yellow' , 'pattern':'1144114411441144' , 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage6' , { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage7' , { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage8' , { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage9' , { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - , (Drawing, 'blockage10', { 'color':'Violet' , 'pattern':'light_antihash0.8', 'threshold':0.80*scale, 'border':2 }) - - # Group: Knik & Kite. - , (Group , 'Knik & Kite') - , (Drawing, 'SPL1' , { 'color':'Red' }) - , (Drawing, 'AutoLayer', { 'color':'Magenta' }) - , (Drawing, 'gmetalh' , { 'color':'128,255,200', 'pattern':'light_antihash0.8' , 'border':1 }) - , (Drawing, 'gmetalv' , { 'color':'200,200,255', 'pattern':'light_antihash1.8' , 'border':1 }) - , (Drawing, 'gcut' , { 'color':'255,255,190', 'border':1 }) - , (Drawing, 'Anabatic::Edge' , { 'color':'255,255,190', 'pattern':'0000000000000000', 'border':2 }) - , (Drawing, 'Anabatic::GCell', { 'color':'Black' , 'pattern':'0000000000000000', 'border':2, 'threshold':0.80*scale }) - ) - ) diff --git a/crlcore/python/technos/common/etesian.conf b/crlcore/python/technos/common/etesian.conf deleted file mode 100644 index 575ba42b..00000000 --- a/crlcore/python/technos/common/etesian.conf +++ /dev/null @@ -1,42 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "etesian.conf" -*- - -# Etesian parameters. -parametersTable = \ - ( ('etesian.aspectRatio' , TypePercentage, 100 , { 'min':10, 'max':1000 } ) - , ('etesian.spaceMargin' , TypePercentage, 5 ) - , ('etesian.uniformDensity' , TypeBool , False ) - , ('etesian.routingDriven' , TypeBool , False ) - , ('etesian.feedNames' , TypeString , 'tie_x0,rowend_x0') - , ('etesian.cell.zero' , TypeString , 'zero_x0' ) - , ('etesian.cell.one' , TypeString , 'one_x0' ) - , ('etesian.bloat' , TypeString , 'default' ) - - , ("etesian.effort" , TypeEnumerate , 2 - , { 'values':( ("Fast" , 1) - , ("Standard" , 2) - , ("High" , 3) - , ("Extreme" , 4) ) } - ) - , ("etesian.graphics" , TypeEnumerate , 2 - , { 'values':( ("Show every step" , 1) - , ("Show lower bound" , 2) - , ("Show result only" , 3) ) } - ) - ) - - -layoutTable = \ - ( (TypeTab , 'Etesian', 'etesian') - - , (TypeTitle , 'Placement area') - , (TypeOption, "etesian.aspectRatio" , "Aspect Ratio, X/Y (%)", 0 ) - , (TypeOption, "etesian.spaceMargin" , "Space Margin" , 1 ) - , (TypeRule ,) - - , (TypeTitle , 'Etesian - Placer') - , (TypeOption, "etesian.uniformDensity", "Uniform density" , 0 ) - , (TypeOption, "etesian.routingDriven" , "Routing driven" , 0 ) - , (TypeOption, "etesian.effort" , "Placement effort" , 1 ) - , (TypeOption, "etesian.graphics" , "Placement view" , 1 ) - , (TypeRule ,) - ) diff --git a/crlcore/python/technos/common/hMetis.conf b/crlcore/python/technos/common/hMetis.conf deleted file mode 100644 index 1711c988..00000000 --- a/crlcore/python/technos/common/hMetis.conf +++ /dev/null @@ -1,60 +0,0 @@ -# -*- 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/python/technos/common/kite.conf b/crlcore/python/technos/common/kite.conf deleted file mode 100644 index 55435e07..00000000 --- a/crlcore/python/technos/common/kite.conf +++ /dev/null @@ -1,24 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "kite.conf" -*- - -# Kite Layout. -layoutTable = \ - ( (TypeTab , "Kite", "kite" ) - , (TypeTitle , "Katabatic - Routing Database" ) - , (TypeOption , "katabatic.saturateRatio" , "Saturate Ratio (%)" , 0, 1 ) - , (TypeOption , "katabatic.saturateRp" , "Saturate RoutingPad" , 0, 1 ) - , (TypeOption , "katabatic.globalLengthThreshold", "Global Length Threshold", 0, 1 ) - , (TypeOption , "katabatic.topRoutingLayer" , "Top Routing Layer" , 0, 1 ) - , (TypeOption , "anabatic.gcell.displayMode" , "GCell Display Mode" , 1, 1 ) - , (TypeRule ,) - , (TypeTitle , "Kite - Detailed Router" ) - , (TypeOption , "kite.hTracksReservedLocal", "Vert. Locally Reserved Tracks", 0 ) - , (TypeOption , "kite.vTracksReservedLocal", "Hor. Locally Reserved Tracks" , 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/python/technos/common/mauka.conf b/crlcore/python/technos/common/mauka.conf deleted file mode 100644 index 272bdd96..00000000 --- a/crlcore/python/technos/common/mauka.conf +++ /dev/null @@ -1,48 +0,0 @@ -# -*- 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 ) - , (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 ,) - ) diff --git a/crlcore/python/technos/common/misc.conf b/crlcore/python/technos/common/misc.conf deleted file mode 100644 index 738e215c..00000000 --- a/crlcore/python/technos/common/misc.conf +++ /dev/null @@ -1,76 +0,0 @@ -# -*- 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.minTraceLevel', TypeInt , 100000, {'min':0} ) - , ('misc.maxTraceLevel', TypeInt , 0, {'min':0} ) - - , ('viewer.printer.DPI' , TypeInt , 150, {'min':100} ) - , ("viewer.printer.mode", TypeEnumerate , 1 - , { 'values':( ("Cell Mode" , 1) - , ("Design Mode", 2) ) } - ) - - # Those enumerated values *must* match QPrinter::Orientation. - , ("viewer.printer.orientation", TypeEnumerate , 0 - , { 'values':( ("Portrait" , 0) - , ("Landscape" , 1) ) } - ) - - # 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.minTraceLevel' , 'Min. Trace Level' , 1) - , (TypeOption, 'misc.maxTraceLevel' , 'Max. Trace Level' , 1) - , (TypeTitle , 'Print/Snapshot Parameters') - , (TypeOption, 'viewer.printer.mode' , 'Printer/Snapshot Mode', 1) - , (TypeOption, 'viewer.printer.paper' , 'Paper Size' , 0) - , (TypeOption, 'viewer.printer.orientation', 'Orientation' , 0) - , (TypeOption, 'viewer.printer.DPI' , 'DPI' , 0) - ) diff --git a/crlcore/python/technos/common/nimbus.conf b/crlcore/python/technos/common/nimbus.conf deleted file mode 100644 index a5e47ab4..00000000 --- a/crlcore/python/technos/common/nimbus.conf +++ /dev/null @@ -1,12 +0,0 @@ -# -*- 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, 5 ) - ) - - -# layoutTable is defined inside Mauka. -layoutTable = () diff --git a/crlcore/python/technos/common/patterns.conf b/crlcore/python/technos/common/patterns.conf deleted file mode 100644 index 5a789783..00000000 --- a/crlcore/python/technos/common/patterns.conf +++ /dev/null @@ -1,583 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "patterns.conf" -*- - - -patternsTable = ( { 'name':'crux.8' , 'bits':[ ' ' - , ' X ' - , ' X ' - , ' XXXXX ' - , ' X ' - , ' X ' - , ' ' - , ' ' ] } - - , { 'name':'slash.8' , 'bits':[ ' X X' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X' - , ' X X ' - , ' X X ' - , 'X X ' ] } - - , { 'name':'hash.8' , 'bits':[ 'XXX XXX ' - , 'XX XXX X' - , 'X XXX XX' - , ' XXX XXX' - , 'XXX XXX ' - , 'XX XXX X' - , 'X XXX XX' - , ' XXX XXX' ] } - - , { 'name':'urgo.8' , 'bits':[ 'XXX XXXX' # feffffffefffffff - , 'XXXXXXXX' - , 'XXXXXXXX' - , 'XXXXXXXX' - , 'XXXXXXX ' - , 'XXXXXXXX' - , 'XXXXXXXX' - , 'XXXXXXXX' ] } - - , { 'name':'antihash0.8' , 'bits':[ ' XXX XXX' # 77bbddee77bbddee - , 'X XXX XX' - , 'XX XXX X' - , 'XXX XXX ' - , ' XXX XXX' - , 'X XXX XX' - , 'XX XXX X' - , 'XXX XXX ' ] } - - , { 'name':'antihash1.8' , 'bits':[ 'X XXX XX' # bbddee77bbddee77 - , 'XX XXX X' - , 'XXX XXX ' - , ' XXX XXX' - , 'X XXX XX' - , 'XX XXX X' - , 'XXX XXX ' - , ' XXX XXX' ] } - - , { 'name':'poids2.8' , 'bits':[ 'X X X X ' # aa55aa55aa55aa55 - , ' X X X X' - , 'X X X X ' - , ' X X X X' - , 'X X X X ' - , ' X X X X' - , 'X X X X ' - , ' X X X X' ] } - - , { 'name':'poids4.8' , 'bits':[ 'X X ' # 8800220088002200 - , ' ' - , ' X X ' - , ' ' - , 'X X ' - , ' ' - , ' X X ' - , ' ' ] } - - , { 'name':'antipoids2.8' , 'bits':[ ' # # # #' # 55aa55aa55aa55aa - , '# # # # ' - , ' # # # #' - , '# # # # ' - , ' # # # #' - , '# # # # ' - , ' # # # #' - , '# # # # ' ] } - - , { 'name':'light_antihash0.8' , 'bits':[ 'X X ' # 8822882288228822 - , ' X X ' - , 'X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , 'X X ' - , ' X X ' ] } - - , { 'name':'light_antihash1.8' , 'bits':[ ' X X ' # 4411441144114411 - , ' X X' - , ' X X ' - , ' X X' - , ' X X ' - , ' X X' - , ' X X ' - , ' X X' ] } - - , { 'name':'light_antihash2.8' , 'bits':[ ' X X ' # 2288228822882288 - , 'X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , 'X X ' ] } - - , { 'name':'light_antislash0.8' , 'bits':[ 'X X ' # 8844221188442211 - , ' X X ' - , ' X X ' - , ' X X' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X' ] } - - , { 'name':'urgo.32' , 'bits':[ 'XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXX XXXXXXXXXXXXXXX' - , 'XXXXXXXXXXX XXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X' - , ' XXXXXXXXXXXXXXXXXXXXXXXXXX ' - , ' XXXXXXXXXXXXXXXXXXXXXXXXXX ' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' - , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX' ] } - - , { 'name':'slash.32' , 'bits':[ ' X X' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' ] } - - , { 'name':'antihash0.32' , 'bits':[ ' XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX' - , 'X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX' - , 'XX XXXXXXXXXXXXXXX XXXXXXXXXXXXX' - , 'XXX XXXXXXXXXXXXXXX XXXXXXXXXXXX' - , 'XXXX XXXXXXXXXXXXXXX XXXXXXXXXXX' - , 'XXXXX XXXXXXXXXXXXXXX XXXXXXXXXX' - , 'XXXXXX XXXXXXXXXXXXXXX XXXXXXXXX' - , 'XXXXXXX XXXXXXXXXXXXXXX XXXXXXXX' - , 'XXXXXXXX XXXXXXXXXXXXXXX XXXXXXX' - , 'XXXXXXXXX XXXXXXXXXXXXXXX XXXXXX' - , 'XXXXXXXXXX XXXXXXXXXXXXXXX XXXXX' - , 'XXXXXXXXXXX XXXXXXXXXXXXXXX XXXX' - , 'XXXXXXXXXXXX XXXXXXXXXXXXXXX XXX' - , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXX XX' - , 'XXXXXXXXXXXXXX XXXXXXXXXXXXXXX X' - , 'XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ' - , ' XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX' - , 'X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX' - , 'XX XXXXXXXXXXXXXXX XXXXXXXXXXXXX' - , 'XXX XXXXXXXXXXXXXXX XXXXXXXXXXXX' - , 'XXXX XXXXXXXXXXXXXXX XXXXXXXXXXX' - , 'XXXXX XXXXXXXXXXXXXXX XXXXXXXXXX' - , 'XXXXXX XXXXXXXXXXXXXXX XXXXXXXXX' - , 'XXXXXXX XXXXXXXXXXXXXXX XXXXXXXX' - , 'XXXXXXXX XXXXXXXXXXXXXXX XXXXXXX' - , 'XXXXXXXXX XXXXXXXXXXXXXXX XXXXXX' - , 'XXXXXXXXXX XXXXXXXXXXXXXXX XXXXX' - , 'XXXXXXXXXXX XXXXXXXXXXXXXXX XXXX' - , 'XXXXXXXXXXXX XXXXXXXXXXXXXXX XXX' - , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXX XX' - , 'XXXXXXXXXXXXXX XXXXXXXXXXXXXXX X' - , 'XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ' ] } - - , { 'name':'antihash1.32' , 'bits':[ 'XXXX XXXXXXXXXXXXXXX XXXXXXXXXXX' - , 'XXXXX XXXXXXXXXXXXXXX XXXXXXXXXX' - , 'XXXXXX XXXXXXXXXXXXXXX XXXXXXXXX' - , 'XXXXXXX XXXXXXXXXXXXXXX XXXXXXXX' - , 'XXXXXXXX XXXXXXXXXXXXXXX XXXXXXX' - , 'XXXXXXXXX XXXXXXXXXXXXXXX XXXXXX' - , 'XXXXXXXXXX XXXXXXXXXXXXXXX XXXXX' - , 'XXXXXXXXXXX XXXXXXXXXXXXXXX XXXX' - , 'XXXXXXXXXXXX XXXXXXXXXXXXXXX XXX' - , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXX XX' - , 'XXXXXXXXXXXXXX XXXXXXXXXXXXXXX X' - , 'XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ' - , ' XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX' - , 'X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX' - , 'XX XXXXXXXXXXXXXXX XXXXXXXXXXXXX' - , 'XXX XXXXXXXXXXXXXXX XXXXXXXXXXXX' - , 'XXXX XXXXXXXXXXXXXXX XXXXXXXXXXX' - , 'XXXXX XXXXXXXXXXXXXXX XXXXXXXXXX' - , 'XXXXXX XXXXXXXXXXXXXXX XXXXXXXXX' - , 'XXXXXXX XXXXXXXXXXXXXXX XXXXXXXX' - , 'XXXXXXXX XXXXXXXXXXXXXXX XXXXXXX' - , 'XXXXXXXXX XXXXXXXXXXXXXXX XXXXXX' - , 'XXXXXXXXXX XXXXXXXXXXXXXXX XXXXX' - , 'XXXXXXXXXXX XXXXXXXXXXXXXXX XXXX' - , 'XXXXXXXXXXXX XXXXXXXXXXXXXXX XXX' - , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXX XX' - , 'XXXXXXXXXXXXXX XXXXXXXXXXXXXXX X' - , 'XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ' - , ' XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX' - , 'X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX' - , 'XX XXXXXXXXXXXXXXX XXXXXXXXXXXXX' - , 'XXX XXXXXXXXXXXXXXX XXXXXXXXXXXX' ] } - - , { 'name':'poids2.32' , 'bits':[ ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' ] } - - , { 'name':'poids4.32' , 'bits':[ ' ' - , ' XX XX ' - , ' XX XX ' - , ' ' - , ' ' - , ' XX XX ' - , ' XX XX ' - , ' ' - , ' ' - , ' XX XX ' - , ' XX XX ' - , ' ' - , ' ' - , ' XX XX ' - , ' XX XX ' - , ' ' - , ' ' - , ' XX XX ' - , ' XX XX ' - , ' ' - , ' ' - , ' XX XX ' - , ' XX XX ' - , ' ' - , ' ' - , ' XX XX ' - , ' XX XX ' - , ' ' - , ' ' - , ' XX XX ' - , ' XX XX ' - , ' ' ] } - - , { 'name':'antipoids2.32' , 'bits':[ ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' - , ' ' - , ' XX XX XX XX ' - , ' XX XX XX XX ' - , ' ' ] } - - , { 'name':'antislash.32' , 'bits':[ 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X' ] } - - , { 'name':'antislash2.32' , 'bits':[ 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' ] } - - , { 'name':'antislash3.32' , 'bits':[ ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' ] } - - , { 'name':'antislash4.32' , 'bits':[ ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' ] } - - , { 'name':'antislash5.32' , 'bits':[ ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , ' X X ' - , 'X X ' ] } - - , { 'name':'diffusion.32' , 'bits':[ 'XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX' - , 'X XXXXXXXXXX XXXXXXXXX' - , 'XX XXXXXXXXXX XXXXXXXX' - , 'XXX XXXXXXXXXX XXXXXXX' - , 'XXXX XXXXXXXXXX XXXXXX' - , 'XXXXX XXXXXXXXXX XXXXX' - , 'XXXXXX XXXXXXXXXX XXXX' - , 'XXXXXXX XXXXXXXXXX XXX' - , 'XXXXXXXX XXXXXXXXXX XX' - , 'XXXXXXXXX XXXXXXXXXX X' - , 'XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX ' - , ' XXXXXXXXXX XXXXXXXXXX' - , 'X XXXXXXXXXX XXXXXXXXX' - , 'XX XXXXXXXXXX XXXXXXXX' - , 'XXX XXXXXXXXXX XXXXXXX' - , 'XXXX XXXXXXXXXX XXXXXX' - , 'XXXXX XXXXXXXXXX XXXXX' - , 'XXXXXX XXXXXXXXXX XXXX' - , 'XXXXXXX XXXXXXXXXX XXX' - , 'XXXXXXXX XXXXXXXXXX XX' - , 'XXXXXXXXX XXXXXXXXXX X' ] } - - , { 'name':'active.32' , 'bits':[ ' XXXXXXXXXXXXX XXXXXXXXXXXXX' - , 'X XXXXXXXXXXXXX XXXXXXXXXXXX' - , 'XX XXXXXXXXXXXXX XXXXXXXXXXX' - , 'XXX XXXXXXXXXXXXX XXXXXXXXXX' - , 'XXXX XXXXXXXXXXXXX XXXXXXXXX' - , 'XXXXX XXXXXXXXXXXXX XXXXXXXX' - , 'XXXXXX XXXXXXXXXXXXX XXXXXXX' - , 'XXXXXXX XXXXXXXXXXXXX XXXXXX' - , 'XXXXXXXX XXXXXXXXXXXXX XXXXX' - , 'XXXXXXXXX XXXXXXXXXXXXX XXXX' - , 'XXXXXXXXXX XXXXXXXXXXXXX XXX' - , 'XXXXXXXXXXX XXXXXXXXXXXXX XX' - , 'XXXXXXXXXXXX XXXXXXXXXXXXX X' - , 'XXXXXXXXXXXXX XXXXXXXXXXXXX ' - , ' XXXXXXXXXXXXX XXXXXXXXXXXXX ' - , ' XXXXXXXXXXXXX XXXXXXXXXXXXX ' - , ' XXXXXXXXXXXXX XXXXXXXXXXXXX' - , 'X XXXXXXXXXXXXX XXXXXXXXXXXX' - , 'XX XXXXXXXXXXXXX XXXXXXXXXXX' - , 'XXX XXXXXXXXXXXXX XXXXXXXXXX' - , 'XXXX XXXXXXXXXXXXX XXXXXXXXX' - , 'XXXXX XXXXXXXXXXXXX XXXXXXXX' - , 'XXXXXX XXXXXXXXXXXXX XXXXXXX' - , 'XXXXXXX XXXXXXXXXXXXX XXXXXX' - , 'XXXXXXXX XXXXXXXXXXXXX XXXXX' - , 'XXXXXXXXX XXXXXXXXXXXXX XXXX' - , 'XXXXXXXXXX XXXXXXXXXXXXX XXX' - , 'XXXXXXXXXXX XXXXXXXXXXXXX XX' - , 'XXXXXXXXXXXX XXXXXXXXXXXXX X' - , 'XXXXXXXXXXXXX XXXXXXXXXXXXX ' - , ' XXXXXXXXXXXXX XXXXXXXXXXXXX ' - , ' XXXXXXXXXXXXX XXXXXXXXXXXXX ' ] } - - ) diff --git a/crlcore/python/technos/common/stratus1.conf b/crlcore/python/technos/common/stratus1.conf deleted file mode 100644 index 91b087b0..00000000 --- a/crlcore/python/technos/common/stratus1.conf +++ /dev/null @@ -1,10 +0,0 @@ -# -*- 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/python/technos/common/technology.conf b/crlcore/python/technos/common/technology.conf deleted file mode 100644 index 1a35cc68..00000000 --- a/crlcore/python/technos/common/technology.conf +++ /dev/null @@ -1,335 +0,0 @@ -# -*- Mode:Python; explicit-buffer-name: "technology.conf" -*- -# -# Those settings are common to all the symbolic technologies. - -from Hurricane import BasicLayer -from helpers import l, u, n -from helpers.Technology import TypeRegular -from helpers.Technology import TypeDiffusion -from helpers.Technology import TypeTransistor -from helpers.Technology import TypeContact -from helpers.Technology import TypeVia - - -#viewerConfig = { 'precision':2, 'gridstep':1.0 } - -# The informations here are extracted from the Alliance ".rds" file, -# and must be coherent with it. -# -# Format of : -# The third parameter must be present only for blockage material. -# ('layer_name' , MATERIAL , ASSOCIATED ROUTING) -# -# Note: concerning the LayerMask, real layers are implementeds as BasicLayer, -# and are associated to exactly one bit of the mask. Symbolic layers -# then combine BasicLayer to create composite objects, an thus can have -# a mask which have multiple bits set. Getting the mask from a layer -# is straigthforward, but the reverse is not true. One mask may match -# multiple symbolic layers. To overcome this ambiguity we introduce the -# concept of "working layer", which, for one given mask tells the layer -# that will be returned (generally the symbolic one). - -realLayersTable = \ - ( ('nWell' , BasicLayer.Material.nWell ) # Non-Routing Layers. - , ('pWell' , BasicLayer.Material.pWell ) - , ('nImplant' , BasicLayer.Material.nImplant) - , ('pImplant' , BasicLayer.Material.pImplant) - , ('active' , BasicLayer.Material.active ) - , ('poly' , BasicLayer.Material.poly ) - , ('poly2' , BasicLayer.Material.poly ) - , ('cut0' , BasicLayer.Material.cut ) # Routing Layers & VIA Cuts. - , ('metal1' , BasicLayer.Material.metal ) # WARNING: order *is* meaningful. - , ('cut1' , BasicLayer.Material.cut ) - , ('metal2' , BasicLayer.Material.metal ) - , ('metcap' , BasicLayer.Material.other ) - , ('cut2' , BasicLayer.Material.cut ) - , ('metal3' , BasicLayer.Material.metal ) - , ('cut3' , BasicLayer.Material.cut ) - , ('metal4' , BasicLayer.Material.metal ) - , ('cut4' , BasicLayer.Material.cut ) - , ('metal5' , BasicLayer.Material.metal ) - , ('cut5' , BasicLayer.Material.cut ) - , ('metal6' , BasicLayer.Material.metal ) - , ('cut6' , BasicLayer.Material.cut ) - , ('metal7' , BasicLayer.Material.metal ) - , ('cut7' , BasicLayer.Material.cut ) - , ('metal8' , BasicLayer.Material.metal ) - , ('cut8' , BasicLayer.Material.cut ) - , ('metal9' , BasicLayer.Material.metal ) - , ('cut9' , BasicLayer.Material.cut ) - , ('metal10' , BasicLayer.Material.metal ) - #, ('topmim6' , BasicLayer.Material.other ) # For Capacitances & Pads. - , ('metbot_r' , BasicLayer.Material.other ) - #, ('padopen' , BasicLayer.Material.other ) - #, ('alucap' , BasicLayer.Material.other ) - - , ('text.cell' , BasicLayer.Material.other ) # Misc. non-physical layers. - , ('text.instance', BasicLayer.Material.other ) # Used by the software for visualization - , ('SPL1' , BasicLayer.Material.other ) # purposes only. - , ('AutoLayer' , BasicLayer.Material.other ) - , ('blockage1' , BasicLayer.Material.blockage, 'metal1') # Blockages - , ('blockage2' , BasicLayer.Material.blockage, 'metal2') - , ('blockage3' , BasicLayer.Material.blockage, 'metal3') - , ('blockage4' , BasicLayer.Material.blockage, 'metal4') - , ('blockage5' , BasicLayer.Material.blockage, 'metal5') - , ('blockage6' , BasicLayer.Material.blockage, 'metal6') - , ('blockage7' , BasicLayer.Material.blockage, 'metal7') - , ('blockage8' , BasicLayer.Material.blockage, 'metal8') - , ('blockage9' , BasicLayer.Material.blockage, 'metal9') - , ('blockage10' , BasicLayer.Material.blockage, 'metal10') - , ('gmetalh' , BasicLayer.Material.metal ) # Special BasicLayers for Knik & Kite Routers. - , ('gcut' , BasicLayer.Material.cut ) # *Must be after all others* - , ('gmetalv' , BasicLayer.Material.metal ) - ) - - -# Format of : -# The length of the list of real layers depends on the type. -# In some case, the last of the list may be optional, it must be -# sets to None and not left empty. -# -# ('SYMB_LAYER' , Type , (LIST_OF_REAL_LAYERS) ) - -compositeLayersTable = \ - ( ('NWELL' , TypeRegular , ('nWell' ,)) - , ('PWELL' , TypeRegular , ('pWell' ,)) - , ('NTIE' , TypeDiffusion , ('nImplant' , 'active', 'nWell')) - , ('PTIE' , TypeDiffusion , ('pImplant' , 'active', 'pWell')) - , ('NDIF' , TypeDiffusion , ('nImplant' , 'active', None )) - , ('PDIF' , TypeDiffusion , ('pImplant' , 'active', None )) - , ('GATE' , TypeDiffusion , ('poly' , 'active', None )) - , ('NTRANS' , TypeTransistor, ('nImplant' , 'active', 'poly', None )) - , ('PTRANS' , TypeTransistor, ('pImplant' , 'active', 'poly', 'nWell')) - , ('POLY' , TypeRegular , ('poly' ,)) - , ('POLY2' , TypeRegular , ('poly2' ,)) - , ('METAL1' , TypeRegular , ('metal1' ,)) - , ('METAL2' , TypeRegular , ('metal2' ,)) - , ('metcapdum' , TypeRegular , ('metcap' ,)) - , ('metbot' , TypeRegular , ('metal2' ,)) - , ('METAL3' , TypeRegular , ('metal3' ,)) - , ('METAL4' , TypeRegular , ('metal4' ,)) - , ('METAL5' , TypeRegular , ('metal5' ,)) - , ('METAL6' , TypeRegular , ('metal6' ,)) - , ('METAL7' , TypeRegular , ('metal7' ,)) - , ('METAL8' , TypeRegular , ('metal8' ,)) - , ('METAL9' , TypeRegular , ('metal9' ,)) - , ('METAL10' , TypeRegular , ('metal10' ,)) - , ('CONT_BODY_N', TypeContact , ('nImplant' , 'active', 'cut0', 'metal1', 'nWell')) - , ('CONT_BODY_P', TypeContact , ('pImplant' , 'active', 'cut0', 'metal1', 'pWell')) - , ('CONT_DIF_N' , TypeContact , ('nImplant' , 'active', 'cut0', 'metal1', None )) - , ('CONT_DIF_P' , TypeContact , ('pImplant' , 'active', 'cut0', 'metal1', None )) - , ('CONT_POLY' , TypeVia , ( 'poly' , 'cut0', 'metal1' )) - # VIAs for real technologies. - , ('via12' , TypeVia , ( 'metal1', 'cut1', 'metal2' )) - , ('via23' , TypeVia , ( 'metal2', 'cut2', 'metal3' )) - , ('via34' , TypeVia , ( 'metal3', 'cut3', 'metal4' )) - , ('via45' , TypeVia , ( 'metal4', 'cut4', 'metal5' )) - , ('via56' , TypeVia , ( 'metal5', 'cut5', 'metal6' )) - , ('via67' , TypeVia , ( 'metal6', 'cut6', 'metal7' )) - , ('via78' , TypeVia , ( 'metal7', 'cut7', 'metal8' )) - , ('via89' , TypeVia , ( 'metal8', 'cut8', 'metal9' )) - , ('via910' , TypeVia , ( 'metal9', 'cut9', 'metal10')) - # VIAs for symbolic technologies. - , ('VIA12' , TypeVia , ( 'metal1', 'cut1', 'metal2' )) - , ('VIA23' , TypeVia , ( 'metal2', 'cut2', 'metal3' )) - , ('VIA23cap' , TypeVia , ( 'metcap', 'cut2', 'metal3' )) - , ('VIA34' , TypeVia , ( 'metal3', 'cut3', 'metal4' )) - , ('VIA45' , TypeVia , ( 'metal4', 'cut4', 'metal5' )) - , ('VIA56' , TypeVia , ( 'metal5', 'cut5', 'metal6' )) - , ('VIA67' , TypeVia , ( 'metal6', 'cut6', 'metal7' )) - , ('VIA78' , TypeVia , ( 'metal7', 'cut7', 'metal8' )) - , ('VIA89' , TypeVia , ( 'metal8', 'cut8', 'metal9' )) - , ('VIA910' , TypeVia , ( 'metal9', 'cut9', 'metal10')) - , ('BLOCKAGE1' , TypeRegular , ('blockage1' , )) - , ('BLOCKAGE2' , TypeRegular , ('blockage2' , )) - , ('BLOCKAGE3' , TypeRegular , ('blockage3' , )) - , ('BLOCKAGE4' , TypeRegular , ('blockage4' , )) - , ('BLOCKAGE5' , TypeRegular , ('blockage5' , )) - , ('BLOCKAGE6' , TypeRegular , ('blockage6' , )) - , ('BLOCKAGE7' , TypeRegular , ('blockage7' , )) - , ('BLOCKAGE8' , TypeRegular , ('blockage8' , )) - , ('BLOCKAGE9' , TypeRegular , ('blockage9' , )) - , ('BLOCKAGE10' , TypeRegular , ('blockage10', )) - , ('gcontact' , TypeVia , ('gmetalh' , 'gcut', 'gmetalv')) - ) - - -# Format of : -# This is a simple list of Symbolic layers. - -symbolicLayersTable = \ - [ 'POLY', 'POLY2' - , 'METAL1' , 'METAL2' , 'METAL3' , 'METAL4' , 'METAL5' , 'METAL6' , 'METAL7' , 'METAL8' , 'METAL9' , 'METAL10' - , 'BLOCKAGE1', 'BLOCKAGE2', 'BLOCKAGE3', 'BLOCKAGE4', 'BLOCKAGE5', 'BLOCKAGE6', 'BLOCKAGE7', 'BLOCKAGE8', 'BLOCKAGE9', 'BLOCKAGE10' - , 'VIA12' , 'VIA23' , 'VIA34' , 'VIA45' , 'VIA56' , 'VIA67' , 'VIA78' , 'VIA89' , 'VIA910' - , 'gcut' , 'gmetalh' , 'gmetalv' , 'gcontact' - ] - - -# Format of : -# 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. - -symbolicLayersExtensionsTable = \ - [ ('NWELL.nWell.extention.cap' , l( 0.0)) - , ('PWELL.pWell.extention.cap' , l( 0.0)) - - , ('NTIE.minimum.width' , l( 3.0)) - , ('NTIE.nWell.extention.cap' , l( 1.5)) - , ('NTIE.nWell.extention.width' , l( 0.5)) - , ('NTIE.nImplant.extention.cap' , l( 1.0)) - , ('NTIE.nImplant.extention.width' , l( 0.5)) - , ('NTIE.active.extention.cap' , l( 0.5)) - , ('NTIE.active.extention.width' , l( 0.0)) - - , ('PTIE.minimum.width' , l( 3.0)) - , ('PTIE.pWell.extention.cap' , l( 1.5)) - , ('PTIE.pWell.extention.width' , l( 0.5)) - , ('PTIE.pImplant.extention.cap' , l( 1.0)) - , ('PTIE.pImplant.extention.width' , l( 0.5)) - , ('PTIE.active.extention.cap' , l( 0.5)) - , ('PTIE.active.extention.width' , l( 0.0)) - - , ('NDIF.minimum.width' , l( 3.0)) - , ('NDIF.nImplant.extention.cap' , l( 1.0)) - , ('NDIF.nImplant.extention.width' , l( 0.5)) - , ('NDIF.active.extention.cap' , l( 0.5)) - , ('NDIF.active.extention.width' , l( 0.0)) - - , ('PDIF.minimum.width' , l( 3.0)) - , ('PDIF.pImplant.extention.cap' , l( 1.0)) - , ('PDIF.pImplant.extention.width' , l( 0.5)) - , ('PDIF.active.extention.cap' , l( 0.5)) - , ('PDIF.active.extention.width' , l( 0.0)) - - , ('GATE.minimum.width' , l( 1.0)) - , ('GATE.poly.extention.cap' , l( 1.5)) - - , ('NTRANS.minimum.width' , l( 1.0)) - , ('NTRANS.nImplant.extention.cap' , l(-1.0)) - , ('NTRANS.nImplant.extention.width' , l( 2.5)) - , ('NTRANS.active.extention.cap' , l(-1.5)) - , ('NTRANS.active.extention.width' , l( 2.0)) - - , ('PTRANS.minimum.width' , l( 1.0)) - , ('PTRANS.nWell.extention.cap' , l(-1.0)) - , ('PTRANS.nWell.extention.width' , l( 4.5)) - , ('PTRANS.pImplant.extention.cap' , l(-1.0)) - , ('PTRANS.pImplant.extention.width' , l( 4.0)) - , ('PTRANS.active.extention.cap' , l(-1.5)) - , ('PTRANS.active.extention.width' , l( 3.0)) - - , ('POLY.minimum.width' , l( 1.0)) - , ('POLY.poly.extention.cap' , l( 0.5)) - , ('POLY2.minimum.width' , l( 1.0)) - , ('POLY2.poly.extention.cap' , l( 0.5)) - - # Routing Layers (symbolic). - , ('METAL1.minimum.width' , l( 1.0)) - , ('METAL1.metal1.extention.cap' , l( 0.5)) - , ('METAL2.minimum.width' , l( 1.0)) - , ('METAL2.metal2.extention.cap' , l( 1.0)) - , ('METAL3.minimum.width' , l( 1.0)) - , ('METAL3.metal3.extention.cap' , l( 1.0)) - , ('METAL4.minimum.width' , l( 1.0)) - , ('METAL4.metal4.extention.cap' , l( 1.0)) - , ('METAL4.minimalSpacing' , l( 3.0)) - , ('METAL5.minimum.width' , l( 2.0)) - , ('METAL5.metal5.extention.cap' , l( 1.0)) - , ('METAL6.minimum.width' , l( 2.0)) - , ('METAL6.metal6.extention.cap' , l( 1.0)) - , ('METAL7.minimum.width' , l( 2.0)) - , ('METAL7.metal7.extention.cap' , l( 1.0)) - , ('METAL8.minimum.width' , l( 2.0)) - , ('METAL8.metal8.extention.cap' , l( 1.0)) - , ('METAL9.minimum.width' , l( 2.0)) - , ('METAL9.metal9.extention.cap' , l( 1.0)) - , ('METAL10.minimum.width' , l( 2.0)) - , ('METAL10.metal10.extention.cap' , l( 1.0)) - - # Contacts (i.e. Active <--> Metal) (symbolic). - , ('CONT_BODY_N.minimum.side' , l( 1.0)) - , ('CONT_BODY_N.nWell.enclosure' , l( 1.5)) - , ('CONT_BODY_N.nImplant.enclosure' , l( 1.5)) - , ('CONT_BODY_N.active.enclosure' , l( 1.0)) - , ('CONT_BODY_N.metal1.enclosure' , l( 0.5)) - - , ('CONT_BODY_P.minimum.side' , l( 1.0)) - , ('CONT_BODY_P.pWell.enclosure' , l( 1.5)) - , ('CONT_BODY_P.pImplant.enclosure' , l( 1.5)) - , ('CONT_BODY_P.active.enclosure' , l( 1.0)) - , ('CONT_BODY_P.metal1.enclosure' , l( 0.5)) - - , ('CONT_DIF_N.minimum.side' , l( 1.0)) - , ('CONT_DIF_N.nImplant.enclosure' , l( 1.0)) - , ('CONT_DIF_N.active.enclosure' , l( 0.5)) - , ('CONT_DIF_N.metal1.enclosure' , l( 0.5)) - - , ('CONT_DIF_P.minimum.side' , l( 1.0)) - , ('CONT_DIF_P.pImplant.enclosure' , l( 1.0)) - , ('CONT_DIF_P.active.enclosure' , l( 0.5)) - , ('CONT_DIF_P.metal1.enclosure' , l( 0.5)) - - , ('CONT_POLY.minimum.width' , l( 1.0)) - , ('CONT_POLY.poly.enclosure' , l( 0.5)) - , ('CONT_POLY.metal1.enclosure' , l( 0.5)) - - # VIAs (i.e. Metal <--> Metal) (symbolic). - , ('VIA12.minimum.side' , l( 1.0)) - , ('VIA12.metal1.enclosure' , l( 0.5)) - , ('VIA12.metal2.enclosure' , l( 0.5)) - , ('VIA23.minimum.side' , l( 1.0)) - , ('VIA23.metal2.enclosure' , l( 0.5)) - , ('VIA23.metal3.enclosure' , l( 0.5)) - , ('VIA34.minimum.side' , l( 1.0)) - , ('VIA34.metal3.enclosure' , l( 0.5)) - , ('VIA34.metal4.enclosure' , l( 0.5)) - , ('VIA45.minimum.side' , l( 1.0)) - , ('VIA45.metal4.enclosure' , l( 0.5)) - , ('VIA45.metal5.enclosure' , l( 0.5)) - , ('VIA56.minimum.side' , l( 1.0)) - , ('VIA56.metal5.enclosure' , l( 0.5)) - , ('VIA56.metal6.enclosure' , l( 0.5)) - , ('VIA67.minimum.side' , l( 1.0)) - , ('VIA67.metal6.enclosure' , l( 0.5)) - , ('VIA67.metal7.enclosure' , l( 0.5)) - , ('VIA78.minimum.side' , l( 1.0)) - , ('VIA78.metal7.enclosure' , l( 0.5)) - , ('VIA78.metal8.enclosure' , l( 0.5)) - , ('VIA89.minimum.side' , l( 1.0)) - , ('VIA89.metal8.enclosure' , l( 0.5)) - , ('VIA89.metal9.enclosure' , l( 0.5)) - , ('VIA910.minimum.side' , l( 1.0)) - , ('VIA910.metal9.enclosure' , l( 0.5)) - , ('VIA910.metal10.enclosure' , l( 0.5)) - - # Blockages (symbolic). - , ('BLOCKAGE1.minimum.width' , l(1.0)) - , ('BLOCKAGE1.blockage1.extention.cap' , l(0.5)) - , ('BLOCKAGE2.minimum.width' , l(2.0)) - , ('BLOCKAGE2.blockage2.extention.cap' , l(0.5)) - , ('BLOCKAGE3.minimum.width' , l(2.0)) - , ('BLOCKAGE3.blockage3.extention.cap' , l(0.5)) - , ('BLOCKAGE4.minimum.width' , l(2.0)) - , ('BLOCKAGE4.blockage4.extention.cap' , l(0.5)) - , ('BLOCKAGE5.minimum.width' , l(2.0)) - , ('BLOCKAGE5.blockage5.extention.cap' , l(1.0)) - , ('BLOCKAGE6.minimum.width' , l(2.0)) - , ('BLOCKAGE6.blockage6.extention.cap' , l(1.0)) - , ('BLOCKAGE7.minimum.width' , l(2.0)) - , ('BLOCKAGE7.blockage7.extention.cap' , l(1.0)) - , ('BLOCKAGE8.minimum.width' , l(2.0)) - , ('BLOCKAGE8.blockage8.extention.cap' , l(1.0)) - , ('BLOCKAGE9.minimum.width' , l(2.0)) - , ('BLOCKAGE9.blockage9.extention.cap' , l(1.0)) - , ('BLOCKAGE10.minimum.width' , l(2.0)) - , ('BLOCKAGE10.blockage10.extention.cap', l(1.0)) - ]