next up previous contents index
Next: Technology File Attributes Up: Technology File Previous: Technology File Scripts   Contents   Index


Technology File Layer Blocks

There is separate specification of layers used for schematic layout and those used for physical layout. The layer used for schematics is always called ``SCED'', and if not defined in the technology file, it will be created by Xic. It is always the first layer, and can not be deleted. Additional layers are used for visual purposes, and for storage of modifications that can be reused later by converting them to the SCED layer.

Each layer definition starts with the keyword LayerName for physical layers or ElecLayer for electrical layers, followed by a name. In Xic, layers have a name, which follows the CIF format (1-4 alphanumeric characters), and an optional ``long name'' which can be just about any string. In Xic commands and functions, either name can be used to access a layer (so the names had better be unique!). If the name string following the keyword does not fit the CIF restrictions, the following actions are taken:

The layer specification further consists of a list of keywords in the format given below.

In the table that follows, the italicized quantities represent data the needs to be provided. The ``y/n'' symbol implies that one of `y' or `n' should follow the keyword. Actually, if `0' (zero), `n', or `N' appear, `n' is understood, otherwise `y' is assumed.

All of the keywords below are optional, and can appear under an electrical or physical layer, unless stated otherwise. It is not strictly necessary to define any layers at all. The electrical layers, if any, are defined first, followed by the physical layers (electrical and physical layers can not be mixed). A ``layer block'' consists of the keyword which defines the layer name and all of the following keywords up to the next layer name specification, or end of the file. The opening layer name specification defines the ``current'' layer, and the keywords that follow apply to that layer.

ElecLayer name
This keyword specifies the beginning of the layer block for the electrical layer name. Layers will appear in the electrical mode layer table in the order given. The name of the first electrical layer can be given as anything, but will be renamed ``SCED''.

LayerName name
This keyword specifies the beginning of the layer block for the physical layer name. Layers will appear in the physical mode layer table in the order given. This keyword should not appear until all of the electrical layers have been defined.

LongName longname
This will set (or reset) the long name field of the current layer. If no non-space characters are found after the keyword, the statement is ignored. Leading and training white space is removed from the argument.

Description description_string
This will set the description field of the current layer. If no non-space characters are found after the keyword, the statement is ignored. Leading and training white space is removed from the description string.

RGB colorspec
This keyword will set the color used to render objects on the layer on-screen. The colorspec string is the name of a color or an RGB triple: If the color is given as a name, the color will be converted to its RGB values if the file is updated.
Default: 127 127 127

AltRGB colorspec
This keyword sets the layer color used in hard copy mode, and in the plots on a color device. During hard copy mode (the Print Control Panel from the Print button in the File Menu is visible) these colors can be changed with the Set Color command in the Attributes Menu, and the new AltRGB colors will be set in a technology file created with the Save Tech command. If not set, the AltRGB colors default to the RGB colors.

$\textstyle \parbox{4in}{\tt
Filled y/n\\
Filled {\it bit\_data\/} [y]
}$
This keyword sets the fill style used to render objects on the layer on-screen. If the first form is used with `y', then a solid fill will be used. If `n', the figures will be outlined only (empty fill). The second form is used to specify a stipple pattern to use for fill. The pattern data can optionally be followed by `y' or `o' which indicates that the object should also be outlined. Any additional characters are ignored. The hex code should be zero padded so that each block corresponds to the number of X bytes in the bitmap. The blocks are separated by white space. Thus, for an 8x8 map, there would be 8 blocks of two characters. For 16x16, there would be 16 blocks of 4 characters. The upper left bit of the map is the MSB of the of the least significant byte of the first block. The lower right bit of the map is the LSB or the most significant byte of the last block.
Default: n

Examples:
filled y
filled cc aa cc aa cc aa cc aa outline
Default: n

In electrical mode, the SCED layer defaults to solid fill, and other layers default to empty fill. All layers default to empty fill in physical mode.

$\textstyle \parbox{4in}{\tt
AltFilled y/n\\
AltFilled {\it bit\_data\/} [y]
}$
This keyword sets the fill style used when hard copy mode is active, and is used in the hard copy plots.
Default: value of Filled

HPGLfilled filltype [ option1 option2 ]
This keyword is used only by the HP-GL hard copy driver, and is used to specify a fill pattern for the layer (electrical or physical). The parameters are those appropriate for the FT HPGL directive, as documented in
``THE HP-GL2 AND HP RTL REFERENCE GUIDE: A HANDBOOK FOR PROGRAM DEVELOPERS''
from Hewlett-Packard, (ISBN 0-201-63325-6) pages 127-129. This is summarized below:

filltype description option1 option2
1 solid, bidirectional ignored ignored
2 solid, unidirectional ignored ignored
3 hatched, parallel lines line spacing line angle
4 crosshatched line spacing line angle
10 shadings shading level ignored
11 not supported ignored ignored

