The tabs tool allows the user to automatically
produce capacitance rules for a given technology. See
tecc(1ICD) or space(1ICD) for information on
technology files. Capacitance rules enable a more efficient
way of circuit extraction than full 3D extraction, at the
cost of some accuracy.
When you wish to generate capacitance rules using
tabs, first change your working directory to an
appropriate project directory. Tabs will, by default,
use the maskdata and space.def.s files of the
process related to the current project. You can change this
behavior by specifying the --maskdata and
--sfile flags. (In case you specify both flags, you
will not need to be in a project directory).
Before you run tabs, also make sure that the
technology file contains no capacitance rules. You can use
the --ignore-preexisting flag to ignore any
capacitance rules which are already in the technology file,
but obviously, you should know what you are doing.
A minimal technology file suitable for input to
tabs is shown below.
unit vdimension 1e-6
conductors :
# name : condition : mask : resistivity : type
cond_mf : cmf : cmf : 0.045 : m
cond_ms : cms : cms : 0.030 : m
contacts :
# name : condition : lay1 lay2 : resistivity
cont_s : cva cmf cms : cmf cms : 1e-12
vdimensions :
v_cmf : cmf : cmf : 1.70 0.70
v_cms : cms : cms : 2.80 0.70
dielectrics :
# Dielectric consists of 5 micron thick SiO2
# (epsilon = 3.9) on a conducting plane.
SiO2 3.9 0.0
air 1.0 5.0
Tabs essentially uses only the vdimensions
section and the dielectrics section of the technology
file. Please see tecc(1ICD) for more information on
these sections.
Tabs computes rules for (vertical) area
capacitances, (vertical and lateral) edge-edge capacitances,
ground-capacitances, and (vertical) edge-surface
capacitances. A good description of the concepts involved is
given in the Space User's Manual.
The --z-window option is very useful, and should
be used in all cases, except for very simple cases. It
allows you to specify a maximum influence window in the
z-direction. Normally, tabs takes into account the
influences between all possible layers. This is, however,
not very useful in realistic cases. For example, when your
process contains 16 levels of metal, then the bottom-most
layer of metal will, most likely, not have any significant
capacitive coupling to the top-most layer. To reduce
computation time, you should therefore use this option. The
value given should be specified in microns. A reasonable
value is 2*(h+s) where h is the maximum height
of a conductor, and s is the maximum vertical spacing
between two successive conductor layers. You can see what
influences have been considered by tabs by inspecting
the technology file after tabs has completed its
computation.
The generated capacitance rules are written to the same
technology file (extension .s) as used for the input.
Generated rules are written to the file with a special tag,
so that they can be automatically replaced when tabs
is invoked another time. Hence, any pre-existing generated
rules do not have to be removed from the file manually,
before running tabs.
Internally, tabs uses the 3d mode of the space
extractor to compute the values for the capacitance rules,
using various layout patterns. When you use the
--verbose option, you will be able to see the output
of the extraction process.
|