com.sun.electric.technology.technologies
Class Generic

java.lang.Object
  extended by com.sun.electric.technology.Technology
      extended by com.sun.electric.technology.technologies.Generic
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<Technology>

public class Generic
extends Technology

This is the Generic technology.

See Also:
Serialized Form

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
 Layer afgLay
          the AFG exclusion Layer.
 PrimitiveNode afgNode
          the AFG exclusion node, tells auto-fill generator to ignore the area.
 PrimitiveNode cellCenterNode
          the Cell-Center node, used for defining the origin of the cell's coordinate space.
 Layer drcLay
          the DRC exclusion Layer.
 PrimitiveNode drcNode
          the DRC exclusion node, all design-rule errors covered by this node are ignored.
 PrimitiveNode essentialBoundsNode
          the Essential-bounds node, used (in pairs) to define the important area of a cell.
 Layer glyphLay
          the Glyph Layer.
 ArcProto invisible_arc
          the Invisible arc, connects to any node and produces no layout.
 PrimitiveNode invisiblePinNode
          the Invisible Pin node, which connects to every type of arc and produces no layout.
 PrimitiveNode portNode
          the Port-definition node, used in technology editing to define node ports.
 PrimitiveNode simProbeNode
          the Simulation-Probe node, used for highlighting the state of a network.
 ArcProto universal_arc
          the Universal arc, connects to any node.
 PrimitiveNode universalPinNode
          the Universal Pin node, which connects to every type of arc.
 ArcProto unrouted_arc
          the Unrouted arc, connects to any node and specifies desired routing topology.
 PrimitiveNode unroutedPinNode
          the Unrouted Pin node, for making bends in unrouted arc paths.
 
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
 
Method Summary
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.
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.
static boolean isSpecialGenericNode(NodeInst ni)
          Method to detect if this Generic proto is not relevant for some tool calculation and therefore could be skip.
 boolean isUniversalConnectivityPort(PrimitivePort pp)
          Tells if all ArcProtos can connect to the PrimitivePort
static Generic newInstance(IdManager idManager)
           
 void setBackgroudColor(java.awt.Color c)
           
static Generic tech()
          the Generic Technology object.
 
Methods inherited from class com.sun.electric.technology.Technology
addArcProto, addLayer, addNodeProto, cleanUnusedNodesInLibrary, compareTo, computeShapeOfNode, convertOldArcName, convertOldNodeName, convertOldPortName, convertOldVariable, copyState, dump, dumpExtraProjectSettings, findArcProto, findFoundry, findLayer, findLayerFromFunction, findNodeProto, findTechnology, findTechnology, getArcProto, getArcs, getArcsCollection, getCachedRules, getCMOS90Technology, getColorMap, getCurrent, getCurrentState, getDiffAlpha, getDiffAlphaSetting, getFactoryDesignRules, getFactoryMenuPalette, getFactoryResolution, getFactoryTransparentLayerColors, getFoundries, getGateCapacitance, getGateCapacitanceSetting, getGateIncludedSetting, getGateLengthSubtraction, getGateLengthSubtractionSetting, getGDSLayers, getGroundNetIncludedSetting, getId, getLayer, getLayer, getLayerFromOverride, getLayers, getLayersSortedByHeight, getLayersSortedByName, getMaxSeriesResistance, getMaxSeriesResistanceSetting, getMetalContactCluster, getMinCapacitance, getMinCapacitanceSetting, getMinResistance, getMinResistanceSetting, getMocmosTechnology, getMultiCutData, getNodeInstBaseRectangle, getNodes, getNodesCollection, getNodesSortedByName, getNumArcs, getNumLayers, getNumMetals, getNumMetalsSetting, getNumNodes, getNumTransparentLayers, getOldArcNames, getOldNodeNames, getParamValuesByXmlPath, getPrefFoundry, getPrefFoundrySetting, getPrimitiveFunction, getPrimitiveNode, getProjectSettings, getProjectSettingsRoot, getResistorSize, getRuleDifferences, getRuleNodeIndex, getScale, getScaleSetting, getScaleVariableName, getSelectedFoundry, getSetting, getSetting, getShapeOfArc, getShapeOfArc, getShapeOfArc, getShapeOfArc, getShapeOfNode, getShapeOfNode, getShapeOfPort, getShapeOfPort, getSizeCorrector, getSpacingDistances, getSpiceHeaderLevel1, getSpiceHeaderLevel2, getSpiceHeaderLevel3, getTechDesc, getTechName, getTechnologies, getTechShortName, getTransistorActiveLength, getTransistorAltGatePort, getTransistorBasePort, getTransistorBiasPort, getTransistorCollectorPort, getTransistorDrainPort, getTransistorEmitterPort, getTransistorGatePort, getTransistorSize, getTransistorSourcePort, getTransparentLayerColors, getTSMC180Technology, getWireRatio, getWireRatioSetting, getXmlTech, initAllTechnologies, isEasyShape, isEasyShape, isGateIncluded, isGroundNetIncluded, isLayout, isMultiCutCase, isMultiCutInTechnology, isNoDirectionalArcs, isNoNegatedArcs, isNonElectrical, isNonStandard, isNoPrimitiveNodes, isScaleRelevant, isSchematics, isStaticTechnology, isValidVTPolyRule, isXmlTechAvailable, loadFactoryMenuPalette, makeBooleanSetting, makeDoubleSetting, makeFactoryDesignRules, makeInitialEnvironment, makeIntSetting, makeStringSetting, makeXml, newArcProto, newFoundry, parseComponentMenuXML, printlnBits, printlnSetting, sameLayer, setArcCorrection, setCachedRules, setColorMapFromLayers, setDefaultOutline, setFactoryLESettings, setFactoryParasitics, setFactoryResolution, setFactoryScale, setFactoryTransparentLayers, setNoDirectionalArcs, setNoNegatedArcs, setNonElectrical, setNonStandard, setNoPrimitiveNodes, setNotUsed, setPrimitiveFunction, setPrimitiveNodeSize, setRuleVariables, setSpiceHeaderLevel1, setSpiceHeaderLevel2, setSpiceHeaderLevel3, setStaticTechnology, setTechDesc, setTechName, setTechShortName, setup, toString, whatTechnology, whatTechnology, withState, writeReplace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

