Importing ASTIIC CIF Files into Cadence

niknejad@eecs.berkeley.edu v.12.15.98

In this document I would like to outline how to go about importing a CIF file generated by ASITIC into the Cadence environment.

First, a bit of terminology. CIF files are stored in ASCII text format and are thus human readable. Moreover, to be as 'computer' readable as possible, all numbers are stored as integers. Thus, floating point numbers are converted into integers by multiplying by a large constant number, say 100. This will store 2 decimal places of precision. In this document, this number is called or 'resolution'.

ASITIC creates a CIF file from a structure in memory by invoking the 'CIFSAVE' command:


ASITIC> help cifsave CIFSave <spiral> <filename> (<scale> <res> <box|poly|wire>)

Note that only the first two arguments are required. The first argument is simply the name of the spiral you wish to save, and the second argument is the filename to use. Please note that can be any contiguous structure. You can save multiple spirals to a single CIF file by simply 'JOIN'ing them together. Look elsewhere for documentation on the JOIN command.

The optional commands default to the following values:

<scale> = 1.0 <res> = 100.0 <poly>

For more precise layouts, use a larger parameter. The last argument requires more explanation. CIF files recognize geometric structures as boxes, polygons, or wires. Let me just say that a polygon is the most general representation and this option can be used to store any CIF file. The other options are only useful if your layout package does not deal with polygons. Say you are constrained to non-diagonal rectangles in the layout package. Then use boxes to store the layout. If you use then inside cadence the spiral will be made up of a path.

Now, the CIF file layer names (i.e. various metal layers and via layers) are the same as your ASITIC technology file. If these names correspond exactly to the names used in Cadence, then you are all set. If not, you need to setup a layer translation table. To find out what the layer names are in Cadence, do an ASCII dump of your Cadence technology file. Only include layer names. This will limit the size of the technology file. Here is an example. I am using the rockwell.tek technology file:



; Simplified Model of ACME Bipolar Process <chip> chipx = 512 ; dimensions of the chip in x direction chipy = 512 ; dimensions of the chip in y direction fftx = 512 ; x-fft size (must be a power of 2) ffty = 512 ; y-fft size TechFile = acme.tek TechPath = . freq = .1 <layer> 0 ; p(-) Layer rho = 15 ; ohm-cm t = 700 ; microns eps = 11.9 <layer> 1 ; Oxide Layer rho = 5 t = 25 eps = 11.9 <layer> 2 ; Oxide Layer rho = 1e10 t = 50 eps = 4 <metal> 0 layer = 1 rsh = 30 t = 0.1 d = 25 name = m0 color = blue <metal> 1 layer = 2 rsh = 87 t = .6 d = 3 name = m2 color = yellow <metal> 2 layer = 2 rsh = 20 t = 2.1 d = 5 name = m3 color = red <via> 0 ; metal 3 to metal 2 top = 2 bottom = 1 r = 2 width = .8 space = 1.6 overplot1 = 1 overplot2 = .35 name = via1 color = white <via> 1 top = 1 bottom = 0 r = 2 width = .8 space = 1.6 overplot1 = 1 overplot2 = .35 name = v2 color = greenish
Note that there are 3 metal layers and 2 via layers with names. The ones I care about for this particular layout are:

m3, m2, v2

Now, have a look at the Cadence technology file. You will find the corresponding names to be:

met3, met2, via2

So I setup a layer translation table:

# Cadence layer number		Cadence layer purpose		CIF layer name
met3				drawing				M3
met2				drawing				M2
via2				drawing				V2

Now I can begin the Cadence importing process. Inside Cadence, invoke 'File->Import->CIF' from the CIW window. You will be given several options. Specify the following options:

Also enter the following parameters under the Options dialog box:

The last setting is VERY important. If you do not use this option then you will either get an error message when you run the conversion process or Cadence will append your technology file with new layers (if you have write permission on the technology file).

If you needed to create a layer translation table, then enter its name under the User-Defined Data (Layer Map Table).

That's it! Now click OK and Cadence will create a new cell by the ASITIC name. It will also create a top-level cell with the filename.

Make sure you use the ruler to measure the spiral to insure that it is actually the size you specified. If not, you may have used the wrong <SCALE> or <RES> parameter.