There is a large number of arguments that can be applied to set various modes and provide further input. These arguments must be given as separate tokens, and all start with a `-' symbol. The following options apply to all comparison modes.
For backward compatibility, the ``-f1'' and ``-f2'' are optional. If otherwise unassociated strings appear in the command line, the first will be taken as if given with -f1, the second (if any) will be taken as if given with -f2.
If a layout file name is given as a source, a temporary CHD will be created in memory and destroyed on command exit. Thus for repeated comparisons using the same file, it is more efficient to create the CHD first, and pass its name to this command.
The actual list of cells to compare is generated by logic to be described. The left source is taken as the ``reference'' for cell list creation.
In many cases, there is only one list of cells to compare (given in -c1), and each cell is sought in both sources. If a cell is found in one source and not the other, this will appear in the log file, but is not considered to be an error.
If a -c2 ``equivalence'' list is given, there must be exactly the same number of entries as given in the -c1 list. The cells in the two lists will be compared term-by-term, in order. This is how one can compare cells with differing names. In all other cases, the -c2 list should not appear. It is an error if -c2 is given without -c1, or the list lengths differ. However, the -c2 list is ignored if in a per-cell comparison mode and the -h (recurse) option is given.
The interpretation of a non-existing -c1 list depends on the comparison mode. If in flat comparison mode, or in a per-cell mode and the -h (recurse) option is given, then the effective cell list contains only the default cell from the left source. If this was a CHD name, the default cell is the one configured into the CHD, or the first top-level cell found in the source file. In the other cases, a missing -c1 list is interpreted as all cells found in the left source.
In the special case that neither a left or right source is specified, then the -c1 and -c2 lists can not be empty, and the names are cells in memory to compare.
In the per-cell modes with -h (recurse) option given, each entry in the -c1 list is hierarchically expanded to a full list of the cells under the given cell, and these names are merged into a new list that contains no duplicates. If no -c1 list was given, per the discussion above, the cell list is effectively the hierarchy of the default cell from the left source. The recurse option can not be used unless a left source is specified, i.e., the left cells can't be from memory.
The following options set the comparison mode. The per-cell comparison modes are generally faster and use less memory than the flat mode, since only the geometry from the two cells being compared is called into memory. The flat mode is required if the two layouts have differences in hierarchy.
If neither -f or -g appears in the argument list, per-cell object mode is used.