GDSII, also known as “Calma Stream”, is by far the most stable, comprehensive, and widely used format for microlithography. GDSII is a binary format that supports a hierarchical library of structures (called “cells”). Cells may contain a number of objects, including:
- Boundary, which may be used to represent polygons or rectangles.
- Box, which may be used to represent rotated rectangles.
- Path, which may be used to represent wires.
- Text, for annotation either on the CAD screen or the device.
- Sref, to include an instance of one structure (cell) inside another.
- Aref, similar to Sref but providing an array instance of a cell.
There are 64 available Layers, numbered 0 to 63. Each primitive object (Boundary, etc.) lies on one of these layers. Each layer number typically represents one mask or electron-beam exposure step in a process.
Data Exchange Format (DXF) is an output option offered by a number of CAD programs for Windows/DOS and the Macintosh. These programs were not designed for lithography and so contain structures (e.g. three-dimensional figures) that have no meaning in this area. Also, the common jargon (e.g., “cell”) has been replaced with less familiar terminology (e.g. “block”). This format does not support datatype numbers.
In DXF there can be considerable confusion over such issues as whether an enclosed line represents a polygon or an actual line. Translation programs support different subsets of DXF and translate the structures into GDSII using various sets of rules.
DXF is a very commonly used format for photomasks. A new DXF user may make some initial mistakes that cause the data to be unusable, but most maskmakers can guide users until they are able to produce consistently convertible data.
The Caltech Intermediate Format, or CIF is far simpler than GDSII and has the advantage that it is readable, using only ASCII characters. While providing nearly all of the functionality of GDSII, there are a few differences:
- Names of cells are not supported. Instead, cells are numbered.
- Data types are not supported. These are commonly used to assign different doses within a pattern. Therefore, proximity effect correction requires patterns to be split into multiple layers.
- There is no limit on the number of vertices in a polygon; therefore, CIF interpreters, either set arbitrary values or simply run out of memory.
- The array structure (a square array of cells of n m elements) is not supported and so the users of CIF have invented extensions to the format. These extensions have not been added to the CIF standard.
Of the three intermediate data formats mentioned above, CIF data is the format least used by mask makers. It is therefore recommended that designers provide the mask maker with GDSII as a first choice, followed by DXF. CIF should only be used if the first two options are not available.