qckbool ogo

Comparing Two Files Layer by Layer

IC designers often need to compare and find small differences between two GDSII files -- typically one file is a slight revision of another file and they want to be sure of all of the changes.

To do this, one can use Qckbool's XOR engine. The XOR operator generates the difference between two polygons. If both inputs are identical then the output of XOR is empty. Anything that you do see in an XOR output is the difference.

  two similar files are compared (layer by layer) and the resulting output is a difference file


The script, BoolCompare2Files, uses the Qckbool XOR engine and the gdsfilt engine to compare two GDSII files layer by layer. Certain assumptions are made:

  • Each GDSII file has only a single top level structure

  • The GDSII layers in each file are technologically equivalent - i.e. if layer 5 in the first file represents poly, then layer 5 in the second file also represents poly. This is a good assumption when one file is a later version of the same design.

  • The differences between the data in the two files is small (we also say pertubational). This is also a valid assumption for revisions of the same design.

In the next pages we will show portions of the script and explain how they run the comparison. The entire script is included with the UNIX/LINUX distrubutions of QckBool.

Comparing Two GDSII Files:   1 | 2 | 3 | 4