home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
l
/
lasi41b.zip
/
LASIDRC.HLP
< prev
next >
Wrap
Text File
|
1993-01-18
|
15KB
|
345 lines
≡≡
Introduction
Introduction
The program LASIDRC.EXE is a new addition to the LASI utility programs
that should be valuable for finding various layout errors that often
evade normal human visual inspection.
The program can find:
1. Minimum spacing errors on a single layer (intra-layer).
2. Minimum spacing errors between layers (inter-layer).
3. Minimum width errors on a layer.
4. Minimum coverage of one layer over another.
5. Minimum overlap of one layer over another.
The program acts on the drawing cells in the default directory (drawing
directory). Errors may be displayed either on a monitor, may be stored in
a disk file, or may be printed on a line printer, either dot matrix or
LaserJet.
Licensing
Like the LASI drawing system, LASIDRC is free to individuals for personal
and educational purposes. However, LASIDRC is likely to be used
professionally in profit making situations since its purpose is to check
IC layouts that will be going into maskmaking. There is therefore a
separate VOLUNTARY license fee of $33/computer/year assigned to it. This
is pretty inexpensive if it only once finds an undetected layout error.
Liability
The LASIDRC.EXE program is furnished on an "as is" basis. LASIDRC will
make a "best effort" to call to attention any possible layout errors.
Experience should confirm that it doesn't miss much. However, the author
or anyone distributing the program cannot assume responsibility for how
the program is used or for the results of its use. The program cannot be
absolutely guaranteed to find all instances in a layout that may result
in incorrect function of an integrated circuit or other device. LASIDRC
is to be considered as a valuable aid to actual visual inspection and the
users own knowledge.
Description of Checks
Description of Checks
Intra-Layer Checks
This is the simplest checking that is done. LASIDRC looks for spacings
between areas on the main layer and flags any place where it thinks that
things are too close. An example would be spacings between runs on a
metal layer.
Inter-Layer Checks
In this check, LASIDRC looks at spacings between the main layer and the
second layer and flags anything that it thinks is too narrow. Which layer
is which makes no difference. An example would be base to isolation
spacing in a bipolar IC. This check runs somewhat slow because it works
on two layers.
Minimum Width Checks
LASIDRC checks the width of areas on the main layer and flags anything
that is too narrow. This is useful for layers that have irregular shapes
that may become too narrow in places that are not obvious. An example
would be polysilicon or metal interconnection areas in complex cells.
Minimum Coverage Checks
LASIDRC checks if the main layer covers the second layer by some minimum
distance in all directions. It does not flag if the second layer is not
covered by the main layer at all. An example would be contact coverage by
a metal layer. This check runs somewhat slow because it uses two layers.
Minimum Overlap Checks
LASIDRC looks if one layer extends a minimum distance into another layer.
Which layer is which makes no difference. This check is almost like an
inter-layer spacing check where the spacing is negative. An example is
where you expect one layer to overlap enough to contact another, as with
two layers of interconnecting metal.
Running LASIDRC
Running LASIDRC
LASIDRC will run in NORMAL or BATCH mode.
To run the program, log into the drawing directory and type "LASIDRC".
LASIDRC will come up in a setup display, providing it finds the drawing
files: FORM.DBD, CELLS4.DBD and CONSTS4.DBD. It will also allocate memory
for LASI objects and its bitmaps. If any of this fails, it will tell you
so and will return to DOS.
When the setup display comes up, you can enter or change any parameters
by moving around using the up, down, left, right or ENTER keys and then
typing in any value. The values will be changed if any characters are
typed and the location is then moved. You can step around and around
until you have the parameters as you want them.
The "Batch File Name" parameter determines if LASIDRC runs normally or
takes its parameters from a batch file. LASIDRC will look for a batch
file if the parameter is not "*". If a batch file is found, the
parameters will be overlayed by the file parameters. (See Writing a Batch
File.)
To start checking, press F10. Once you start checking, the parameters are
saved in the LASIDRC.SET file and are returned when LASIDRC is run again.
If you are running a batch, the batch parameters will flash up for a
short time. You may jump to the next batch setup by pressing F10 again.
Some parameters need a little explanation:
1. The Type of Checks determines how LASIDRC configures itself. You can
do only ONE kind of check at a time.
2. The "Pass Distance" parameter is the minimum distance that you want to
pass when checking.
3. The "Precision" parameter is the smallest distance that you want
LASIDRC to check for when doing its tests.
4. The "Start at:" parameters are the bottom-left corner of the first
area that you want to be checked. LASIDRC will then proceed to check
areas from there, until a cell is completely checked. If you want to
start at the bottom-left of a cell, set these parameters to "*".
The setup is slightly "smart"; it checks and adjusts parameters to
conform to LASIDRC's checking rules. You will notice that Precision
adjusts Pass Distance, and that units are automatically added to any
dimensions. You will also notice that where "y" or "n" is wanted, only
one "y" will be allowed.
Yes/No rules:
1. If a "y,n" sequence contains characters other than "y" or "n" the
characters will be changed to "n".
2. If a "y,n" sequence contains more than one "y" then the first one will
be kept.
3. If a "y,n" sequence contains no "y's" then the first one will be
changed to "y".
Optimizing Parameters
Optimizing Parameters
Making the Precision larger causes the checking to be done much faster
because larger pieces of a drawing can be checked at a time and less
iterations are necessary when checking. The time required to check is
roughly in inverse proportion to the 3rd power of the Precision. That is,
is you halve your Precision it will run about 8 times faster. Unless you
have a very fast computer, the highest Precision is best used on small
cells.
Making Precision too large can cause errors to be missed because details
cannot be resolved smaller than that size and roundoffs will occur. If
you set a Precision that can cause roundoff errors, "?" will appear after
the Precision. However, scanning for gross errors can quickly be done
using a larger Precision.
Precision can be made as small as the basic units used in a drawing. Pass
Distance will be automatically be adjusted to multiples of the Precision.
Screen Saver
Screen Saver
When LASIDRC runs it goes to a screen saver mode and dispalys only status
information on a moving line. Press SPACE and LASIDRC will flash the
setup screen for a few seconds so you can examine the parameters, see the
proportion of the drawing that has been checked, or determine if any
areas have been flagged.
Aborting Checking
Aborting Checking
You can abort the checking if necessary by pressing ESC. If you are
running in NORMAL mode, the last window will be saved in the LASIDRC.SET
file and will be returned as the "Start at" parameters when you run the
program again.
If you are using BATCH mode, ESC will abort the entire batch process and
return you to DOS. Press F10 to jump to the next batch setup in the batch
file. You may step through the batch tests one at a time. The original
setup is always saved, not any batch parameters from the batch file.
Displaying Errors
Displaying Errors
When LASIDRC finds an error, it has several ways of recording it:
1. In a summary file, it can record the areas where an error is found.
The file is always named LASIDRC.SUM and is in the drawing directory.
This is an append-only file to which information is added and must be
erased to be cleared.
2. On a color VGA or EGA monitor, it will display the maps of the
layer(s) as filled patterns in grey or white and error flags as bright
yellow pixels. The program will automatically detect VGA or EGA and
adjust accordingly.
3. On a line printer, it will print the area summary information just as
it does to a file.
4. On a line printer, it will print a dotted bitmap of the layer(s) and
will flag the suspected error with heavy dark dots.
Only one of the above choices is allowed.
If a line printer is used to make bitmaps, LASIDRC must also be told what
kind it is. The present types are: "gen" (generic), "fx", "lq" (Epson dot
matrix standard) and "lj" (LaserJet). The generic option uses the
simplest bitmap codes that are fairly universal and produces a map at
120dpi horizontally and 72dpi vertically. It will therefore have an
incorrect aspect ratio.
How LASIDRC Works
How LASIDRC Works
LASIDRC works by 2-dimensional bitmap logic. It creates filled layer
bitmaps in memory, does logical operations on them and then does
progressive expansions using an "octogonal" expansion algorithm. It then
looks for single bit disappearances as bit patterns merge, which it
considers as possible errors. It keeps a bitmap of these possible errors
for display. It also saves bitmaps to the hard disk in the LASIDRC1.TMP
and LASIDRC2.TMP files which can be erased when checking is finished.
* * * * *
Octagonal point expansion * *
by distance = d * \ d / *
* *
* <- d * d -> *
* *
* / d \ *
* *
* * * * *
Missed and False Errors
Missed and False Errors
LASIDRC should find an flag distances <= (Pass Distance - Precision). For
example, a 10 um Pass Distance and a Precision of .5um should find
anything less than or equal to 9.5um. Note that as the Precision
approaches zero, this distance approaches the Pass Distance.
This does not mean that all distances will be accepted if they are
greater than (Pass Distance - Precision). For 45 deg. diagonal distances,
there can be an uncertainty that is less than +/- half the Precision, due
partly to the way that LASIDRC works and due partly to numerical roundoff
problems. For angles that are in a range centered around odd multiples of
22.5 deg. ( 22.5, 67.5, etc.) there is an exaggeration of the expansion
distance. This may flag oddly shaped objects. Since LASIDRC expands areas
using an octogonal pattern, these exaggerations correspond to the octogon
vertex peaks or about an 8 percent exaggeration at most.
Since LASIDRC looks for single bits, once in a while on odd shapes, the
fill map can produce single bit extensions or notches. LASIDRC will find
these and will flag them, even though they are an artifact. You should
examine these and see if there really is anything wrong. In fact, the way
that LASIDRC works often picks out patterns that are not good layout
practice.
LASIDRC works in such a way that sharp corners tend to be rounded, just
as actual photomasking and etching might do. Keep this in mind when
setting the Pass Distance parameter. For example, the distance between
two adjacent corners will be seen by LASIDRC as a little more than the
actual tip to tip distance.
The method by which LASIDRC works is sensitive to gross errors which are
well beyond the actual flagging threshold. It is virtually impossible for
LASIDRC to miss these.
At the moment, LASIDRC does not find "near miss" errors where there is a
gap between filled areas that is less than or equal to the value set as
the Precision. When LASIDRC fills an area, each line is considered to
have a width equal to the Precision, which may merge with previous areas
and eliminate the gap. When maskmaking is done, a similar effect occurs.
This may or may not be a problem depending on the maskmaking equipment
used.
Writing a Batch File
Writing a Batch File
There are two ways to make a batch file. You can do it using LASIDRC or
you can write it manually. If you run LASIDRC in the setup display, by
pressing F8 you can append the displayed setup information to the batch
file whose name appears in the Batch File Name entry. You can then build
a complete batch file by changing the setup information and appending it
to the previous setups in the file.
To write a batch file manually , you use a simple ASCII text editor such
as DOS5's EDIT. The name of the file can be any DOS name, but the
extension must be ".DRC". The file must be located in the drawing
directory. Each checking operation is a single line in the file. You
simply write in the 17 setup parameters starting with the cell name and
separate them by commas. Characters may be upper or lower case, but will
be displayed as lowercase.
Example:
opamp,y,n,n,n,n,8,.5,8,1,y,n,n,n,fx,*,*
will do an intra-layer spacing check on a cell named opamp, on layer 8,
with a Pass Distance of 8um and a Precision of .5um. It will write any
suspicious areas to the summary file. It will start checking at the
default lower-left corner of the cell.
The batch file may contain any number of lines. It is a good idea to
write all the parameters into the line. However, if any parameters are
left off the end of the line they will default to the previous setup.
Parameters in a sequence MAY NOT be omitted.
Example:
opamp,n,n,y,n,n,8,.5,8,1
which following the first example above would check for minimum width of
layer 8 is acceptable, but,
opamp,,,y,,,8,.5,8,1
would be illegal.