There are 1016 dots per inch and angles are in degrees. Shading level is 0-100. If the HPGLfilled keyword is supplied for a layer and the filltype and options (if given) are valid, that fill will be used with the layer in HPGL output. There is presently no way to assign the layer color.

This parameter must be added to the technology file with a text editor. The default is no fill. Note that the fill patterns set on the screen in hard copy mode are not used by the HP-GL driver.

XfigFilled filltype
This keyword applies only to the xfig hard copy driver, and allows setting the fill patterns for the layer (electrical or physical). The filltype is an integer 1-56, which selects one of xfig's internal fill patterns.

0 No fill
... shades
20 Full saturation of the color
... tints
40 White
41 30 degree left diagonal pattern
42 30 degree right diagonal pattern
43 30 degree crosshatch
44 45 degree left diagonal pattern
45 45 degree right diagonal pattern
46 45 degree crosshatch
47 Bricks
48 Circles
49 Horizontal lines
50 Vertical lines
51 Crosshatch
52 Fish scales
53 Small fish scales
54 Octagons
55 Horizontal "tire treads"
56 Vertical "tire treads"

Values 1 to 19 are ``shades'' of the color, from darker to lighter, a shade is defined as the color mixed with black. Values from 21 to 39 are ``tints'' of the color from the color to white, a tint is defined as the color mixed with white. The XfigFilled parameter must be added to the technology file with a text editor. The default is no fill. Note that the fill patterns set on the screen in hard copy mode are not used by the xfig driver.

WpFilled filltype
This keyword applies only to the WordPerfect hard copy driver, and allows one of the internal fill patterns to be associated with the layer. The filltype number can be 0-63 or 255. Giving 255 is like empty fill (0), but obscures anything below.

The fill patterns, from the WordPerfect documentation, are:

0       Hollow
1       Solid
2       Narrow spaced +45 degree lines
3       Medium spaced +45 degree lines
4       Widely spaced +45 degree lines
5       Narrow spaced +45 and -45 degree lines
6       Medium spaced +45 and -45 degree lines
7       Widely spaced +45 and -45 degree lines
8       Narrow spaced vertical lines (shaded)
9       Medium spaced vertical lines
10      Widely spaced vertical lines
11      Interspaced dots or density (least dense)
12      Dots
13      Dots
14      Dots (medium density)
15      Dots
16      Dots
17      Dots (most dense)
18      Narrow spaced horizontal lines
19      Medium spaced horizontal lines
20      Widely spaced horizontal lines
21      Narrow spaced vertical and horizontal lines
22      Medium spaced vertical and horizontal lines
23      Widely spaced vertical and horizontal lines
24      Narrow spaced -45 degree lines
25      Medium spaced -45 degree lines
26      Widely spaced -45 degree lines
27      Partial weave
28      Weave
29      Fine checker board
30      Zigzag (horizontal)
31      45 degree wide line
32      Wide checker board
33      Fine 45 degree bricks
34      Medium 45 degree bricks
35      Wide 45 degree bricks
36      Fine 45 degree bricks
37      Medium 45 degree bricks
38      W 45 degree bricks
39      Horizontal brick thin
40      Horizontal brick medium
41      Vertical brick thin
42      Vertical brick medium
43      Waves
44      Wide vertical zigzag
45      Medium vertical zigzag
46      Movie pattern
47      Skewed brick pattern
48      Interconnected dot pattern
49      Shadow squares horizontal
50      Dot black vertical
51      Vertical slanted thick boxes
52      Vertical cursive black
53      45 degree shingle pattern
54      45 degree wide black arrows
55      Horizontal "T" lines
56      Black box 45 degree dots
57      Corner piece pattern
58      45 degree triangles and dot lines
59      Horizontal heartbeat monitor pattern
60      Vertical lines/horizontal waves
61      Light and dark wave patterns
62      45 degree fill color umbrella pattern
63      45 degree fill color umbrella pattern
255     Use background color for solid fill

Invisible
If this keyword appears, the layer will not be visible, though it will appear in the layer table, where the visibility status can be changed.
Default: visible

AltInvisible
This has the same function as the Invisible keyword, but applies to hard copies and to the screen while in hard copy mode.
Default: status of Invisible

Blink
If this keyword appears, the layer color will oscillate between two shades with a 0.5 second period. This is only supported in pseudo-color (usually 256 colors) graphics mode.
Default: not blinking

WireWidth width
This keyword can appear in physical layer fields. The width is a floating point number which sets the default wire width to that value in microns. This value will be used when wires are created in Xic.
Default: 0

