next up previous contents index
Next: The !empties Command: Check Up: Diagnostics Previous: The !logfiles Command: Browse   Contents   Index


The !compare Command: Compare Hierarchies

Syntax: !compare [-l layer_list] [-t obj_types] [-s] [-d] [-e] [-g] [-r max_errors] file1 [file2] [-c cell ...]
This function compares the geometry and instance placements in two cell hierarchies, one of which is in an archive file and the other is in memory or in another archive file. The results are written to a log file.

Options:

-l layer_list
The layer_list is a list of layer names, which must be quoted if more than one layer appears. If no layer_list is given, all layers will be checked for differences.

-s
If a layer_list is given, differences will be recorded in all layers except the layers in the layer_list.

-t obj_types
The obj_types ia a word containing any or all of the letters c,b,p,w,l which indicate cells, boxes, polygons, wires, and labels. The letters indicate the types of objects that will be considered. If this option is not given, the default is ``cbpw'', i.e., labels are ignored.

When -g is given (see below) only 'c' is recognized, ``bpw'' is assumed. That is, when using geometric comparison, 'c' will control whether or not to compare subcell instances, and boxes, polygons, and wires will always be tested (labels are ignored).

-d
Don't record the actual differences, only whether or not the cells differ.

-e
Expand subcell arrays (if comparing subcells). Cell arrays are converted to individual placements before comparison, avoiding false errors between arrayed and equivalent unarrayed layouts.

-g
If set, the objects on the comparison layer are converted to a trapezoid list, and geometric operations on the trapezoid lists are used for the comparison. Labels are ignored in this mode, and subcells are treated normally. If not set, objects are compared directly, so differences will be recorded even if the resulting geometry is the same, e.g., cells with and without !split will show many differences. Subcells are always checked directly, thus an array vs. individual placements will indicate differences.

-r max_errors
The integer max_errors is the maximum number of error objects returned, per cell and per layer or instance symbol. The value 0 (the default) implies no limit.

-c cell...
This option must appear last in the command line. The tokens following -c are cell names. If these are given, only the listed cells will be considered, otherwise all cells will be considered.

There must be at least one archive file name given. If a second archive file name is found, comparison is between the two hierarchies. Otherwise, the second hierarchy is expected to exist in memory.

Only the cells for the current mode (electrical or physical) are considered. Properties are ignored.

The results are written to a file named ``diff.log'' in the current directory. Each object or region that appears in one cell and not the other corresponding cell is written in a CIF-like format to the log file, unless -c is given.

When the comparison finishes, the user is given to option to view the results.


next up previous contents index
Next: The !empties Command: Check Up: Diagnostics Previous: The !logfiles Command: Browse   Contents   Index
Stephen R. Whiteley 2006-10-23