com.sun.electric.technology
Enum Layer.Function

java.lang.Object
  extended by java.lang.Enum<Layer.Function>
      extended by com.sun.electric.technology.Layer.Function
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<Layer.Function>
Enclosing class:
Layer

public static enum Layer.Function
extends java.lang.Enum<Layer.Function>

Function is a typesafe enum class that describes the function of a layer. Functions are technology-independent and describe the nature of the layer (Metal, Polysilicon, etc.)


Nested Class Summary
static class Layer.Function.Set
          A set of Layer.Functions
 
Enum Constant Summary
ART
          Describes an artwork layer.
BASE
          Describes a base of bipolar transistor.
BUS
          Describes a bus layer.
CAP
          Describes a capacitor layer.
COLLECTOR
          Describes a collector of bipolar transistor.
CONTACT1
          Describes a contact layer 1.
CONTACT10
          Describes a contact layer 10.
CONTACT11
          Describes a contact layer 11.
CONTACT12
          Describes a contact layer 12.
CONTACT2
          Describes a contact layer 2.
CONTACT3
          Describes a contact layer 3.
CONTACT4
          Describes a contact layer 4.
CONTACT5
          Describes a contact layer 5.
CONTACT6
          Describes a contact layer 6.
CONTACT7
          Describes a contact layer 7.
CONTACT8
          Describes a contact layer 8.
CONTACT9
          Describes a contact layer 9.
CONTROL
          Describes a control layer.
DEXCLDIFF
          Describes a exclusion diffusion layer
DEXCLMETAL1
          Describes a exclusion metal layer 1
DEXCLMETAL10
          Describes a exclusion metal layer 10
DEXCLMETAL11
          Describes a exclusion metal layer 11
DEXCLMETAL12
          Describes a exclusion metal layer 12
DEXCLMETAL2
          Describes a exclusion metal layer 2
DEXCLMETAL3
          Describes a exclusion metal layer 3
DEXCLMETAL4
          Describes a exclusion metal layer 4
DEXCLMETAL5
          Describes a exclusion metal layer 5
DEXCLMETAL6
          Describes a exclusion metal layer 6
DEXCLMETAL7
          Describes a exclusion metal layer 7
DEXCLMETAL8
          Describes a exclusion metal layer 8
DEXCLMETAL9
          Describes a exclusion metal layer 9
DEXCLPOLY1
          Describes a exclusion polysilicon layer 1
DEXCLPOLY2
          Describes a exclusion polysilicon layer 2
DEXCLPOLY3
          Describes a exclusion polysilicon layer 3
DIFF
          Describes a diffusion layer.
DIFFN
          Describes a N-diffusion layer.
DIFFP
          Describes a P-diffusion layer.
DMYDIFF
          Describes a dummy diffusion layer
DMYMETAL1
          Describes a dummy metal layer 1
DMYMETAL10
          Describes a dummy metal layer 10
DMYMETAL11
          Describes a dummy metal layer 11
DMYMETAL12
          Describes a dummy metal layer 12
DMYMETAL2
          Describes a dummy metal layer 2
DMYMETAL3
          Describes a dummy metal layer 3
DMYMETAL4
          Describes a dummy metal layer 4
DMYMETAL5
          Describes a dummy metal layer 5
DMYMETAL6
          Describes a dummy metal layer 6
DMYMETAL7
          Describes a dummy metal layer 7
DMYMETAL8
          Describes a dummy metal layer 8
DMYMETAL9
          Describes a dummy metal layer 9
DMYPOLY1
          Describes a dummy polysilicon layer 1
DMYPOLY2
          Describes a dummy polysilicon layer 2
DMYPOLY3
          Describes a dummy polysilicon layer 3
EMITTER
          Describes an emitter of bipolar transistor.
GATE
          Describes a polysilicon gate layer.
GUARD
          Describes a guard layer.
IMPLANT
          Describes an implant layer.
IMPLANTN
          Describes an N-implant layer.
IMPLANTP
          Describes a P-implant layer.
ISOLATION
          Describes an isolation layer (bipolar).
METAL1
          Describes a metal layer 1.
METAL10
          Describes a metal layer 10.
METAL11
          Describes a metal layer 11.
METAL12
          Describes a metal layer 12.
METAL2
          Describes a metal layer 2.
METAL3
          Describes a metal layer 3.
METAL4
          Describes a metal layer 4.
METAL5
          Describes a metal layer 5.
