Caltech Intermediate Form

CIF (Caltech Intermediate Form) is a ASCII file format designed by Caltech (now California Institute of Technology) for IC-designs. It is older than the GDSII format, but still in use. The newest and last published specification for the CIF file format was published on Februry 11, 1980 by the California Institue of Technology in Technical Report 2686. Some other EDA tools extend this specification by interpreting special comments inside the CIF file as additional design data. These extensions are far from any standard and not used by the LayoutEditor, with the only exception of text elements which are not natively supported by CIF.

CIF in the LayoutEditor

The CIF file format can be loaded and saved like the GDSII or OASIS file format. There are some options specific to the CIF file format. All options can be set in the SetupDialog. The following options are available.

CIF: Handling of layernames

The CIF file format only stores layer names. Layer numbers, as used in GDSII or OASIS, are not used. When opening a CIF file, the LayoutEditor analyses the used layer names. If a layer name already exist in the current setup, this layer number is used. Otherwise the first unused layer is renamed.

CIF: Save regular polygon as circle

The CIF file format can handle circles. Circles are not supported as basic elements by the LayoutEditor nor the GDSII file format, instead they are stored as regular polygons. By activating this option, any regular polygon with more than 8 points will be saved as a circle element and not as a polygon.

CIF: Add top cell reference at global scope

By default, the CIF file format is a collection of individual cells without marking any cell as a top cell. But the CIF file format also allows a main cell to be set. By activating this option, a main cell is set and added to the CIF file during the save feature.

Description of the CIF File Format

CIF files are stored in the ASCII text format. Each line starts with a single or double character command. For example, a P represents a polygon followed by the coordinates of the vertexes. Lines always end with a semicolon.


DS 1 1 10;
9 cellname;
L layername;
P 340000,-90000 460000,-260000 490000,-260000 530000,-160000
L layername;
B 180000 260000 220000,-210000;