Native cell files use a modified CIF format. Each file can contain two cell definitions: one for physical geometry, and the second for electrical (schematic) data. The physical information is found first. The electrical cell definition is optional, it may be absent or empty. An empty physical cell definition is created if there is no physical information, thus all native cell files produced by Xic will contain a physical cell definition. The parser will also recognize schematic files from the Jspice3 program, which have a similar format, but no physical cell definition.
The basic file layout is shown below.
(Symbol symbol_name);
(RCS_ID);
(program_version date);
(PHYSICAL);
(RESOLUTION 1000);
9 symbol_name;
DS 0 1 1;
physical data ...
DF;
E
(ELECTRICAL);
(RESOLUTION 1000);
9 symbol_name;
DS 0 1 1;
electrical data ...
DF;
E
SPICE listing
The first line is a mandatory CIF comment giving the symbol (cell) name. The second line is an optional comment providing an ID field to be used with the RCS/CVS code control programs. These programs are used to manage large projects with multiple designers. Other comment lines may follow, in particular a comment line containing the creating program version and creation date is added by Xic. The next line is a CIF comment containing the word ``PHYSICAL''. This indicates that the following cell definition contains physical data. If this line is not found, some time consuming tests are performed to figure out what exactly is in the file.
An optional ``(RESOLUTION 1000);'' comment line follows. This indicates that coordinates in the physical part of the file use 1000 units per micron. If the line is not present, 100 units per micron is assumed. This was the default for early versions of Xic, and follows from the implicit CIF assumption. The use of resolutions other than 100 represents an extension of the CIF syntax.
The integer following ``RESOLUTION'' can be 100 or any of the values supported for the DatabaseResolution variable, for the physical cell. For the electrical cell, only the values 100 and 1000 are allowed.
The electrical part of the file is optional, and starts with a CIF comment containing the word ``ELECTRICAL'', followed by the resolution comment and the electrical cell description. Either cell description can be empty, i.e., a DS 0 1 1; line followed by DF; and E. Finally, if the cell was written in schematic mode and is a top-level cell (containing no terminal nodes) a SPICE listing of the circuit is added to the bottom of the cell file. Such files can be read directly into the WRspice program for simulation. The SPICE listing has no relevance to Xic.
In release 3.1.5 and later, the terminating line of a native cell file can have ``n'' or ``nd'' (case insensitive) following the ``E'', as in normal CIF. In earlier releases, anything after ``E'' would cause a syntax error.
The format of the Physical cell data adheres to the extended CIF described in the preceding sections. Electrical cell descriptions use the same extensions, however the array extension never appears, as arrays are not available in electrical mode. The major difference in the files is the large number of properties assigned in electrical mode.