Information on oct to cif conversion scripts provided by M2C, the
Massachusetts Microelectroncs Center. For further information,
contact:

     paul@m2c.org

Scripts msu2nwell, msu2pwell, msu2twinwell,
         nwell.fabprep, nwell.fabprep.2u
         pwell.fabprep, pwell.fabprep.2u
         twinwell.fabprep, twinwell.fabprep.2u
         nwell.drc, pwell.drc and twinwell.drc
are Copyright (c) 1990 Massachusetts Technology Park Corp.

______________________________________________________________________________



In order to submit Oct designs for fabrication, there are a few
housekeeping details that need to be addressed. One of these is
conversion from an Oct database to a properly scaled CIF file. 

The layers required to submit a design for fabrication differ slightly
from the layers used in Oct. For example, Oct layers NDIF and PDIF are
merged to form MOSIS layer CAA (active). In order to distinguish which
active areas are N-type and which are P-type, 2 layers are created.
These layers are CSN (N-select) and CSP (P-select). CONS, COND, COPS
and COPD are combined onto a single MOSIS layer CCA. Some layers only
need a name change, such as MET1 becoming CMF.

The best way to handle the creation of a CIF file suitable for
fabrication is fabprep (1OCTTOOLS). In order to assure correct
handling of geometries near leaf cell boudaries, fabprep first
flattens the design to the Oct PHYSICAL level (no instances).

For a large design, the flat database created by fabprep may become
quite large. As a result, fabprep may not run to completion due to
memory limitations. If this happens, then there are 3 scripts which
can be used with octtocif (1OCTTOOLS) to generate a CIF file and take
care of the layer re-naming, combining, and generation. While octtocif
operates on each cell individually, and therefore may not generate the
layers correctly near the cell boundaries, the problems are generally
not fatal. (Octtocif and an earlier revision of msu2nwell has been
used to generate working silicon! The error most often seen is a
"notch" in the well, where the facing edges of the notch may not be
adequately spaced.)

If a hierarchical design is read in from a CIF file, and a new CIF
file (after modifications?) is written, fabprep will not generate the
selects and wells correctly. This is because octflatten will attempt
to flatten the Oct database until there are no instances, but the Oct
database resulting from using ciftooct does not have any instances.
Thus, if an Oct database was created via ciftooct, then octtocif
should be used to re-write a CIF file.

Thus, if you can't use fabprep due to design size and/or memory
limitations, you can use octtocif with msu2nwell, msu2pwell, or
msu2twinwell as conversion files (-f option).

The scripts (both for fabprep and octtocif) make some assumptions
about the layers present in the database. The msu2nwell script assumes
there is an NWEL layer with geometries, since it uses this information
to determine which active areas are source/drain areas and which are
well or substrate plugs. Msu2pwell uses the PWEL layer for determining
the same information.

