next up previous contents index
Next: Convert Menu Up: Xic Variables Previous: Convert Menu   Contents   Index

Convert Menu -- Input and ASCII Output

The !set variables below affect the format conversion when importing data from a file. Many of these variables have counterpart controls in the Import Control panel from the Convert Menu. The functionality also applies in many cases when input is being read in the Open command and similar.

The following table identifies where the variables in this section are set, if settable from the graphical interface, and specifies the scope of the variables.

Variable Set From Notes
ChdLoadTopOnly Import Control 5
ChdRandomGzip   6
AutoRename Import Control 1
NoCreateLayer Import Control 1
NoAskOverwrite Import Control 1
NoOverwritePhys Import Control 1
NoOverwriteElec Import Control 1
MergeInput Import Control 1
NoPolyCheck Import Control 1
DupCheckMode Import Control 1
EvalOaPCells Import Control 1
NoEvalNativePCells Import Control 1
NoCheckEmpties Import Control 1
NoReadLabels Import Control 1
LayerList layer change module 2
UseLayerList layer change module 2
LayerAlias layer change module 2
UseLayerAlias layer change module 2
InToLower cell name mapping module 3
InToUpper cell name mapping module 3
InUseAlias cell name mapping module 3
InCellNamePrefix cell name mapping module 3
InCellNameSuffix cell name mapping module 3
NoMapDatatypes Import Control 1
CifLayerMode Import Control 1
OasReadNoChecksum   1
OasPrintNoWrap Format Conversion, ASCII Text page 4
OasPrintOffset Format Conversion, ASCII Text page 4

Notes:

  1. These variables apply whenever a layout file is being read, in any mode.

  2. These variables apply to actions initiated from any panel containing the layer filtering/aliasing module, and to the following script functions:
    OpenCell
    FromArchive
    OpenCellHierDigest
    ChdEdit
    ChdOpenFlat
    ChdWrite
    ChdWriteSplit
    ChdLoadGeometry

  3. These variables apply to actions initiated from any panel containing the Cell Name Mapping control group, and to the following script functions:
    OpenCell
    FromArchive
    OpenCellHierDigest

  4. These variables apply only when writing ASCII text from OASIS input.

  5. These variables apply when reading cells into main memory from a Cell Hierarchy Digest.

  6. These variables apply when reading gzipped GDSII or CGX files through a Cell Hierarchy Digest.

ChdLoadTopOnly
Value: boolean.
When set, when reading cells into the main database from a Cell Hierarchy Digest (CHD), only the requested cell is actually read. Any subcells of the cell become reference cells in the main database. This allows editing of the requested cell, and when written to disk the complete hierarchy will appear, however loading the whole hierarchy into memory is avoided.

This variable tracks the state of the Load top cell only check box in the Cell Hierarchy Digests panel.

ChdRandomGzip
Value: boolean or 0-255.
This variable enables use of a random-access mapping capability for Cell Hierarchy Digest (CHD) accesses to gzipped GDSII and CGX files. This will speed up CHD operations that must seek randomly in the input file.

CHDs created while this variable is set will include the mapping structure if the input file is gzipped. The mapping structure provides access points to data within the file, spaced by default by about 1Mb of uncompressed data. The map requires about 32Kb per access point. When seeking in the file, one can jump to the closest earlier access point, and read to the desired offset. Without the mapping, one can only read forward from the current location to the desired location, or rewind to the beginning and read to the desired location.

The integer is the number of Mb between access points. If 0, it is as if the variable is not set. Setting as a boolean, i.e., to no value, is equivalent to setting to 1.

AutoRename
Value: boolean.
When set, when reading archive files and a cell is encountered with the same name as a cell already in memory, the new cell name is automatically changed to avoid a clash. Thus, the Merge Control pop-up never appears when this variable is set. The new name has an added suffix ``$N'' where N is an integer. When this is set, the alias file (if enabled) is never updated. A warning is added to the log file when a cell name is changed. This is part of a more general cell name mapping capability (see 14.2). This variable is set when the Auto Rename entry is selected in the Default when new cells conflict menu in the Setup page of the Import Control panel from the Convert Menu.

NoCreateLayer
Value: boolean.
When set, when reading an input layout file and a layer is found that can't be mapped to the existing Xic layers, the read will be aborted. The behavior otherwise is to create new layers as needed.

This variable tracks the state of the Don't create new layers when reading, abort instead check box in the Setup page of the Import Control panel from the Convert menu.

NoMapDatatypes
Value: boolean.
This variable affects only the creation of new layers when a GDSII or OASIS file is read. The default behavior is to create a separate new Xic layer for each GDSII layer/datatype encountered that is not mapped in the technology file. With the variable set, all datatypes on the new GDSII layer are mapped to the same (new) Xic layer. This variable tracks the state of the Map all unmapped GDSII datatypes to same Xic layer check box in the Setup page of the Import Control panel from the Convert Menu.