METAL6
          Describes a metal layer 6.
METAL7
          Describes a metal layer 7.
METAL8
          Describes a metal layer 8.
METAL9
          Describes a metal layer 9.
OVERGLASS
          Describes an overglass layer (passivation).
PLUG
          Describes a sinker (diffusion-to-buried plug).
POLY1
          Describes a polysilicon layer 1.
POLY2
          Describes a polysilicon layer 2.
POLY3
          Describes a polysilicon layer 3.
RESISTOR
          Describes a resistor layer.
SUBSTRATE
          Describes a substrate layer.
TILENOT
          Describes a tileNot layer.
TRANSISTOR
          Describes a transistor layer.
UNKNOWN
          Describes an unknown layer.
WELL
          Describes a well layer.
WELLN
          Describes a N-well layer.
WELLP
          Describes a P-well layer.
 
Field Summary
static int CONDIFF
          Describes a layer that contacts diffusion (used to identify contacts).
static int CONMETAL
          Describes a layer that contacts metal (used to identify contacts/vias).
static int CONPOLY
          Describes a layer that contacts polysilicon (used to identify contacts).
static int DEEP
          Describes a deep layer.
static int DEPLETION
          Describes a depletion layer.
static int ENHANCEMENT
          Describes a enhancement layer.
static int HEAVY
          Describes a heavy doped layer.
static int HLVT
          Describes a layer that is VTH or VTL
static int LIGHT
          Describes a light doped layer.
static int NATIVE
          Describes a native layer.
static int NONELEC
          Describes a nonelectrical layer (does not carry signals).
static int THICK
          Describes a thick layer.
 
Method Summary
 java.lang.String getConstantName()
          Returns the constant name for this Function.
static Layer.Function getContact(int level)
          Method to find the Function that corresponds to a contact on a given layer.
static java.lang.String getExtraConstantName(int extra)
          Method to convert an "extra bits" value to a constant name.
static java.lang.String getExtraName(int extra)
          Method to convert an "extra bits" value to a name.
static int[] getFunctionExtras()
          Method to return an array of the Layer Function "extra bits".
static java.util.List<Layer.Function> getFunctions()
          Method to return a list of all Layer Functions.
 int getHeight()
          Method to tell the distance of this layer function.
 int getLevel()
          Method to get the level of this Layer.
static Layer.Function getMetal(int level)
          Method to find the Function that corresponds to Metal on a given layer.
 java.lang.String getName()
          Returns the name for this Function.
static Layer.Function getPoly(int level)
          Method to find the Function that corresponds to Polysilicon on a given layer.
 boolean isContact()
          Method to tell whether this layer function is a contact.
 boolean isDiff()
          Method to tell whether this layer function is diffusion (active).
 boolean isDummy()
          Method to tell whether this layer function is a dummy
 boolean isDummyExclusion()
          Method to tell whether this layer function is a dummy exclusion
 boolean isGatePoly()
          Method to tell whether this layer function is polysilicon in the gate of a transistor.
 boolean isImplant()
          Method to tell whether this layer function is implant.
 boolean isMetal()
          Method to tell whether this layer function is metal.
 boolean isPoly()
          Method to tell whether this layer function is polysilicon.
 boolean isSubstrate()
          Method to tell whether this layer function is substrate.
 boolean isUsed(int numMetals, int numPolys)
          Method to tell whether this layer function is in subset of layer functions restricted by specified number of metals and polysilicons.
 boolean isWell()
          Method to tell whether this layer function is a well.
static int parseExtraName(java.lang.String name)
          Method to convert an "extra bits" name to its numeric value.
 java.lang.String toString()
          Returns a printable version of this Function.
static Layer.Function valueOf(java.lang.String name)
          Returns the enum constant of this type with the specified name.
static Layer.Function[] values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Enum Constant Detail

UNKNOWN

public static final Layer.Function UNKNOWN
Describes an unknown layer.


METAL1

public static final Layer.Function METAL1
Describes a metal layer 1.


METAL2

public static final Layer.Function METAL2
Describes a metal layer 2.


METAL3

public static final Layer.Function METAL3
Describes a metal layer 3.


METAL4

public static final Layer.Function METAL4
Describes a metal layer 4.


METAL5

public static final Layer.Function METAL5
Describes a metal layer 5.


METAL6

public static final Layer.Function METAL6
Describes a metal layer 6.


METAL7

public static final Layer.Function METAL7
Describes a metal layer 7.


METAL8

