public class MoCMOS extends Technology
Technology.ArcLayer, Technology.ExtraField, Technology.MultiCutData, Technology.NodeLayer, Technology.SizeCorrector, Technology.TechPoint
Modifier and Type | Field and Description |
---|---|
static Version |
changeOfMetal6 |
static int |
DEEPRULES
Value for deep rules.
|
static int |
SCMOSRULES
Value for standard SCMOS rules.
|
static int |
SUBMRULES
Value for submicron rules.
|
static Variable.Key |
TECH_LAST_STATE
key of Variable for saving technology state.
|
cachedRules, DISK_VERSION_1, DISK_VERSION_2, EMPTY_LIST, factoryMenuPalette, factoryRules, foundries, N_TYPE, NULL_ARRAY, oldArcNames, oldNodeNames, P_TYPE, paramFoundry, paramNumMetalLayers, SPECIALMENUCELL, SPECIALMENUEXPORT, SPECIALMENUHIGH, SPECIALMENUMISC, SPECIALMENUPORT, SPECIALMENUPURE, SPECIALMENUSEPARATOR, SPECIALMENUSPICE, SPECIALMENUTEXT, TECH_NODE, techFactory, TRANS_CONTACT, xmlTech
Constructor and Description |
---|
MoCMOS(Generic generic,
TechFactory techFactory,
java.util.Map<TechFactory.Param,java.lang.Object> techParams,
Xml.Technology t) |
Modifier and Type | Method and Description |
---|---|
protected java.util.Map<TechFactory.Param,java.lang.Object> |
checkParamValues(java.util.Map<TechFactory.Param,java.lang.Object> paramValues)
OVERRIDES
|
PrimitivePort |
convertOldPortName(java.lang.String portName,
PrimitiveNode np)
Method to convert old primitive port names to their proper PortProtos.
|
java.util.Map<Setting,java.lang.Object> |
convertOldVariable(java.lang.String varName,
java.lang.Object value)
Method to convert any old-style variable information to the new options.
|
protected void |
dumpExtraProjectSettings(java.io.PrintWriter out,
java.util.Map<Setting,java.lang.Object> settings)
SUPPORT METHODS
|
Setting |
getAlternateActivePolyRulesSetting()
Returns project preferences to tell whether this Technology is using alternate Active and Poly contact rules.
|
Setting |
getAnalogSetting()
Returns project preferences to tell whether this technology provides analog elements.
|
Setting |
getDisallowStackedViasSetting()
Returns project preferences to tell whether this Technology disallows stacked vias.
|
static Xml.Technology |
getPatchedXml(java.util.Map<TechFactory.Param,java.lang.Object> params)
This method is called from TechFactory by reflection.
|
int |
getRuleSet()
Method to tell the current rule set for this Technology if Mosis is the foundry.
|
Setting |
getRuleSetSetting()
Method to set the rule set for this Technology.
|
Setting |
getSecondPolysiliconSetting()
Returns project preferences to tell a second polysilicon layer in this Technology.
|
Technology.SizeCorrector |
getSizeCorrector(Version version,
java.util.Map<Setting,java.lang.Object> projectSettings,
boolean isJelib,
boolean keepExtendOverMin) |
static java.util.List<TechFactory.Param> |
getTechParams()
This method is called from TechFactory by reflection.
|
PortInst |
getTransistorBiasPort(NodeInst ni)
Return a substrate PortInst for this transistor NodeInst
|
boolean |
isAlternateActivePolyRules()
Method to determine whether this Technology is using alternate Active and Poly contact rules.
|
boolean |
isAnalog()
Method to tell whether this technology provides analog elements.
|
boolean |
isDisallowStackedVias()
Method to determine whether this Technology disallows stacked vias.
|
boolean |
isSecondPolysilicon()
Method to tell the number of polysilicon layers in this Technology.
|
protected XMLRules |
makeFactoryDesignRules()
Method to build "factory" design rules, given the current technology settings.
|
protected PrimitiveNode |
newPrimitiveNode(java.lang.String protoName,
EPoint sizeCorrector1,
EPoint sizeCorrector2,
java.lang.String minSizeRule,
double width,
double height,
ERectangle fullRectangle,
ERectangle baseRectangle,
Technology.NodeLayer[] layers)
Method to create a new PrimitiveNode from the parameters.
|
addArcProto, addLayer, addNodeProto, cleanUnusedNodesInLibrary, compareTo, convertOldArcName, convertOldNodeName, dump, findArcProto, findFoundry, findLayer, findLayerFromFunction, findNodeProto, findTechnology, findTechnology, getArc, getArcProto, getArcs, getArcsCollection, getCachedRules, getCMOS90Technology, getColorMap, getCurrent, getDiffAlpha, getDiffAlphaSetting, getExtraFields, getFactoryDesignRules, getFactoryMenuPalette, getFactoryResolution, getFactoryTransparentLayerColors, getFoundries, getGateCapacitance, getGateCapacitanceSetting, getGateIncludedSetting, getGateLengthSubtraction, getGateLengthSubtractionSetting, getGDSLayers, getGroundNetIncludedSetting, getId, getLayer, getLayerFromOverride, getLayers, getLayersPerGDSNumber, getLayersSortedByRule, getLayersSortedByUserPreference, getMaxSeriesResistance, getMaxSeriesResistanceSetting, getMetalContactCluster, getMinCapacitance, getMinCapacitanceSetting, getMinResistance, getMinResistanceSetting, getMocmosTechnology, getMultiCutData, getNodeInstBaseRectangle, getNodes, getNodesCollection, getNodesSortedByName, getNumArcs, getNumLayers, getNumMetals, getNumMetalsSetting, getNumNodes, getNumTransparentLayers, getOldArcNames, getOldNodeNames, getParamValues, getParamValuesByXmlPath, getPrefFoundry, getPrefFoundrySetting, getPrimitiveNode, getPrimNodeIndexInTech, getProjectSettings, getProjectSettingsRoot, getResistorSize, getRuleDifferences, getRuleIndex, getRuleNodeIndex, getScale, getScaleSetting, getScaleVariableName, getSelectedFoundry, getSetting, getSetting, getShapeOfArc, getShapeOfArc, getShapeOfNode, getShapeOfNode, getShapeOfPort, getSpacingDistances, getSpiceHeaderLevel1, getSpiceHeaderLevel2, getSpiceHeaderLevel3, getTechDesc, getTechName, getTechnologies, getTechShortName, getTransistorActiveLength, getTransistorAltGatePort, getTransistorBasePort, getTransistorCollectorPort, getTransistorDrainPort, getTransistorEmitterPort, getTransistorGatePort, getTransistorSize, getTransistorSourcePort, getTransparentLayerColors, getTSMC180Technology, getWireRatio, getWireRatioSetting, getXmlTech, hasColoredMetalLayer, hasPhotonics, initPreinstalledTechnologies, isEasyShape, isGateIncluded, isGroundNetIncluded, isLayout, isMultiCutCase, isMultiCutInTechnology, isNoDirectionalArcs, isNoNegatedArcs, isNonElectrical, isNonStandard, isNoPrimitiveNodes, isScaleRelevant, isSchematics, isStaticTechnology, isUniversalConnectivityPort, isValidVTPolyRule, isXmlTechAvailable, loadFactoryMenuPalette, makeBooleanSetting, makeColorMap, makeDoubleSetting, makeInitialEnvironment, makeIntSetting, makeStringSetting, makeXml, makeXml, newArcProto, newFoundry, parseComponentMenuXML, printlnBits, printlnSetting, sameLayer, setArcCorrection, setCachedRules, setColorMapFromLayers, setDefaultOutline, setFactoryLESettings, setFactoryParasitics, setFactoryResolution, setFactoryScale, setFactoryTransparentLayers, setNodeCorrection, setNoDirectionalArcs, setNoNegatedArcs, setNonElectrical, setNonStandard, setNoPrimitiveNodes, setNotUsed, setPrimitiveNodeSize, setRuleVariables, setSpiceHeaderLevel1, setSpiceHeaderLevel2, setSpiceHeaderLevel3, setStaticTechnology, setTechDesc, setTechName, setTechShortName, setup, toString, whatTechnology, whatTechnology, withTechParams, writeReplace
public static final int SCMOSRULES
public static final int SUBMRULES
public static final int DEEPRULES
public static final Variable.Key TECH_LAST_STATE
public static final Version changeOfMetal6
public MoCMOS(Generic generic, TechFactory techFactory, java.util.Map<TechFactory.Param,java.lang.Object> techParams, Xml.Technology t)
protected void dumpExtraProjectSettings(java.io.PrintWriter out, java.util.Map<Setting,java.lang.Object> settings)
dumpExtraProjectSettings
in class Technology
protected PrimitiveNode newPrimitiveNode(java.lang.String protoName, EPoint sizeCorrector1, EPoint sizeCorrector2, java.lang.String minSizeRule, double width, double height, ERectangle fullRectangle, ERectangle baseRectangle, Technology.NodeLayer[] layers)
newPrimitiveNode
in class Technology
protoName
- the name of the PrimitiveNode.
Primitive names may not contain unprintable characters, spaces, tabs, a colon (:), semicolon (;) or curly braces ({}).sizeCorrector1
- size corrector point 1 for the PrimitiveNode.sizeCorrector2
- size corrector point 2 for the PrimitiveNode.width
- the width of the PrimitiveNode.height
- the height of the PrimitiveNode.baseRectangle
- the reported/selected part of the PrimitiveNode with standard size.layers
- the Layers that comprise the PrimitiveNode.protected XMLRules makeFactoryDesignRules()
makeFactoryDesignRules
in class Technology
public Technology.SizeCorrector getSizeCorrector(Version version, java.util.Map<Setting,java.lang.Object> projectSettings, boolean isJelib, boolean keepExtendOverMin)
getSizeCorrector
in class Technology
public int getRuleSet()
public Setting getRuleSetSetting()
public boolean isSecondPolysilicon()
public Setting getSecondPolysiliconSetting()
public boolean isDisallowStackedVias()
public Setting getDisallowStackedViasSetting()
public boolean isAlternateActivePolyRules()
public Setting getAlternateActivePolyRulesSetting()
public boolean isAnalog()
public Setting getAnalogSetting()
public java.util.Map<Setting,java.lang.Object> convertOldVariable(java.lang.String varName, java.lang.Object value)
convertOldVariable
in class Technology
varName
- name of variablevalue
- value of variablepublic static java.util.List<TechFactory.Param> getTechParams()
public static Xml.Technology getPatchedXml(java.util.Map<TechFactory.Param,java.lang.Object> params)
params
- values of technology parametersprotected java.util.Map<TechFactory.Param,java.lang.Object> checkParamValues(java.util.Map<TechFactory.Param,java.lang.Object> paramValues)
checkParamValues
in class Technology
public PrimitivePort convertOldPortName(java.lang.String portName, PrimitiveNode np)
convertOldPortName
in class Technology
portName
- the unknown port name, read from an old Library.np
- the PrimitiveNode on which this port resides.public PortInst getTransistorBiasPort(NodeInst ni)
getTransistorBiasPort
in class Technology
ni
- the NodeInst