public abstract class TechType
extends java.lang.Object
implements java.io.Serializable
The TechType class queries the appropriate Technology object to get references to prototypes commonly used by the layout generators such as the metal 1 arc proto or the metal 1 pin proto. The Tech class also holds technology dependant dimensions such as the width of a diffusion contact.
The TechType class serves two purposes. First, it makes it convenient to access technology dependent information. Second, it hides foundry specific information that we're not allowed to distribute as open source software.
Modifier and Type | Class and Description |
---|---|
static class |
TechType.MosInst
Hide the differences between technologies.
|
Modifier and Type | Field and Description |
---|---|
protected double |
diffCont_m1Width |
protected double |
diffContIncr |
protected double |
diffContWidth |
protected double |
gateExtendPastMOS |
protected double |
gateLength |
protected double |
gateToDiffContSpace |
protected double |
gateToDiffContSpaceDogBone |
protected double |
gateToGateSpace |
protected double |
m1MinArea |
protected double |
offsetLShapePolyContact |
protected double |
offsetTShapePolyContact |
protected double |
p1ToP1Space |
protected double |
p1Width |
protected double |
polyContWidth |
protected double |
selectSpace |
protected double |
selectSurround |
protected double |
selectSurroundDiffAlongGateInTrans |
protected double |
selectSurroundDiffInActiveContact |
protected double |
selectSurroundDiffInTrans |
protected double |
selectSurroundDiffInWellContact |
protected double |
wellContWidth |
protected double |
wellSurroundDiff |
Modifier | Constructor and Description |
---|---|
protected |
TechType(Technology techy) |
protected double gateLength
protected double offsetLShapePolyContact
protected double offsetTShapePolyContact
protected double selectSpace
protected double selectSurroundDiffInTrans
protected double selectSurroundDiffAlongGateInTrans
protected double selectSurround
protected double wellSurroundDiff
protected double gateExtendPastMOS
protected double p1Width
protected double p1ToP1Space
protected double gateToGateSpace
protected double gateToDiffContSpace
protected double gateToDiffContSpaceDogBone
protected double selectSurroundDiffInWellContact
protected double selectSurroundDiffInActiveContact
protected double m1MinArea
protected double polyContWidth
protected double wellContWidth
protected double diffContWidth
protected double diffCont_m1Width
protected double diffContIncr
protected TechType(Technology techy)
public static TechType getTechType(Technology technology)
public static TechType getMOCMOS()
public static TechType getTSMC180()
public static TechType getCMOS90()
public int getNumMetals()
public Technology getTechnology()
public ArcProto pdiff()
public ArcProto ndiff()
public ArcProto p1()
public ArcProto m1()
public ArcProto m2()
public ArcProto m3()
public ArcProto m4()
public ArcProto m5()
public ArcProto m6()
public ArcProto m7()
public ArcProto m8()
public ArcProto m9()
public ArcProto ndiff18()
public ArcProto pdiff18()
public ArcProto ndiff25()
public ArcProto pdiff25()
public ArcProto ndiff33()
public ArcProto pdiff33()
public PrimitiveNode ndpin()
public PrimitiveNode pdpin()
public PrimitiveNode p1pin()
public PrimitiveNode m1pin()
public PrimitiveNode m2pin()
public PrimitiveNode m3pin()
public PrimitiveNode m4pin()
public PrimitiveNode m5pin()
public PrimitiveNode m6pin()
public PrimitiveNode m7pin()
public PrimitiveNode m8pin()
public PrimitiveNode m9pin()
public PrimitiveNode nwm1()
public PrimitiveNode pwm1()
public PrimitiveNode nwm1Y()
public PrimitiveNode pwm1Y()
public PrimitiveNode ndm1()
public PrimitiveNode pdm1()
public PrimitiveNode p1m1()
public PrimitiveNode m1m2()
public PrimitiveNode m2m3()
public PrimitiveNode m3m4()
public PrimitiveNode m4m5()
public PrimitiveNode m5m6()
public PrimitiveNode m6m7()
public PrimitiveNode m7m8()
public PrimitiveNode m8m9()
public PrimitiveNode nmos()
public PrimitiveNode pmos()
public PrimitiveNode nmos18()
public PrimitiveNode pmos18()
public PrimitiveNode nmos25()
public PrimitiveNode pmos25()
public PrimitiveNode nmos33()
public PrimitiveNode pmos33()
public PrimitiveNode nmos18contact()
public PrimitiveNode pmos18contact()
public PrimitiveNode nmos25contact()
public PrimitiveNode pmos25contact()
public PrimitiveNode nmos33contact()
public PrimitiveNode pmos33contact()
public PrimitiveNode nwell()
public PrimitiveNode pwell()
public PrimitiveNode m1Node()
public PrimitiveNode m2Node()
public PrimitiveNode m3Node()
public PrimitiveNode m4Node()
public PrimitiveNode m5Node()
public PrimitiveNode m6Node()
public PrimitiveNode m7Node()
public PrimitiveNode m8Node()
public PrimitiveNode m9Node()
public PrimitiveNode p1Node()
public PrimitiveNode pdNode()
public PrimitiveNode ndNode()
public PrimitiveNode pselNode()
public PrimitiveNode nselNode()
public PrimitiveNode od18()
public PrimitiveNode od25()
public PrimitiveNode od33()
public PrimitiveNode vth()
public PrimitiveNode vtl()
public PrimitiveNode essentialBounds()
public PrimitiveNode facetCenter()
public PrimitiveNode getViaFor(ArcProto a1, ArcProto a2)
public int layerHeight(ArcProto p)
public ArcProto layerAtHeight(int layHeight)
public PrimitiveNode viaAbove(int layHeight)
public PrimitiveNode viaBelow(int layHeight)
public double roundToGrid(double x)
public TechType.MosInst newNmosInst(double x, double y, double w, double l, Cell parent, EditingPreferences ep)
public TechType.MosInst newPmosInst(double x, double y, double w, double l, Cell parent, EditingPreferences ep)
public abstract java.lang.String name()
public abstract double reservedToLambda(int layer, double nbTracks)
public double getWellWidth()
public double getWellSurroundDiffInWellContact()
public double getGateExtendPastMOS()
public double getP1Width()
public double getP1ToP1Space()
public double getGateToGateSpace()
public double getGateToDiffContSpace()
public double getGateToDiffContSpaceDogBone()
public double getWellContWidth()
public double getDiffContWidth()
public double getP1M1Width()
public double getGateLength()
public double selectSurroundDiffInWellContact()
public double selectSurroundDiffInDiffContact()
public double selectSurroundDiffAlongGateInTrans()
public double getPolyLShapeOffset()
public double getPolyTShapeOffset()
public double getSelectSpacingRule()
public double getSelectSurroundDiffInTrans()
public double getSelectSurroundOverPoly()
public double getM1MinArea()
public double getDiffCont_m1Width()
public double getDiffContIncr()
public Variable.Key getAttrX()
public Variable.Key getAttrS()
public Variable.Key getAttrSP()
public Variable.Key getAttrSN()