public static final Layer.Function METAL8
Describes a metal layer 8.


METAL9

public static final Layer.Function METAL9
Describes a metal layer 9.


METAL10

public static final Layer.Function METAL10
Describes a metal layer 10.


METAL11

public static final Layer.Function METAL11
Describes a metal layer 11.


METAL12

public static final Layer.Function METAL12
Describes a metal layer 12.


POLY1

public static final Layer.Function POLY1
Describes a polysilicon layer 1.


POLY2

public static final Layer.Function POLY2
Describes a polysilicon layer 2.


POLY3

public static final Layer.Function POLY3
Describes a polysilicon layer 3.


GATE

public static final Layer.Function GATE
Describes a polysilicon gate layer.


DIFF

public static final Layer.Function DIFF
Describes a diffusion layer.


DIFFP

public static final Layer.Function DIFFP
Describes a P-diffusion layer.


DIFFN

public static final Layer.Function DIFFN
Describes a N-diffusion layer.


IMPLANT

public static final Layer.Function IMPLANT
Describes an implant layer.


IMPLANTP

public static final Layer.Function IMPLANTP
Describes a P-implant layer.


IMPLANTN

public static final Layer.Function IMPLANTN
Describes an N-implant layer.


CONTACT1

public static final Layer.Function CONTACT1
Describes a contact layer 1.


CONTACT2

public static final Layer.Function CONTACT2
Describes a contact layer 2.


CONTACT3

public static final Layer.Function CONTACT3
Describes a contact layer 3.


CONTACT4

public static final Layer.Function CONTACT4
Describes a contact layer 4.


CONTACT5

public static final Layer.Function CONTACT5
Describes a contact layer 5.


CONTACT6

public static final Layer.Function CONTACT6
Describes a contact layer 6.


CONTACT7

public static final Layer.Function CONTACT7
Describes a contact layer 7.


CONTACT8

public static final Layer.Function CONTACT8
Describes a contact layer 8.


CONTACT9

public static final Layer.Function CONTACT9
Describes a contact layer 9.


CONTACT10

public static final Layer.Function CONTACT10
Describes a contact layer 10.


CONTACT11

public static final Layer.Function CONTACT11
Describes a contact layer 11.


CONTACT12

public static final Layer.Function CONTACT12
Describes a contact layer 12.


PLUG

public static final Layer.Function PLUG
Describes a sinker (diffusion-to-buried plug).


OVERGLASS

public static final Layer.Function OVERGLASS
Describes an overglass layer (passivation).


RESISTOR

public static final Layer.Function RESISTOR
Describes a resistor layer.


CAP

public static final Layer.Function CAP
Describes a capacitor layer.


TRANSISTOR

public static final Layer.Function TRANSISTOR
Describes a transistor layer.


EMITTER

public static final Layer.Function EMITTER
Describes an emitter of bipolar transistor.


BASE

public static final Layer.Function BASE
Describes a base of bipolar transistor.


COLLECTOR

public static final Layer.Function COLLECTOR
Describes a collector of bipolar transistor.


SUBSTRATE

public static final Layer.Function SUBSTRATE
Describes a substrate layer.


WELL

public static final Layer.Function WELL
Describes a well layer.


WELLP

public static final Layer.Function WELLP
Describes a P-well layer.


WELLN

public static final Layer.Function WELLN
Describes a N-well layer.


GUARD

public static final Layer.Function GUARD
Describes a guard layer.


ISOLATION

public static final Layer.Function ISOLATION
Describes an isolation layer (bipolar).


BUS

public static final Layer.Function BUS
Describes a bus layer.


ART

public static final Layer.Function ART
Describes an artwork layer.


CONTROL

public static final Layer.Function CONTROL
Describes a control layer.


TILENOT

public static final Layer.Function TILENOT
Describes a tileNot layer.


DMYPOLY1

public static final Layer.Function DMYPOLY1
Describes a dummy polysilicon layer 1


DMYPOLY2

public static final Layer.Function DMYPOLY2
Describes a dummy polysilicon layer 2


DMYPOLY3

public static final Layer.Function DMYPOLY3
Describes a dummy polysilicon layer 3


DMYDIFF

public static final Layer.Function DMYDIFF
Describes a dummy diffusion layer


DMYMETAL1

public static final Layer.Function DMYMETAL1
Describes a dummy metal layer 1


DMYMETAL2

public static final Layer.Function DMYMETAL2
Describes a dummy metal layer 2