glyphLay

public final Layer glyphLay
the Glyph Layer.


drcLay

public final Layer drcLay
the DRC exclusion Layer.


afgLay

public final Layer afgLay
the AFG exclusion Layer.


universalPinNode

public final PrimitiveNode universalPinNode
the Universal Pin node, which connects to every type of arc.


invisiblePinNode

public final PrimitiveNode invisiblePinNode
the Invisible Pin node, which connects to every type of arc and produces no layout.


unroutedPinNode

public final PrimitiveNode unroutedPinNode
the Unrouted Pin node, for making bends in unrouted arc paths.


cellCenterNode

public final PrimitiveNode cellCenterNode
the Cell-Center node, used for defining the origin of the cell's coordinate space.


portNode

public final PrimitiveNode portNode
the Port-definition node, used in technology editing to define node ports.


drcNode

public final PrimitiveNode drcNode
the DRC exclusion node, all design-rule errors covered by this node are ignored.


afgNode

public final PrimitiveNode afgNode
the AFG exclusion node, tells auto-fill generator to ignore the area.


essentialBoundsNode

public final PrimitiveNode essentialBoundsNode
the Essential-bounds node, used (in pairs) to define the important area of a cell.


simProbeNode

public final PrimitiveNode simProbeNode
the Simulation-Probe node, used for highlighting the state of a network.


universal_arc

public final ArcProto universal_arc
the Universal arc, connects to any node.


invisible_arc

public final ArcProto invisible_arc
the Invisible arc, connects to any node and produces no layout.


unrouted_arc

public final ArcProto unrouted_arc
the Unrouted arc, connects to any node and specifies desired routing topology.

Method Detail

tech

public static Generic tech()
the Generic Technology object.


newInstance

public static Generic newInstance(IdManager idManager)

setBackgroudColor

public void setBackgroudColor(java.awt.Color c)

getShapeOfNode

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. This method overrides the general one in the Technology object because of the unusual primitives in the Schematics Technology.

Overrides:
getShapeOfNode in class Technology
Parameters:
m - information about including cell which is necessary for computing
n - 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.
Returns:
an array of Poly objects.

genShapeOfNode

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. This method is overridden by specific Technologys.

Overrides:
genShapeOfNode in class Technology
Parameters:
b - shape builder where to put polygons
n - the ImmutableNodeInst that is being described.
pn - proto of the ImmutableNodeInst in this Technology
primLayers - an array of NodeLayer objects to convert to Poly objects. The prototype of this NodeInst must be a PrimitiveNode and not a Cell.

isUniversalConnectivityPort

public boolean isUniversalConnectivityPort(PrimitivePort pp)
Tells if all ArcProtos can connect to the PrimitivePort

Overrides:
isUniversalConnectivityPort in class Technology
Parameters:
pp - PrimitivePort to test
Returns:
true if all ArcProtos can connect to the PrimitivePort

isSpecialGenericNode

public static boolean isSpecialGenericNode(NodeInst ni)
Method to detect if this Generic proto is not relevant for some tool calculation and therefore could be skip. E.g. cellCenter, drcNodes, essential bounds. Similar for layer generation and automatic fill.

Parameters:
ni - the NodeInst in question.
Returns:
true if it is a special node (cell center, etc.)