NoAskOverwrite
Value: boolean.
If a disk file is opened which contains a cell with the same name as one already in memory, and AutoRename is not set, the default behavior is to produce a Merge Control pop-up which gives the user control over how to proceed. If this variable is set, then the pop-up will not appear, and the default action will be taken. The default action can be specified with the NoOverwritePhys and NoOverwriteElec variables. This variable tracks the state of the Don't prompt for overwrite instructions check box in the Setup page of the Import Control panel from the Convert menu.

$\textstyle \parbox{4in}{
{\sf NoOverwritePhys}\\
{\sf NoOverwriteElec}}$
Value: boolean.
These control the default behavior when a cell from a file being read conflicts with the name of a cell already in memory. The default behavior is for the cell from the file to overwrite the cell in memory. If NoOverwritePhys is set, the physical part of the cell in memory will not be overwritten, and the physical part of the cell in the file will be ignored. Similarly, if NoOverwriteElec is set, the electrical part of the cell in memory will be preserved, and the electrical part of the cell from the file will be ignored. This variable is set according to the choice in the Default when new cells conflict menu in the Setup page of the Import Control panel from the Convert Menu.

NoOverwriteLibCells
Value: boolean.
By default, existing cells in memory can be overwritten if a cell of the same name is read when opening cells from an archive file, if the overwriting mode is enabled. Setting this variable will prevent existing cells that were opened through the library mechanism (and thus has the LIBRARY flag set) from being overwritten.

The No Overwrite Lib Cells button in the Libraries Listing pop-up tracks the state of this variable.

NoCheckEmpties
Value: boolean.
When set, there is no checking for empty cells as an input file is being read, and the pop-up that normally appears when a file is opened for editing if there are empty cells in the hierarchy is suppressed. An ``empty cell'' as listed is a cell that is either absent or has no content in both electrical and physical modes. It is possible to check for empty cells at any time with the !empties command. This variable tracks the setting of the Skip testing for empty cells check box in the Setup page of the Import Control panel from the Convert Menu.

NoPolyCheck
Value: boolean.
When this boolean variable is set, the tests for problematic conditions such as self-overlap, normally applied to polygons, is skipped. The default behavior is to check each polygon for potentially troublesome geometry specification while the polygon is being created. If a layout is known to have only ``good'' polygons, then turning off this test may slightly reduce reading time.

This variable tracks the setting of the Skip testing for badly formed polygons check box in the Setup page of the Import Control panel from the Convert Menu.

DupCheckMode
Value: boolean or string.
When reading layout data and identical objects or subcells are found at the same location, the default action is to issue a warning message and read the duplicates into the database. This variable can be set to alter the default behavior. If set to a word starting with `r' (case insensitive), the duplicate objects or subcells will not be brought into the database. As duplicates are almost always layout errors, it makes sense to filter them, though they generally cause no harm. If this variable is set to a word starting with `w', only a warning will be issued, exactly as if the variable were not set. If set to anything else, including an empty string (i.e., set as a boolean), testing for duplicates is disabled. This may very slightly reduce the time to read in a file.

This variable tracks the setting of the Duplicate item handling menu in the Setup page of the Import Control panel from the Convert Menu.

EvalOaPCells
Value: boolean.
When a non-native pcell placement is encountered when reading file input, the default behavior is to not attempt to evaluate the pcell, and assume that the sub-master has been exported. Generally, evaluation of a Skill-based pcell will fail, unless Virtuoso is accessible and the pcell caching has been turned on and is up to date.

If this variable is set, Xic will attempt to evaluate foreign pcell placements, which is necessary if the sub-masters have not been supplied by another means. The OpenAccess library that supplies the super-master must be open.

If sub-masters are available, it is faster to use them rather than to evaluate the scripts and recreate the sub-master.

This variable tracks the status of the PCell evaluation: Eval OpenAccess check box in the Setup page of the Import Control panel from the Convert Menu.

NoEvalNativePCells
Value: boolean.
When a native pcell placement is encountered when reading file input, the default behavior is to attempt to locate the super-master and evaluate the script, generating the sub-master. It is assumed therefor that the super-master is available. If the sub-masters have been included in the archive or otherwise made available, then this variable should be set. Otherwise, the super-masters must be available.

This variable tracks the status of the PCell evaluation: Don't eval native check box in the Setup page of the Import Control panel from the Convert Menu.

MergeInput
Value: boolean.
When this variable is set, and a layout file is being read into the database, boxes on the same layer are merged together, if possible, as files are being read in. Overlapping boxes are clipped and/or merged, so that in the database no boxes will overlap.

Merging will not occur on a layer with the NoMerge technology file keyword applied.

This variable tracks the setting of the Clip and merge overlapping boxes check box in the Setup page of the Import Control panel from the Convert Menu.

