EE290g Cadence Tips
- Cadence is a HUGE software package that costs over $200,000 for commercial
users. Luckily we're students, so we get to use this powerful software
package for a fraction of the price, more specifically, for free.
- Cadence is capable of VLSI integration, project management, circuit
simulation, design rule verification, and many other things (which
folks in BSAC usually don't use) -- don't let all of the menus intimidate
you! To do layout you only need to use a very small portion
of the Cadence software.
- We will be doing simple layouts in Cadence. To do this we will go through
the following steps: (1) Run cadence. (2) Create a library. (3) Create
a cell. (4) Create a cellview. (5) draw a bunch of rectangles. (6) Export
a cif file -- then we're done! Below are instructions for each of the 6
steps.
- Step 1: Run cadence. This is going to be the toughest
part...
- Get on the right machine. Cadence needs quite a bit of memory,
and can't run on DEC machines, so the only instructional machines you can
run it on are in 347 and 349 Soda hall. You can, however, rlogin in from
any other machine on the internet. To do this, just type rlogin remotemachine,
set the display to the machine at which you are sitting (setenv DISPLAY localmachine:0.0),
then enable the remote machine to bring up windows (xhost +remotemachine).
The machines on which you can run cadence are:
347 Soda:
alcott.CS, clemens.CS, crane.CS, ellison.CS emerson.CS, faulkner.CS,
heller.CS, melville.CS salinger.CS, sinclair.CS, stowe.CS, warren.CS wright.CS
349 Soda:
benet.CS, kilmer.CS, millay.CS, miller.CS shapiro.CS, thayer.CS,
thoreau.CS
Setup the directory. Cadence LOCKS files so that other people
can't edit them (for project management for group designs). Unfortunately,
the machine on which our home directories sit is not capable of locking
files, so we will have to store all of our data on another machine. You
were each given a directory on franklin.cs in which you can put your cadence
files. Make a symbolic link to that directory by moving to your home directory (cd ~),
then typing "ln -s /home/pp/cadusers/myname layouts",
where myname is your login name. This will create a symbolic link from
a directory called layouts in your home directory, to the directory on
franklin.cs.
Copy the setup files. To run cadence successfully you will need
a technology file that contains the definitions of the various layers,
the design rules, and the display properties (i.e. the colors for the various
layers). There are four files you will need: mumps.tf, mumps13.drc.tf,
layer.map, and .cdsinit. mumps.tf is the technology file defining the layers,
mumps13.drc.tf contains the design rules, and .cdsinit contains a command
to load the keyboard shortcuts upon startup of cadence. All of these files
are located in ~ee290g/layouts. When you run the icfb script (see below)
these files will be copied for you if they are not already in your
directory on franklin.cs. If, for some reason these files are not
copied, you can find them at ~ee290g/cadence.
Make sure the ~ee290g/adm/class.cshrc file is sourced in your .cshrc
file. When you log in it should say "soucing ~ee290g/adm/class.cshrc".
This class.cshrc file sets the path and environment variables necessary
for cadence.
Give xhost access. You will need to give windowing access
to the machine you're running on, so type "xhost +remotemachine"
or, to allow access from any machine, type "xhost +".
Start icfb. Since Cadence cannot run in your home directory,
we need to switch your home directory to your directory on franklin.cs.
I have set up a batch file for you to simplify this process. This batch
file sets the HOME environmental variable to /home/pp/cadusers/$LOGNAME.
If you type icfb, it will run the batch file (called ~ee290g/bin/run.icfb),
which will set the HOME variable then run cadence. If this batch file is working correctly, all you will have to do to run cadence is log in to one of the appropriate machines, set the display, and then type icfb.
If this batch file
doesn't work for you, change the HOME variable, cd to the directory
on franklin.cs, unalias icfb, then run icfb, and email me so that
I can fix the problem.
2. Open a library. Congratulations -- you're almost done. Now
you will create your first library.
- Select Library from the Open menu.
- Type the library name and hit OK
- Do you want to create it? OK.
- For the technology file, type mumps.tf, then hit OK
- Eventually you should see something like "Technology file mumps.tf
was saved successfully". Select Library Browser from the Design Manager
menu.
- In the library browser window the second mouse button will bring up
new menus. You should see your library in the window.
3. Create a cell.
- Put the mouse cursor over your library name in the library browser
window, and touch the middle mouse button, then select Create Cell
- Type in a cell name and hit OK
- Click on your library name with the left mouse button to see your new
cell.
4. Create a cellview.
- Click on the cell name with the middle mouse button, and select Create
Cellview.
- Type "layout" (no quotes) in the view name field. You
must spell this correctly or things will go haywire... Hit OK.
- Click on your cell name with the left mouse button to see your new
cellview.
5. Edit your cellview
- Click on the cellview with the middle mouse button, and select Edit.
This will bring up the layout window and a window with all of the layers.
- Now you're ready to do your design. Select layers in the LSW window,
and draw rectangles in the layout window.
- There are shortcut keys in the layout window menus which make things
much quicker. (like "r" for rectangle, "z" for
zoom in, "Z" for zoom out, etc.)
- You should hit F2 often to save your layout.
6. Export the cif file.
- cif files are commonly used for making masks and exchanging designs.
This file consists of four letter layer names and the vertices of
all of the rectangles in the design.
- To export cif files choose Translators | Physical | Cif
Out from the main window.
- Fill in the library name, top cell name, outfile, and type "layer.map"
for the layer map table.
- Hit OK, and you should get a valid cif output file.
Now you are all finished. If you have any questions about anything written
here (or anything NOT written here), email me and I'll answer your
question and update this page.
Good luck!
Send comments to rconant