Next: Batch Mode
 Up: Using Xic
 Previous: Generating Output and Running
     Contents 
     Index 
Xic provides several methods by which collections of cells can be
organized.
- Xic makes use of a search path for file names given to Xic
    which do not have a directory path prepended.  A search path is a
    list of directories where Xic searches for a named file.  If
    the file name contains a full path, that path will be used to
    obtain the file.  If a file name has a relative path, Xic will
    look for the file relative to each of the directories in the
    search path.  The search path can be set in the technology file,
    or by setting the Path variable with the !set command. 
    The current path can be examined by entering ``!set'', which
    pops up a list of the currently defined variables, including     Path.  The directories are searched in left-to-right order.
 
- Xic accepts library files.  These are text-mode files which
    contain references to cells and other libraries, and may contain
    cell definitions.  If a library file is ``open'', cell names
    referenced or defined in the library will be resolved through the
    library, before resolving through the search path.  The name of a
    cell reference in a library is the name by which the cell will be
    added to Xic memory, which can be different from the name by
    which the cell is stored on disk.  The fact that a library can
    reference other libraries allows a hierarchy to be established for
    accessing cells, independent of the search path.
The Libraries List button in the File Menu brings up a
    panel which lists the currently open libraries, and provides
    command buttons for performing basic manipulations on libraries,
    including opening/closing, viewing content, and opening cells.
 
- Cells contained in archive files can be randomly accessed from
    the file, thus these files can be used for archival purposes.  The
    Contents button in the panel brought up by the Files
    List button in the Files Menu will display the cells
    contained in these files.  The Contents button will also
    list the contents of library files.  Individual cells (and their
    subcells) can be opened for editing or placement through this
    panel.  Also, when giving a name to the Open command, or the
    place command in the side menu, one can give two names:  the
    name of an archive file and a space-separated name of a cell in
    the archive.  That cell will be opened.  If the cell name is not
    given, the top-level cell in the archive is opened.  
 
The strategy used to organize cells is highly dependent upon the
user's needs and preferences.  Below are some recommendations which
are probably suitable for most applications.
- Keep the search path short.  This can usually consist of two
    directories:  the current directory (``.'') listed first, and a
    root directory for the user's design files.  The search path is
    most conveniently defined in the technology file, with the     Path keyword.  The search path has the disadvantage that all
    components are visible at all times.  If a cell name appears more
    than once in the search path, only the first instance will be
    found, unless the full path is given.  Libraries, on the other
    hand, can be opened and closed easily, changing the accessibility
    of the contents.
 
- Use hierarchies of libraries rooted in the search path to
    organize cells.  One can open only the libraries in use,
    preventing loading of cells unexpectedly.
 
- Place collections of cells to be referenced through libraries
    in separate directories not in the search path.  Alternatively,
    the Xic cell definitions can be incorporated directly into the
    library file.  The cells can otherwise be kept as individual cells
    of any compatible format, or combined into a single archive file.
 
Library files have a simple format which allows the user to easily
create and customize them with a text editor.  There is a !mklib
command in Xic which can create a new library or append to an
existing library references to cells in the current editing hierarchy
or cells in a given archive file.
If one clicks on a reference in a library content listing which points
to another library, without a resolving ``cellname'', a second
content window appears providing a listing of the second library's
references.  Thus, when constructing library files, one should use an
easily recognizable name for browsable references to other libraries. 
This is natural, if the file name is used as the reference name, and
the filename has a ``.lib'' extension as is recommended.
 
 
 
 
 
 Next: Batch Mode
 Up: Using Xic
 Previous: Generating Output and Running
     Contents 
     Index 
Stephen R. Whiteley
2025-02-09