next up previous contents index
Next: Technology File Layer Block Up: Technology File Layer Blocks Previous: Technology File Layer Block   Contents   Index

Technology File Layer Block Keywords: Presentation

These keywords impact the appearance of objects on the layer on-screen and in prints.

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. If no RGB keyword is given for a layer, Xic will assign a random color. The RGB keyword is allowed in the mini-layer blocks found in the print driver specifications.

$\textstyle \parbox{4in}{
{\tt Filled} [{\tt y}[...]]\\
{\tt Filled} {\tt n}[...] [{\tt o, f, c}]\\
{\tt Filled} {\it bit\_data\/} [{\tt o, f, c}]
}$
This keyword sets the fill and outline style used to render objects on the layer. The tokens (other than bit_data) can be words starting with the indicated letters, or or just the letters themselves, e.g., ``n'', ``no'', and ``none'', are equivalent. This is case-insensitive.

If no tokens follow the keyword, or the first token starts with `y', solid fill will be used. Additional tokens on the line will be ignored.

If the first token starts with `n', no fill pattern (empty fill) will be used. In this case, there are three outline styles available:

  1. A thin solid line boundary.
  2. A thin dashed line boundary.
  3. A thick solid line boundary for Manhattan boxes and polygons, and a thin solid line boundary for other objects.

There is also the ``cut'' attribute, where diagonal lines are drawn over boxes, forming an X. This applies to boxes only, not wires or polygons, even though they may be rendered as four-sided rectangular figures.

Any text that follows the word that started with `n' is examined for the presence of the characters `o', `f', and `c'. These can be found as individual letters or parts of words, for example ``outline cut'' and ``oc'' and ``o c'' are all equivalent. In addition, this is all case-insensitive.

If neither `o' or `f' is found, a thin solid outline (style 1) is used. If `o' is found but not `f', a thin dashed line (style 2) is used. If `f' is found, with or without `o', then a thick solid line is used for edge segments of Manhattan objects, and a thin solid line is used for non-Manhattan objects (style 3).

In any case, if `c' is found, the ``cut'' attribute is applied. If `o' is also found buf not `f', the diagonals are shown as dashed lines, the same as the boundary. Otherwise, the diagonals are always thin solid lines.

The form on the third line is used to specify a stipple pattern to use for fill. Xic supports any stipple map size with the x and y dimensions in the range of 2-32. However, Xic releases prior to 3.2.25 supported only 8x8, 8x16, 16x8, and 16x16 maps. The format described here is generally not backwards compatible with these releases.

Maps can be read as hex numbers, or as ASCII tokens, but not in the same line. When Xic writes a technology file, the default is to use the ASCII token format, which actually renders the map in a crude way. This format is best illustrated by an example:

    Filled \
      |   ..   |  (0x18) \
      |  ....  |  (0x3c) \
      | ...... |  (0x7e) \
      |...  ...|  (0xe7) \
      |...  ...|  (0xe7) \
      | ...... |  (0x7e) \
      |  ....  |  (0x3c) \
      |   ..   |  (0x18) outline

The points to note here are the following.

  1. Line continuation is used so that the map is visible to a human reader. This is not required in general.

  2. Each line of the map contains space and non-space characters, surrounded by '|' characters. Although a period is used here, any non-space printing character will work.

  3. Each of these must contain the same number of characters, this number being in the range 2-32. This sets the width of the map.

  4. The number of these constructs found in the line sets the height of the map. This must be in the range 2-32.

  5. The map data parser ignores anything enclosed in parentheses. Above, the equivalent hex number for the data pattern is provided, but is ignored by the parser.

An equivalent form using hex data is

[x=width] [y=height] hex_number hex_number ...

The width and height are decimal numbers in the range 2-32. The number of hex digits that follow must match the height.

The width and height specifications can be omitted, in which case the format reverts to the pre-3.2.25 expectation. The hex numbers must be one of

Additional text on the line is examined for the `o', `f', and `c' characters as described above for the no-fill case. With a fill pattern, the interpretation is slightly different, as there is no dashed line outline available in this case. If neither `o' or `f' appear, the pattern will not be outlined. If `o' appears without `f', a thin solid outline will be used. If `f' appears, edges of boxes and Manhattan polygons will be thick. The `c' will draw diagonals on boxes. For historical reasons, the character `y' is treated the same as `o'.

If the boolean variable TechNoPrintPatMap is set when Xic writes a technology file, then the hex form will be used to specify fill patterns. Otherwise, the ASCII form is used.

Here are a few more example fill specifications:

Filled y
Filled no fat
Filled cc aa cc aa cc aa cc aa outline

In electrical mode, the SCED layer defaults to solid fill, and other layers default to empty fill with a thin outline. All layers default to empty fill with a thin outline in physical mode. The Filled keyword is allowed in the mini-layer blocks found in the print driver specifications.

Invisible [y| n]
If this keyword appears, and the following argument indicates true, the layer will not be visible, though it will appear in the layer table, where the visibility status can be changed.

The Invisible keyword is allowed in the mini-layer blocks found in the print driver specifications. This is the only place where use of the y| n argument may be needed, in particular if Invisible is specified in the main layer block, Invisible n may be used in the driver block to make the layer visible in print driver output.

Blink [y| n]
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

NoInstView [y| n]
If this keyword appears, and any following argument indicates true, objects on the layer will not be shown in electrical instances of the containing cell. However they will appear when the cell is the current cell. This is ignored in physical node.

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

CrossThick thickness
This keyword, which can be applied to physical layers only, sets the layer thickness as rendered in the Cross Section command in the View Menu. The thickness is given in microns.


next up previous contents index
Next: Technology File Layer Block Up: Technology File Layer Blocks Previous: Technology File Layer Block   Contents   Index
Stephen R. Whiteley 2024-09-29