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,

mkdir cadence
cd cadence
Run /share/b/bin/cadence-setup.csh
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 to overwrite)

Opening Cadence

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.
icfb2 &
(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
Click OK.

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 your design.

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 library
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 library manager.
File->New->Cell View
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.
Say OK.

Drawing Rectangles

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?

Measuring Rectangles

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 side.

It shouldn't take long to get comfortable with this, but play around a bit to make sure you're happy with things.

Designing P-Cells

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.
Select the "Parameter" button. And change the length and width to something else.
You should see the rectangle change in your layout.
You've created your first Pcell!

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.