DMYMETAL3

public static final Layer.Function DMYMETAL3
Describes a dummy metal layer 3


DMYMETAL4

public static final Layer.Function DMYMETAL4
Describes a dummy metal layer 4


DMYMETAL5

public static final Layer.Function DMYMETAL5
Describes a dummy metal layer 5


DMYMETAL6

public static final Layer.Function DMYMETAL6
Describes a dummy metal layer 6


DMYMETAL7

public static final Layer.Function DMYMETAL7
Describes a dummy metal layer 7


DMYMETAL8

public static final Layer.Function DMYMETAL8
Describes a dummy metal layer 8


DMYMETAL9

public static final Layer.Function DMYMETAL9
Describes a dummy metal layer 9


DMYMETAL10

public static final Layer.Function DMYMETAL10
Describes a dummy metal layer 10


DMYMETAL11

public static final Layer.Function DMYMETAL11
Describes a dummy metal layer 11


DMYMETAL12

public static final Layer.Function DMYMETAL12
Describes a dummy metal layer 12


DEXCLPOLY1

public static final Layer.Function DEXCLPOLY1
Describes a exclusion polysilicon layer 1


DEXCLPOLY2

public static final Layer.Function DEXCLPOLY2
Describes a exclusion polysilicon layer 2


DEXCLPOLY3

public static final Layer.Function DEXCLPOLY3
Describes a exclusion polysilicon layer 3


DEXCLDIFF

public static final Layer.Function DEXCLDIFF
Describes a exclusion diffusion layer


DEXCLMETAL1

public static final Layer.Function DEXCLMETAL1
Describes a exclusion metal layer 1


DEXCLMETAL2

public static final Layer.Function DEXCLMETAL2
Describes a exclusion metal layer 2


DEXCLMETAL3

public static final Layer.Function DEXCLMETAL3
Describes a exclusion metal layer 3


DEXCLMETAL4

public static final Layer.Function DEXCLMETAL4
Describes a exclusion metal layer 4


DEXCLMETAL5

public static final Layer.Function DEXCLMETAL5
Describes a exclusion metal layer 5


DEXCLMETAL6

public static final Layer.Function DEXCLMETAL6
Describes a exclusion metal layer 6


DEXCLMETAL7

public static final Layer.Function DEXCLMETAL7
Describes a exclusion metal layer 7


DEXCLMETAL8

public static final Layer.Function DEXCLMETAL8
Describes a exclusion metal layer 8


DEXCLMETAL9

public static final Layer.Function DEXCLMETAL9
Describes a exclusion metal layer 9


DEXCLMETAL10

public static final Layer.Function DEXCLMETAL10
Describes a exclusion metal layer 10


DEXCLMETAL11

public static final Layer.Function DEXCLMETAL11
Describes a exclusion metal layer 11


DEXCLMETAL12

public static final Layer.Function DEXCLMETAL12
Describes a exclusion metal layer 12

Field Detail

DEPLETION

public static final int DEPLETION
Describes a depletion layer.

See Also:
Constant Field Values

ENHANCEMENT

public static final int ENHANCEMENT
Describes a enhancement layer.

See Also:
Constant Field Values

LIGHT

public static final int LIGHT
Describes a light doped layer.

See Also:
Constant Field Values

HEAVY

public static final int HEAVY
Describes a heavy doped layer.

See Also:
Constant Field Values

NONELEC

public static final int NONELEC
Describes a nonelectrical layer (does not carry signals).

See Also:
Constant Field Values

CONMETAL

public static final int CONMETAL
Describes a layer that contacts metal (used to identify contacts/vias).

See Also:
Constant Field Values

CONPOLY

public static final int CONPOLY
Describes a layer that contacts polysilicon (used to identify contacts).

See Also:
Constant Field Values

CONDIFF

public static final int CONDIFF
Describes a layer that contacts diffusion (used to identify contacts).

See Also:
Constant Field Values

HLVT

public static final int HLVT
Describes a layer that is VTH or VTL

See Also:
Constant Field Values

THICK

public static final int THICK
Describes a thick layer.

See Also:
Constant Field Values

NATIVE

public static final int NATIVE
Describes a native layer.

See Also:
Constant Field Values

DEEP

public static final int DEEP
Describes a deep layer.

See Also:
Constant Field Values
Method Detail

values

