10 January 2009

Tutorial 1: Cadence Setup


This document explains how to set up your resource files and user environment to use the Cadence software. It then helps you test your setup to ensure that everything works and you have access to the Cadence tools.

Using a Lab Machine

Cadence is installed on the EE department machines in the CAEDM lab. These are the Linux machines grouped on the south end of the lab. Their names are mostly based upon spices or flavorings. (i.e. sesame, paprika, dill, etc.) It is possible to remotely connect to these machines by using ssh -X .ee.byu.edu. These machines are not setup for direct access from off campus. The details of VPNs, citrix, and remotely accessable Linux machines change quite frequently. Currently they can be remotely accessed via Xming, Xlaunch and putty via Windows CAEDM machines and the classroom podium machines. For further details see a EC En 451 TA, EE Sysop, or CAEDM administrator. Be aware that off campus connections can be maddeningly slow. If you are seeking additional information about the Spice machines, please visit this link. Now that you have a valid machine, go ahead and set everything up to run cadence.

Account Setup

If you already have a CAEDM account and are have a major declared in the Electrical and Computer Engineering Department, then you should be able to login to the spice machines. If you can't log in to the spice machines, please visit this link and obtain an account before continuing.

Because of the disk space required for Cadence, your quota should have been raised to 600MB during the first week of class. It is a good idea to set up a group account where you can store your work and share it with your lab partner without worrying about permissions. You can create a group folder from the CAEDM Account Manager. It takes a couple minutes for the groups/<groupfolder> to appear in your home directory.  (You may have to log out and back in order for the new group folder to show up.) Keep in mind that (at present) group folders get allocated 100MB of storage. Keep an eye on disk space utilization. Cadence does strange things when you run out of disk space.

NOTE: We have observed some problems with using the shared folder. It seems that when workstation A opens Cadence, it sets permissions on cds.log such that workstation B can't run Cadence, even after closing Cadence on Workstaion A. We are still looking for a workaround for this.

Cadence creates a lot of configuration and data files. In order to keep them all in one place, create a cadence subdirectory to hold all the files. You can either put the subdirectory in your own home directory or in your group folder. Groups have successfully run two instances of cadence from the same directory at the same time with no errors. Important Note: Whenever creating directories in Linux (including group names), do not use spaces - If you must, use the underscore character "_" - There are certain tools within Cadence that cannot recognize spaces.

Start out by opening a terminal window:

cd ~/

mkdir cadence

Resource File Setup

Set up your global editor. Cadence uses the global editor when opening files. You may set your editor to emacs, vi, nedit or any other editor you wish. If you are proficient with Windows text editors, then nedit will probably be the best choice because it has similar hot keys. Here are lines you need to add or modify in your .bashrc in order to use emacs:

export EDITOR=/usr/bin/emacs

Here are the lines you need to add or modify in your .cshrc in order to use emacs:

set EDITOR=/usr/bin/emacs

Cadence uses a ton of global variables to configure its behavior. We've supplied a resource file for you to reference in your .bashrc file. You may want to open up the file and see what is in there. Add these lines to the bottom of your .bashrc file:

Type the following at the command line: texteditorname filename

Example: emacs .bashrc


# Cadence Design Tools


source /ee2/Cadence/local/designkits/ee451/cdssetup/bashrc_cadence

# Or for .cshrc, type:
source /ee2/Cadence/local/designkits/ee451/cdssetup/cshrc_cadence

Source your .bashrc file or log out and log back in.

source .bashrc

Alternatively, source your .cshrc file or log out and log back in.

source .cshrc

cds.lib File Setup

The cadence tools you will use most often require a file directing them to the available parts and technology libraries.  This file is called cds.lib. You need to create one and tell it where to find the installed parts.

In the directory from where you will run Cadence, create a file called cds.lib and add the following lines to it:

INCLUDE /ee2/Cadence/local/designkits/ee451/cdssetup/cds.lib

