This section describes the keyword entries which appear in layer blocks which relate to extraction. These define the conductor layers which are involved in grouping, identify vias between conductors, etc. Further, geometrical electrical data can be assigned to layers, which will be used for parameter extraction. All of these settings can be entered with the Edit Tech Params command in the Extract menu and then written to disk with the Save Tech command in the Attributes Menu, or be entered with a text editor directly into the technology file.
Some of the keywords below use layer expressions, as were described in 12.1. A layer expression in its simplest form is a layer name. More generally, it consists of an expression involving layer names, the intersection operator (&), the union operator (|), and the inversion operator (!). Parentheses can be used to enforce precedence. These are the same type of expressions as used in the DRC tests. The expression is ``true'' at points where the expression would return opacity.
If ``Global'' is given, the GroundPlaneGlobal variable, which activates the mode, will be set.
Only one of the ground plane keywords can appear in the technology file. Conductor group 0 is used only if a ground plane has been specified. The ground plane layer can be referenced in Via and Contact lines just as any Conductor.
Only one of the ground plane keywords can appear in the technology file. Conductor group 0 is used only if a ground plane has been specified.
Without the MultiNet keyword, connections to this layer (as specified with the Via and Contact keywords), where this layer does not appear, are considered as connections to ground (group 0). Although this approach may work for simple cells, it can lead to trouble. Suppose that an island of ground plane metal is used as part of the metalization for the chip pads. This would appear as a hole in the displayed representation of the ground plane layer. Then each pad will be extracted as shorted to ground!
There is provision for more intelligent handling of the GroundPlaneClear layer, allowing the layer to be included in paths and groups. If the MultiNet keyword appears, the inverse of the layer is computed, and that (temporary) layer is used in the grouping. However, it can take quite a lot of behind-the-scenes computation if the GroundPlaneClear layer has complex patterning. Inversion is also done if the !set variable GroundPlaneMulti is given (note: this variable was formerly named HandleTermDefault). The temporary layer is treated as a clear-field ground plane, and all references to the ground plane will be applied to the temporary layer during grouping and extraction.
The name of the internal layer created is ``$GPI''. By default, this layer is invisible. It should not be directly edited by the user. The inverse layer is an internal layer and is never written to a file during conversion or a save. During extraction the GroundPlaneClear layer is ignored, and the inverse, which is a Conductor, is used to establish connectivity.
To establish connectivity for the commands in the Extract Menu, the inverse layer is created according to one of the algorithms described below. An optional integer 0-2 may follow the MultiNet keyword, which indicates the algorithm used for inversion. The algorithm can also be selected by setting the variable GroundPlaneMethod to an integer in the same range, with the !set command.
$GPI = !GP & !$$i.e., for each cell the ground plane is inverted and the areas over subcells are removed (recall that ``$$'' is a pseudo-layer representing subcell boundaries). This is the default.
The default (0) method is the most efficient computationally, but the method will probably fail if sibling subcells overlap. In general, it is good practice to avoid cell overlap.
Method 1 will work if subcells overlap. However, since there is no local ground plane in the subcells, generating a netlist while in a Push (subedit) will not yield correct results.
Method 2 is the least efficient computationally, but each cell has a local ground plane.
for each region of the Via layer {
if (there exists an object on layer1 that overlaps region)
if (there exists an object on layer2 that overlaps region)
if (there is no expression, or the area where expression is true in region is nonzero)
then the via indicates a connection between the two objects
}
If the expression is not given, it is always taken as ``true''.
Examples:
The purpose is to account for a contact metalization which is applied over the normal wiring layers, which may itself be used for making connections occasionally. The Contact keyword implies Conductor. The Contact keyword should be given in the layer block of the contact metal layer. It is not necessary (or desirable) to include a reciprocal Contact specification in the referenced layer's block.
The keyword has a secondary effect if used in conjunction with the GroundPlane (or the equivalent GroundPlaneDark) keyword. The combination is equivalent to GroundPlaneClear.
The following keywords can appear only in physical layer fields, and they specify electrical and related parameters used in various ways by the extraction system.
Many of these parameters are redundant or incompatible with each other. Warning messages may be issued when incompatibilities are detected, however unused information is usually simply ignored and does no real harm. In particular, there are two basic groups, those keywords that apply to condcutors, and those that apply to insulators. Mixing these parameters on the same layer will likely generate a warning.
At most one of the following two keywords (Rho and Sigma) should be used.
The keyword ``Cap'' is accepted as an alias for ``Capacitance''.
The first argument is the name of a layer assumed as the ground plane. Both the present layer and the ground plane layer must be conductors and have Thickness and, if superconductors, Lambda defined. Non-superconductors are treated as perfect conductors.
The second argument is the assumed height, in microns, of the intervening dielectric. The third argument is the relative dielectric constant. If either or both of these arguments is missing or given as ``0'' (zero), then Xic will search for a layer with the Via keyword set that contains the present and the ground plane layers, and obtain the missing values from that layer.