public static Layer.Function[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
for (Layer.Function c : Layer.Function.values())
    System.out.println(c);

Returns:
an array containing the constants of this enum type, in the order they are declared

valueOf

public static Layer.Function valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
java.lang.NullPointerException - if the argument is null

toString

public java.lang.String toString()
Returns a printable version of this Function.

Overrides:
toString in class java.lang.Enum<Layer.Function>
Returns:
a printable version of this Function.

getName

public java.lang.String getName()
Returns the name for this Function.

Returns:
the name for this Function.

getConstantName

public java.lang.String getConstantName()
Returns the constant name for this Function. Constant names are used when writing Java code, so they must be the same as the actual symbol name.

Returns:
the constant name for this Function.

getFunctions

public static java.util.List<Layer.Function> getFunctions()
Method to return a list of all Layer Functions.

Returns:
a list of all Layer Functions.

getFunctionExtras

public static int[] getFunctionExtras()
Method to return an array of the Layer Function "extra bits".

Returns:
an array of the Layer Function "extra bits". Each entry in the array is a single "extra bit", but they can be ORed together to combine them.

getExtraName

public static java.lang.String getExtraName(int extra)
Method to convert an "extra bits" value to a name.

Parameters:
extra - the extra bits value (must be a single bit, not an ORed combination).
Returns:
the name of that extra bit.

getExtraConstantName

public static java.lang.String getExtraConstantName(int extra)
Method to convert an "extra bits" value to a constant name. Constant names are used when writing Java code, so they must be the same as the actual symbol name.

Parameters:
extra - the extra bits value (must be a single bit, not an ORed combination).
Returns:
the name of that extra bit's constant.

parseExtraName

public static int parseExtraName(java.lang.String name)
Method to convert an "extra bits" name to its numeric value.

Parameters:
name - the name of the bit.
Returns:
the numeric equivalent of that bit.

getLevel

public int getLevel()
Method to get the level of this Layer. The level applies to metal and polysilicon functions, and gives the layer number (i.e. Metal-2 is level 2).

Returns:
the level of this Layer.

getMetal

public static Layer.Function getMetal(int level)
Method to find the Function that corresponds to Metal on a given layer.

Parameters:
level - the layer (starting at 1 for Metal-1).
Returns:
the Function that represents that Metal layer. Null if the given layer level is invalid.

getContact

public static Layer.Function getContact(int level)
Method to find the Function that corresponds to a contact on a given layer.

Parameters:
level - the layer (starting at 1 for Contact-1).
Returns:
the Function that represents that Contact layer. Null if the given layer level is invalid.

getPoly

public static Layer.Function getPoly(int level)
Method to find the Function that corresponds to Polysilicon on a given layer.

Parameters:
level - the layer (starting at 1 for Polysilicon-1).
Returns:
the Function that represents that Polysilicon layer.

isMetal

public boolean isMetal()
Method to tell whether this layer function is metal.

Returns:
true if this layer function is metal.

isDiff

public boolean isDiff()
Method to tell whether this layer function is diffusion (active).

Returns:
true if this layer function is diffusion (active).

isPoly

public boolean isPoly()
Method to tell whether this layer function is polysilicon.

Returns:
true if this layer function is polysilicon.

isGatePoly

public boolean isGatePoly()
Method to tell whether this layer function is polysilicon in the gate of a transistor.

Returns:
true if this layer function is the gate of a transistor.

isContact

public boolean isContact()
Method to tell whether this layer function is a contact.

Returns:
true if this layer function is contact.

isWell

public boolean isWell()
Method to tell whether this layer function is a well.

Returns:
true if this layer function is a well.

isSubstrate

public boolean isSubstrate()
Method to tell whether this layer function is substrate.

Returns:
true if this layer function is substrate.

isImplant

public boolean isImplant()
Method to tell whether this layer function is implant.

Returns:
true if this layer function is implant.

isDummy

public boolean isDummy()
Method to tell whether this layer function is a dummy

Returns:
true if this layer function is a dummy

isDummyExclusion

public boolean isDummyExclusion()
Method to tell whether this layer function is a dummy exclusion

Returns:
true if this layer function is a dummy exclusion

isUsed

public boolean isUsed(int numMetals,
                      int numPolys)
Method to tell whether this layer function is in subset of layer functions restricted by specified number of metals and polysilicons.

Parameters:
numMetals - number of metals in subset.
numPolys - number of polysilicons in subset
Returns:
true if this layer function is in subset.

getHeight

public int getHeight()
Method to tell the distance of this layer function.

Returns:
the distance of this layer function.