The FileTool can take a list of arguments which correspond logically to the keywords of an assembly specification script. The argument list begins after any -set variables present.
This automates reading of cells from archives, subsequent processing, and writing to a new archive file. It provides the capabilities of the Conversion panel in the Convert Menu in Xic, such as format translation, windowing, and flattening. Additionally, multiple input files and cells can be processed and merged into a larger archive, on-the-fly or by using a Cell Hierarchy Digest (CHD) so as to avoid memory limitations. Cell definitions for the read and possibly modified cells are streamed into the output file, and the output file can contain a new top-level cell in which the cells read are instantiated. The input and output can be any of the supported archive formats (CGX, CIF, GDSII, OASIS), in any combination.
The same operations can be controlled by a specification script file, the path to which is given as the argument following ``-eval''. The script uses a language which will be described. This supplies the output file name and the description of the top-level cell (if any), the files to be used as input, the cells to extract from these files, and the operations to perform. It is a simple text file, prepared by the user, containing a number of keywords with values. The specification script can also be obtained from the Assemble command in the Convert Menu, which is a graphical front-end to the !assemble command in Xic.
Alternatively, the argument list can consist of a series of option tokens and values. These are logically almost equivalent to the language of the specification file. This gives the user the option to enter job descriptions entirely from the command line. These command-line options start with a `-' character.
Only physical data are read, electrical data will be stripped in output. A log file is produced when the command is run. If not specified with a LogFile/-log directive, ``filetool.log'' and is written in the current directory. The log file contains warning and error messages emitted by the readers during file processing, and should be consulted if a problem occurs.
The details of the file format and corresponding command line options are provided in the description of the !assemble command.