Next: The !sced2xic Command: Convert
Up: Conversions
Previous: Conversions
Contents
Index
The !assemble Command: Merge Archives
Syntax: !assemble specfile
This command implements a feature whereby several archives can be
merged into a larger archive, on-the-fly so as to avoid memory
limitations. The output consists of a definition of a top-level cell,
containing instances of cells found in the archives, plus the
translated records from the archive files. The input and output can
be any of the supported archive formats, in any combination. The
operation is controlled by a specification file which supplies the
file names and the description of the top-level cell. It is a simple
text file, prepared by the user, containing a number of keywords with
values. The format is illustrated below.
Only physical data are translated, electrical data will be stripped.
A log file s produced when the !assemble command is run. This
is named ``assemble.log'' and is written in the current
directory.
The file used for output must have a recognized extension that
corresponds to the file type. These are:
CGX |
.cgx |
CIF |
.cif |
GDSII |
.gds, .str, .strm, .stream |
OASIS |
.oas |
Only these extensions are recognized, however CGX and GDSII allow an
additional .gz which will imply compression. Input file types
are recognized by content, so there is no name requirement.
Below is a description of a specification file. Blank lines are
ignored, comment lines begin with the `#' character. Each
active line begins with a keyword, from the list below. Keywords are
case-insensitive.
- OutFile out_file_name
This is mandatory, and provides the name of the output file.
- TopCell cellname
Optional top-level cell added for placing subcells found in archives.
- Source filename
Name of a source file, of which there must be one or more. This
starts a block of lines that apply to that source. For best (or
sometimes even acceptable) performance, the input file should not be compressed if any Place lines (see below) are
associated.
The following are the ``source options''. If these appear ahead of
the first Source line, then they set defaults that apply to all
source blocks. If they appear following a Source line, they
apply to that source only and override any defaults.
- OnlyLayers [list_of_layer_names]
Use only the layers listed. If no list_of_layer_names is
found, the list that applies is taken from the list provided by any of
OnlyLayers, SkipLayers, or LayerList currently in
scope.
- SkipLayers [list_of_layer_names]
Skip the layers in the list. If no list_of_layer_names is
found, the list that applies is taken from the list provided by any of
OnlyLayers, SkipLayers, or LayerList currently in
scope.
- LayerList list_of_layer_names
Set the list of layers to be used with OnlyLayers or SkipLayers. This is implied when a list_of_layer_names is
provided with these keywords.
- LayerAliases name1=alias1
name2=alias2 ...
List of layer aliases to apply.
- ConvertScale scale_factor
Scaling to apply, 0.001 through 1000.0.
- ToLower
Flag to indicate conversion of upper case cell names to lower case.
- ToUpper
Flag to indicate conversion of lower case cell names to upper case.
- CellNamePrefix prefix_string
Cell name change prefix. This operation occurs after case conversion.
The prefix_string is interpreted in the manner of the InCellNamePrefix variable.
- CellNameSuffix suffix_string
Cell name change suffix. This operation occurs after case conversion.
The suffix_string is interpreted in the manner of the InCellNameSuffix variable.
This concludes the source options.
- Place cellname [placement_name]
Each source block can have zero or more instance blocks. An instance
block starts with a Place line as shown. The hierarchy under
cellname, which must name a cell in the source file, will be
extracted and added to the TopCell, if given, or streamed if
not. The placement_name, if given, will replace cellname
in output. In either case, any cell name alteration will be applied.
The actual names used in output will be internally altered if
necessary so that each output cell name is unique, by adding ``$N'', where N is an integer. If a block matches a
previous block except for the transformation parameters (Translate, Rotate, Magnify, Reflect), then if a
TopCell was given, an instance will be added with the new
transform. If no TopCell, there would be no addition to output.
- PlaceTop [placement_name]
The PlaceTop line is equivalent to a Place line, except
that it will automatically select the first top-level cell found in
the source. It is equivalent to the Place line with the name
of this cell as the first argument. This is convenient when the cell
name is unknown.
The following are the ``instance options''. If these appear ahead of
the first Source line, the option sets a default which is
applied to all instances in all source blocks. If these appear after
a Source line but ahead of the first Place line in the
block, the option sets a default which applies to all instances in the
source block, overriding any defaults. If these appear following a
Place line, the option applies to that instance only and
overrides all defaults. These will be ignored in source blocks that
contain no instances.
- Translate x y
Specify the translation coordinates. If not given, default is 0,0.
- Rotate angle
Specify a rotation angle, must be a multiple of 45 degrees. If not
given, default is no rotation.
- Magnify magn
Specify a magnification. If not given, default is 1.0.
- Reflect
Apply mirror-Y transformation (before rotation, if any).
- NoEmpties
If given, empty subcells under cellname will not be written to
output. Layer filtering will often produce empty cells.
- Flatten
If given, all geometry under the cell being placed will be written
as part of the cell being placed, i.e., the cell hierarchy will be
flattened.
- Window left bottom right top
If given, only the subcells and objects needed to describe the given
area in the cell being placed will be written. The coordinates apply
to cellname before any scaling is applied, and are given in
microns.
- Clip
If Window was given, this will cause geometry to be clipped to
the window.
Next: The !sced2xic Command: Convert
Up: Conversions
Previous: Conversions
Contents
Index
Stephen R. Whiteley
2006-10-23