LayerList
Value: string.
This can be set to a space-separated list of layer names (see 14.4). These layers can be used for filtering when an archive file is being read or translated. Each name should be in a format which will match a layer in the file type being processed, with wildcarding allowed. This variable is part of the layer mapping and filtering capability, as used in the Import Control and Format Conversion panels, and tracks the entry area. Actual utilization of the layer list is controlled by the UseLayerList variable.

UseLayerList
Value: boolean or string.
This variable determines how and if the LayerList string is used when input is being read from an archive file. This variable is part of the layer mapping and filtering capability, as used in the Import Control and Format Conversion panels, and tracks the check boxes.

If UseLayerList in not set, the LayerList is ignored, and any layer found in the input file will be read or converted. If UseLayerList is set to a word starting with `n' or `N', layers that are listed in the LayerList will not be converted. If UseLayerList is set to a anything else (including no value) only the layers listed in the LayerList will be converted.

LayerAlias
Value: string.
This variable can be set to a string consisting of space-separated name=value pairs, where name is an existing layer name and value is a layer name to which name will be mapped during conversions, if UseLayerAlias is set.

This variable can be set from the Layer Aliases editor, which is available from pop-ups that control operations where layer filtering and modification is available, as in the Import Control and Format Conversion panels. The variable can also be set using script functions.

UseLayerAlias
Value: boolean.
When this variable is set, when reading an archive or native file and layer aliasing is available, layers encountered are aliased according to entries in the LayerAlias variable.

Aliasing occurs on reading only, after the LayerList is processed, if this feature is used. Thus, a LayerList used for reading should contain the unaliased layer names. Layer aliasing applies to physical data only, under conditions equivalent to those listed for UseLayerList. This variable is part of the layer mapping and filtering capability, and tracks the Use Layer Aliases check box, as in the Import Control and Format Conversion panels.

InToLower
Value: boolean.
When set, cell names found in archive files being read that are entirely upper case will be mapped to lower case. A name that is mixed-case will not be changed. This mapping occurs for names which are not aliased in an enabled alias file. This is part of a more general cell name mapping facility (see 14.2), available in the Import Control panel and elsewhere.

InToUpper
Value: boolean.
When set, cell names found in archive files being read that are entirely lower case will be mapped to upper case. A name that is mixed-case will not be changed. This mapping occurs for names which are not aliased in an enabled alias file. This is part of a more general cell name mapping facility (see 14.2), available in the Import Control panel and elsewhere.

InUseAlias
Value: boolean or string.
This variable enables utilization of the alias file (see 14.3) when reading from an archive file. If simply set as a boolean, i.e., to no value, the alias file will be read before the operation, and created or updated if necessary after the operation. If the variable is set to a word starting with `r' (case insensitive), then the alias file will be read before the operation and used during the operation (if it exists), but will not be created or updated after the operation. If the variable is set to a word starting with `w' or `s' (case insensitive), the alias file will not be read before an operation, but will be created or updated after the operation completes. This is part of a more general cell name mapping facility (see 14.2), available in the Import Control panel and elsewhere.

InCellNamePrefix, InCellNameSuffix
Value: string.
These variables are most simply set to a text token that is added to the beginning or end of cell name strings as archive files are being read. Modifications will not be made to cell names found in an enabled alias file. The strings can also be given in the form
/str/sub/
where str and sub are text tokens, separated by forward slash characters as shown. In this case if the characters at the beginning/end of the cell name (for prefix/suffix) match the str, they are replaced by sub. This is the same action as is used in the !rename command. The string token must match exactly -- there is no wildcarding. Either the prefix or suffix, or both, can be defined. The suffix substitution occurs after the prefix substitution. Either can match the whole cell name if one wants to change the name of a single cell. This is part of a more general cell name mapping facility (see 14.2), available in the Import Control panel and elsewhere.

CifLayerMode
Value: integer 0-2.
This variable determines how Xic interprets layer directives while reading CIF files. This is the same as the How to resolve CIF layers menu in the Import Control panel. Setting to 0 is the default Try Both option, 1 is the By Name option, and 2 is the By Index option.

OasReadNoChecksum
Value: boolean.
When set, the reader will ignore a checksum found in the OASIS file, if any. When not set, if a checksum is found, it will be compared with a computed checksum, using the method (CRC or summation) indicated in the file, and the conversion will fail if the checksums are not equal.

OasPrintNoWrap
Value: boolean.
This applies when converting OASIS input to ASCII text. When set, the text output for a single record will occupy one (arbitrarily long) line. When not set, lines are broken and continued with indentation.

This variable has a corresponding check box in the ASCII Text output format page of the Format Conversion panel.

OasPrintOffset
Value: boolean.
This applies when converting OASIS input to ASCII text. When set, the first token for each record output gives the offset in the file or containing CBLOCK. When not set, file offsets are not printed.

This variable has a corresponding check box in the ASCII Text output format page of the Format Conversion panel.


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