next up previous contents index
Next: SPICE Interface Up: Xic Variables Previous: Selections   Contents   Index


Side Menu Commands

The following !set variables affect the functioning of commands found in the side menu.

MasterMenuLength
Value: integer 1-75.
This integer variable sets the length of the list of master cells retained in the Cell Placement Control panel. The default is 25, which may not be fully visible for some screen resolutions.

This tracks the setting of the Maximum menu length entry in the Cell Placement Control panel from the side menu.

DevMenuStyle
Value: integer 0-2.
This variable tracks and sets the presentation style of the device menu (described in 7.5) which is used in electrical mode. There are three styles, selected by giving this property a value of 0, 1, or 2. The default menu, style 0, contains a menu bar with entries for categories, such as Sources and Terminals. Style 1 is similar, however the entries are alphabetic corresponding to the first letter of the device name. Style 2 provides buttons marked with the device schematic symbol. This style occupies the most screen space, but may be more convenient for new users.

LabelDefHeight
Value: real 0.01 - 10.0.
This sets the minimum label height, in microns, for new text labels. The actual initial height may be larger, depending on the zoom factor of the window, but it can not be smaller. The default if this variable is not set is 1.0 micron.

This variable was named DefLabelHeight in releases prior to 4.2.14.

This variable tracks the Default minimum label height entry area in the Labels page of the Window Attributes panel from the Set Attributes button in the Attributes Menu.

LabelMaxLen
Value: integer >= 6.
This variable sets the maximum width, in default-sized character cells, of a displayed label. If the label exceeds this width, it is not shown, and a small box at the text origin is shown instead. The default is 256, so this is unlikely to be triggered unless the user resets the value.

The ``hidden'' status of a label can be toggled by clicking the text or box with button 1 with the Shift key held. See 7.9 for more information.

This variable was named MaxLabelLen in releases prior to 4.2.14.

This variable tracks the Maximum displayed label length entry area in the Labels page of the Window Attributes panel from the Set Attributes button in the Attributes Menu.

LabelMaxLines
Value: integer >= 0.
Label text strings may have embedded newline characters which cause them to be displayed on multiple lines. This variable, when set to a positive integer value, provides a limit on the number of lines that are actually displayed, in labels that respect this limit. Only the first N lines would actually appear in the display, where N is given in this property. If N is zero, there is no limit.

Labels observe this limit only if an internal flag is set in the label. Presently, this is set internally for the labels associated with value and param properties. The user can apply the limit to any label by setting the LIML flag in the XprpXform pseudo-property.

This variable was named MaxLabelLines in releases prior to 4.2.14.

This variable tracks the state of the Label optional displayed line limit numerical entry in the Labels page of the Window Attributes panel from the Set Attributes button in the Attributes Menu.

LabelHiddenMode
Value: integer 0-3.
By default, all labels participate in a protocol whereby clicking on the label with the Shift key held will ``hide'' the label, displaying a small box instead. Shift-clicking on the box will return to the display of the label text. This variable limits the labels which will participate in this protocol.

0 All labels, the default, same as if not set.
1 Only electrical-mode labels.
2 Only electrical-mode bound property labels.
3 No labels.

This variable was named HiddenLabelMode in releases prior to 4.2.14.

This variable tracks the state of the Hidden label scope option menu in the Labels page of the Window Attributes panel from the Set Attributes button in the Attributes Menu.

In the 3.2 branch of Xic and earlier, the default was effectively 2.

LogoEndStyle
Value: integer 0-2.
This sets the path end style used to render vector text in the logo command. The variable should be set to 0 for flush ends, 1 for rounded ends or 2 for extended ends. If unset, extended ends are used. This variable tracks the setting in the Logo Font Setup panel in the logo command.

LogoPathWidth
Value: integer 1-5.
This sets the relative path width used for rendering with the vector font in the logo command. The variable should be set to an integer 1-5, where 1 represents the smallest width, and increasing values makes the rendering appear increasingly bold. This variable tracks the setting in the Logo Font Setup panel in the logo command. If not set, a value of 3 is assumed.

LogoAltFont
Value: integer 0-1.
When set to 0 (zero), the logo command will use an internal bitmap font, and characters will be rendered as Manhattan polygons. When set to 1, the logo command will use the system font named in the LogoPrettyFont variable, or a default if this is not set. Characters are rendered as Manhattan polygons derived from the font bitmaps. When unset, or the value is not recognized, the logo command will use the vector font, for rendering using wires. The status of this variable tracks the check boxes in the Logo Font Setup panel of the logo command.