The following keywords set the layer mapping for GDSII and OASIS format input and output. These can be programmed from within Xic with the Edit Parameters command in the Convert Menu.
StreamData layernum datatype
This keyword is deprecated, and can be read but is not generated by Xic. The layernum and datatype are the layer mapping used when converting to and from GDSII format. The layer must be in the range 0 through 255, and the datatype can take values -1 through 255. If -1 is given as the datatype, all GDSII datatypes will be mapped to the present Xic layer, and datatype 0 will be used for output. Otherwise, the layer and datatype in a GDSII file must match those given for successful mapping to the Xic layer. Note that often the end of range values are reserved in other CAD environments, and that some releases of the GDSII format support only 64 layers and datatypes. The datatype is used by Xic only in conjunction with the NoDrcDatatype keyword, and is otherwise typically set to 0. This keyword has been superseded by StreamIn and StreamOut.

StreamIn layer_list [, datatype_list]
This keyword set the mapping of GDSII layers and datatypes to Xic layers when a GDSII or OASIS file is read. The format is described in 9.11.

StreamOut out_layer [out_datatype]
This keyword sets the mapping of Xic layers to GDSII layers and datatypes when a GDSII or OASIS file is written. The format is described in 9.11.

NoDrcDatatype datatype
If this keyword is given, then any object that has the given datatype will be ignored during design rule checking. The format is described in 9.11.

The following keywords are used to set design rules in the physical layers. These keywords can appear only in physical layer blocks. See the description of the design rules in 10.2 for more information.

Connected [Region source_expr] [string]
NoHoles [Region source_expr] [string]
Overlap [Region source_expr] layer_expression [string]
IfOverlap [Region source_expr] layer_expression [string]
NoOverlap [Region source_expr] layer_expression [string]
AnyOverlap [Region source_expr] layer_expression [string]
PartOverlap [Region source_expr] layer_expression [string]
AnyNoOverlap [Region source_expr] layer_expression [string]
MinEdgeLength [Region source_expr] layer_expr length [string]
MinArea [Region source_expr] area [string]
MaxArea [Region source_expr] area [string]
MinWidth [Region source_expr] width_in_microns [string]
MinSpace [Region source_expr] space_in_microns [string]
MinSpaceTo [Region source_expr] layer_expr dimension_in_microns [string]
MinSpaceFrom [Region source_expr] layer_expr dimension_in_microns [string]
MinOverlap [Region source_expr] layer_expr dimension_in_microns [string]
MinNoOverlap [Region source_expr] layer_expr dimension_in_microns [string]

The following keywords, which can appear in physical layer fields, set various flags and variables used for netlist and parameter extraction. These can be programmed from within Xic with the Extraction Parameter Editor in the Extract Menu. See the chapter on extraction (11.1.1) for more information.

Conductor [ Exclude expression ]
This keyword indicates that the present layer is to be included in extracted conductor groups.

Routing
This keyword implies that the layer is a conductor used for connecting between cells.

Only one of the following two ground plane keywords can appear in the technology file.

$\textstyle \parbox{4in}{\raggedright
{\tt GroundPlane [Global]}\\
{\tt GroundPlaneDark [Global]} (alias)\\
}$
This keyword indicates that the present layer is to be treated as a clear-field ground plane.

$\textstyle \parbox{4in}{\raggedright
{\tt GroundPlaneClear [MultiNet]}\\
{\tt TermDefault [MultiNet]} (alias)\\
}$
This keyword indicates that the present layer is to be treated as a dark-field ground plane.

Via layer1 layer2 [expression]
This keyword indicates that the present layer may provide connection points between conductor nets on layer1 and layer2.

Contact layer [expression]
This keyword defines a layer that may be in contact with another Conductor layer, and is to be grouped accordingly in the wire net extraction.

DarkField
This keyword indicates that the layer polarity on the chip is the reverse of that shown on-screen.

Symbolic
If this keyword is present in a layer block, the layer will not be included in the cross section displays produced with the Cross Section command (in the View Menu).

The next three keywords support electrical parameter extraction for the Compute Params command.

Resis[tance] ohm_per_square
This enables computation of the resistance value of resistor devices.

Cap[acitance] units_per_sqmicron [units_per_micron]
This enables computation of the capacitance of a conductor group.

Tran[line] linethick linepenet grndthick grndpenet dielthick reldielconst
This keyword will invoke a microstrip model which computes the transmission line parameters along the long dimension of a newly created box.

The following keywords are used by the FastCap/Fasthenry extraction interface. Each keyword takes a single real value argument.

Thickness thickness
This keyword supplies the film thickness of the corresponding deposited film. The thickness is given in microns.

Rho resistivity
This keyword supplies the resistivity, in MKS units, of the corresponding conducting film.

Sigma conductivity
This keyword supplies the conductivity, in MKS units, of the corresponding conducting film.

EpsRel diel_constant
This keyword supplies the relative dielectric constant of insulating layers.

Lambda pene_depth
This keyword specifies the London penetration depth of superconducting conductors, in microns.


next up previous contents index
Next: Technology File Attributes Up: Technology File Previous: Technology File Scripts   Contents   Index
Stephen R. Whiteley 2006-10-23