Using Cadence for MEMS Layout
Cadence setup in instructional account
Similarly to the matlab setup, you'll need Hummingbird or some
other X Windows manager in order to display graphics. See the
instructions on the Software
page or email me if you have any questions.
I recommend that you create a cadence directory to keep all of
your stuff in.
From your home directory,
List the directory you just created /home/cc/n245/sp07/class/n245-ax/cadence
(or the same thing it displays except for cadence substituted for ee141)
Copy appropriate display files from my account in order to get the
layers that you need.
cp ~n245/cadence/display.drf display.drf (say yes
The icfb command opens everything in Cadence. Really all you should
need is layout (opened with layout2 &), but I've just used
icfb2 to be safe.
(if that doesn't work, try /share/b/bin/icfb2&)
Set up Technology files
In the ICFB window, go to Tools->Technology File Manager
Click New to set up a new technology library
Under name, type polymumps
Select “Load ASCII Technology File” and enter ~n245/cadence/polymumps.tf
Create a New Library and Attach Tech File
This should open both the ICFB window which keeps a log of everything
you do as well as the library manager. There are a lot of libraries
already included for the introductory digital circuits class here, but
we won't use these. In the library manager, the first thing you want to
do is create a new
library. The purpose of a library is to catalog the pieces (cells) in
In the library manager, File->New->Library
Name your library and make sure the directory is correct
A new window should pop up asking about the technology file for your
Select "Attach to an existing techfile"
Select the technology file you just created, polymumps
in the technology library drop down box
Creating a New Cell View
Now you want to create a new cell view to define part of your layout.
Select the library you just created in the library column of the
Name your cell and under tool, select "Virtuoso" (view name should
change to layout automatically)
A layout window should open as well as the LSW window which shows you
the various layers that you can use.
Setting up the display options
Type the keyboard shortcut “e” or Options->Display to bring up the display editor.
Select your x and y snap spacing to be something more reasonable like 1 or 0.1.
Select a layer like poly1 in the LSW window.
Click on the rectangle box on the left side of the layout window or
type the keyboard shortcut "r" for rectangle.
You can either hide or ignore the box that comes up next and draw your
rectangle in the layout window.
Try selecting a new layer in the LSW window and draw another rectangle.
Isn't this fun?
You'll find the ability to measure things you've drawn very useful
during layout. Use the ruler function on the left side of the layout
window or use the keyboard shortcut "k". Click on one side of the
rectangle and then click the other side to measure it's length.
Drawing Other Shapes and Editing Shapes
If you look under the Create menu, you'll find commands to draw all
sorts of other shapes. You can also edit your shapes. One edit that
you'll find particularly useful is stretching your rectangles. There is
another box on the left hand side of the layout window or the command
can be found under the Edit menu (or the shortcut "s"). Click one side
of the rectangle and click again where you would like to move this
It shouldn't take long to get comfortable with this, but play around a
bit to make sure you're happy with things.
A final important part of using cadence and something that you'll find
incredibly useful for designing test structures is the use of
parameterized cells (or P-cells).
Create a new test cell and draw a rectangle from (-5,-5) to (5,5).
Go to Tools->Pcell in the layout window.
A new menu called Pcell should appear.
First we'll try parameterizing the height and width of the rectangle.
Go to Pcell->Stretch->Stretch in X.
Draw a vertical line through the rectangle by clicking once and double
clicking for the second point of the line.
Call this stretch "width" and select the checkbox "stretch horizontally
repeated figures". The reference dimension should be 10 already since
this is the width that the rectangle is drawn at.
Now go to Pcell->Stretch->Stretch in Y.
Draw a horizontal
line through the rectabgle and call this stretch "height". Make sure to
select "stretch vertically repeated figures".
Save your design - when it asks the function of this Pcell, select
"none". The ICFB window should display the success of this compilation.
Now create a second test cell.
You're going to instantiate your
previous cell in this one. Use the keyboard shortcut "i" or select the
Instance box on the left hand side of the layout window.
Use browse to
find the Pcell that you just created (this may be a little slow in
coming up). You should see an outline of the rectangle that you just
drew - click on the origin to place it here.
It will have a red
outlined box with your Pcell name in it.
Click SHIFT-F to display all
layers in your design.
Now click on this rectangle and use the keyboard
shortcut "q" or the Properties box on the left side of the layout
window to display the properties of this instance.
"Parameter" button. And change the length and width to something else.
You should see the rectangle change in your layout.
You've created your
Feel free to also play around with things like Pcell->Repetition
to give yourself the ability to define the repetition and spacing
between repeated versions of the same shape – this is
especially useful for things like comb fingers.