LogoPrettyFont
Value: font name string.
This variable sets the name of the ``pretty'' font to be used for text rendering in the logo command. It is set by the font selection panel produced from the Select Pretty Font button in the Logo Font Setup panel in the logo command.

Under Unix/Linux, in GTK1 releases this variable can be set to the X font description name of an X font. In GTK2 releases, a Pango font description string is expected. Under Windows, the variable is set to a string in the form ``face_name pixel_height'' or the deprecated form ``(pixel_height)face_name''. Examples are ``Lucida Console 24'' or ``(24)Lucida Console'', which is the default font.

LogoPixelSize
Value: positive real number < = 100.0.
When this variable is set to a value, it represents the size in microns of a ``pixel'' used in the logo command for new labels and images. With the variable defined, the ``pixel'' size is fixed, and can not be changed with the arrow keys from the logo command. This variable is set from and tracks the Define ``pixel'' size check box and text entry area in the Logo Font Setup panel.

LogoToFile
Value: boolean.
If this variable is set, physical text created with the logo command will be placed in a cell, which is instantiated at the label locations. A native cell file containing the cell is written in the current directory. If unset, the physical text is placed directly in the current cell. The variable tracks the state of the check box in the Logo Font Setup panel.

NoConstrainRound
Value: boolean.
When this boolean is set, there is no checking for minimum feature size of round objects as these objects are being created (they will still be tested when completed if interactive DRC is enabled).

RoundFlashSides
Value: integer 8-256, default 32.
This variable sets the number of sides per 360 degrees to use in round objects in physical mode, as created with the round, donut and arc side menu buttons, and corresponding script functions. It can be set from the sides button in the physical side menu.

ElecRoundFlashSides
Value: integer 8-256, default 32.
This variable sets the number of sides per 360 degrees to use in round objects in electrical mode, as created with the arc button in the menu produced by the shapes button in the electrical side menu. It can be set from the sides button in the same menu.

SpotSize
Value: real 0-1.0.
When an e-beam mask is written, the layout is rendered using a certain pixel size. This implies a mask resolution, usually cited as the ``manufacturing grid'' or ``spot size''. This size may range from 0.5 microns for the least expensive masks, down to a few nanometers for the most expensive.

Xic has two parameters which deal directly with mask resolution. The MfgGrid set in the technology file will force the grid snap points to be multiples of the value given. The SpotSize variable controls use of a numerical preconditioner for tiny round objects. The preconditioning should cause the pixel area to be constant with respect to positioning and rotation. This is valuable to researchers fabricating circular Josephson junctions using inexpensive mask sets (for example).

In ``rasterizing'' round objects to the e-beam grid, there can be numerical problems. Since the round object is rendered as a collection of spot-pixels, the feature is not particularly round, but most importantly the number of pixels used may not be well defined, and therefor the figure area may not be as expected, or consistent.

The internal spot size is used when creating round (disk) objects and donuts, but not arc objects or general polygons. It applies to the round and donut buttons in the side menu, and the corresponding script functions, but does not apply to the arc button or general polygons. The internal spot size is also used as the default value for the !tospot command.

If the SpotSize variable is given a non-negative value, this value is used as the internal spot size. The value is in microns, and 1.0 micron is the largest accepted value. If this is zero, then no preconditioning is applied. If the SpotSize variable is unset, the internal spot size will default to the MfgGrid given in the technology file. Thus, when a manufacturing grid is given, the default is to use preconditioning when creating round objects. This can be suppressed by setting SpotSize to zero. Other than this, there probably is no reason to set the SpotSize variable, since it should match the MfgGrid>, unless the user has special requirements.

When the internal spot size has a positive value, objects created with the round and donut buttons will be created so that all vertices are placed at the center of a spot (i.e., in the center of a manufacturing grid cell), and a minimum number of vertices will be used. The sides number is ignored. This applies only to figures with minimum radius 50 spots or smaller; the regular algorithm is used otherwise. An object with this preconditioning applied should translate exactly to the e-beam grid. The figures are symmetric with regard to rotations in multiples of 45 degrees.


next up previous contents index
Next: SPICE Interface Up: Xic Variables Previous: Selections   Contents   Index
Stephen R. Whiteley 2022-05-28