Make sure to leave a blank newline at the end of the file!

Starting Cadence, Invoking the CIW

The CIW is your Command Interpreter Window. You will navigate through the cadence tools using this window. Any command you select in the pull down menus opens a different form or window in which you select more specific options for that command.

Open a terminal window, change to your cadence directory and start the CIW by typing:

virtuoso &      # the command to start cadence

Note: The & allows you to run the Cadence Tools and still use the terminal for other commands.

You must not use 'cadence' as the command to start up Cadence, as this command will change your environment in subtle ways!

You will notice two windows open after a couple of seconds. If any type of warning message or window appears, check with a TA to see if it is important.

You should now only have two windows open other than your terminal. The larger window is your library manager, and the smaller one is the CIW. Note: The CIW is titled Vituoso 6.1.3 - Log: <your cadence directory>.

Stretch your CIW window to be taller (a few inches is fine). Notice that all of the commands executed in the setup are shown in the window. You will usually need to return to this window to check for error messages throughout the design process. Notice the three small sections at the bottom of the CIW. The first section, which has the cursor, is the command line. You can type in commands for Cadence if you know the syntax. The next section says mouse and has an L, M, and R which represent the three mouse buttons. These will change to show which command each mouse button is set to do. The third section is where Cadence will tell you what to do. For example, it will tell you to point at a location to draw a wire or to place a part. See the screenshot below.

Errors in this window may indicate a problem with the paths setup earlier in the tutorial.

The Library Manager

You will find the library manager more useful after you have made some designs as it lets you navigate through your designs and find the one you wish to open. The three large windows in the manager are used to navigate through your designs. A library is basically a folder with a set of rules which will be used to check your designs. Inside of the library there are sub folders called cells. These cells are the parts that you will be creating throughout the semester. Each cell can have several different views. (i.e. schematic, layout, extracted,...) Click on the NCSU_Digital_Parts library and then click on the inv cell. You will see seven different cellviews in the views window.

Note: If the library manager does not contain any library information the cds.lib file is most likely incorrectly written or missing. Check to make sure you saved your cds.lib file in the same directory from which you are running icfb. Check to make sure your cds.lib file contains the text given above.

Creating a New Library

In the cadence tutorials you will create libraries to hold your designs. This section of the cadence setup shows which buttons to press in order to create a new library and add cells to that libraary.

In the library manager choose File -> New -> Library...to open the Create Library form.

Name: Anything you want, for now use MYLIB.

Directory: Should be the current path. (your cadence directory)

Everything else is greyed out. See the screenshot. Click OK.

A diaolog prompting for a technology file will pop up (it might be hiding under other windows). Choose 'attach to existing technology library' (DO NOT choose the reference option).

Press OK and an attach technology dialog will pop up. Choose AMI12 (which should be already selected for you).

click OK and your new library will appear in your library manager window.

Creating a new Cellview

Click on MYLIB, your new library. Go to File -> New -> Cellview... to open up the Create New File form.

Library Should default to MYLIB. If it is not set to MYLIB, choose it from the drop down.

Cell Anything you want. You probably want to name it something descriptive, for instance, inv if you are making an inverter. For now just name it mycell.

View Certain view names are linked to certain tools. For instance, typing in schematic in this field causes the tool to default to Composer-Schematic.  Likewise, typing in layout causes tool to default to Virtuoso. For now, simply choose schematic.

Type Should be schematic by default.

Application: Leave the default. (It should be Schematics L. Later we will use other types)

Library Path File: Always leave this default. It keeps your cds.lib file up to date.

Click OK. If you get prompted for a license upgrade click yes.

The Composer-Schematic window opens up. Just choose File -> Check and Save for now and close the window. You should see a new cell in the library manager window called mycell with a new view called schematic.


You now have cadence set up and ready to run. The rest of the tutorials show you how to use the tool. It is important that you were able to get the schematic editor open and be able to save a file. If you have any problems, please see a TA for help