|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sun.electric.technology.Technology
com.sun.electric.technology.technologies.MoCMOS
public class MoCMOS
This is the MOSIS CMOS technology.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.sun.electric.technology.Technology |
---|
Technology.ArcLayer, Technology.CarbonNanotube, Technology.MultiCutData, Technology.NodeLayer, Technology.SizeCorrector, Technology.State, Technology.TechPoint |
Field Summary | |
---|---|
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. |
Fields inherited from class com.sun.electric.technology.Technology |
---|
ALWAYS_SKIP_WIPED_PINS, cachedRules, DISK_VERSION_1, DISK_VERSION_2, EMPTY_LIST, factoryMenuPalette, factoryRules, foundries, IMMUTABLE_TECHS, LAYERS_BY_HEIGHT, LAYERS_BY_HEIGHT_LIFT_CONTACTS, 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 Summary | |
---|---|
MoCMOS(Generic generic,
TechFactory techFactory,
java.util.Map<TechFactory.Param,java.lang.Object> techParams,
Xml.Technology t)
|
Method Summary | |
---|---|
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 |
copyState(Technology that)
SUPPORT METHODS |
protected void |
dumpExtraProjectSettings(java.io.PrintWriter out,
java.util.Map<Setting,java.lang.Object> settings)
|
protected void |
genShapeOfNode(AbstractShapeBuilder b,
ImmutableNodeInst n,
PrimitiveNode pn,
Technology.NodeLayer[] primLayers)
Puts into shape builder s the polygons that describe node "n", given a set of NodeLayer objects to use. |
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 has layers for vertical NPN transistor pbase. |
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. |
protected Poly[] |
getShapeOfNode(CellBackup.Memoization m,
ImmutableNodeInst n,
boolean electrical,
boolean reasonable,
Technology.NodeLayer[] primLayers)
Method to return a list of Polys that describe a given NodeInst. |
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 has layers for vertical NPN transistor pbase. |
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. |
void |
setPrimitiveNodeSize(NodeInst ni,
double width,
double length)
Method to set the size of a transistor NodeInst in this Technology. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
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
Constructor Detail |
---|
public MoCMOS(Generic generic, TechFactory techFactory, java.util.Map<TechFactory.Param,java.lang.Object> techParams, Xml.Technology t)
Method Detail |
---|
protected void copyState(Technology that)
copyState
in class Technology
protected void dumpExtraProjectSettings(java.io.PrintWriter out, java.util.Map<Setting,java.lang.Object> settings)
dumpExtraProjectSettings
in class Technology
protected Poly[] getShapeOfNode(CellBackup.Memoization m, ImmutableNodeInst n, boolean electrical, boolean reasonable, Technology.NodeLayer[] primLayers)
getShapeOfNode
in class Technology
m
- information about including cell which is necessary for computingn
- the ImmutableNodeInst that is being described.electrical
- true to get the "electrical" layers.
This makes no sense for Schematics primitives.reasonable
- true to get only a minimal set of contact cuts in large contacts.
This makes no sense for Schematics primitives.primLayers
- an array of NodeLayer objects to convert to Poly objects.
protected void genShapeOfNode(AbstractShapeBuilder b, ImmutableNodeInst n, PrimitiveNode pn, Technology.NodeLayer[] primLayers)
genShapeOfNode
in class Technology
b
- shape builder where to put polygonsn
- the ImmutableNodeInst that is being described.pn
- proto of the ImmutableNodeInst in this TechnologyprimLayers
- an array of NodeLayer objects to convert to Poly objects.
The prototype of this NodeInst must be a PrimitiveNode and not a Cell.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 variable
public 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 params
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 void setPrimitiveNodeSize(NodeInst ni, double width, double length)
setPrimitiveNodeSize
in class Technology
ni
- the NodeInstwidth
- the new width (positive values only)length
- the new length (positive values only)public PortInst getTransistorBiasPort(NodeInst ni)
getTransistorBiasPort
in class Technology
ni
- the NodeInst
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |