Department of Electrical and Computer Engineering (archive)

Frequently Asked Questions

How is Cadence software used in the UNIX environment?

The way we make it possible to execute the many tools present in the Cadence package is by creating a file called .software that gets called by the user profile.

Edit this new file using your favorite text editor and add a line for each software you need to use. Valid entries can be: IC, ASSURA, IUS... The most important and widely used package is IC because it contains all the basic libraries needed for designing and simulating circuits. If you do not know which package includes the tool you need, send a Support Request to CSG.

Note: When you update your .software file, you will need to log out and log back in before the changes take effect.


What is library reference in the cds.lib file?

The goal is to have a cds.lib file in your home directory that defines the reference libraries common to ALL your projects and a cds.lib in your project directory that defines the project-related libraries.

For example, you will have ~/cds.lib, and also ~/my_project/cds.lib. For ease of relocating your libraries, we recommend you use relative paths. For instance, use ./amplifier to reference the amplifier library in the current working directory instead of /home/username/my_project/amplifer.

The ~/cds.lib file should have INCLUDE statements only including system-wide library declarations like "INCLUDE $CDS_SITE/cdssetup/cds.lib".

In each project directory you create and need to use the globally defined libraries, create a cds.lib and include the following line "INCLUDE ~/cds.lib". Any of your own libraries should be defined after this line. For example, ~/my_project/cds.lib will include the line "INCLUDE ~/cds.lib".

You can create/edit the files: ~/.cdsinit, ~/.cdsenv, ./.cdsinit, ./.cdsenv and ~/display.drf. They are optional, and you can include them in your home directory only to override the global settings. Check the tutorials page for other related information.


How do I give read and execute permissions for a folder?

Locate the directory and type 'Is -la directory'. Make sure the Read & Execute options are turned off for others, and type 'chmod -R 755 directory'.


I don't see my libraries in the library manager window, but I have them in my Cadence folder. What do I do?

You either have deleted the cds.lib file in that folder, or you did not start the Cadence environment from that folder.

Make sure you are located in that folder, and run the 'icfb' command. If you still cannot see your libraries, go to Library Manager>Edit>Library Path, and add your libraries manually. Or else you could just edit the cds.lib file in your directory.


I am using TSMC035 toolkit and I do not see any schematics in any libraries. What do I do?

If you already have the extracted view, you can generate a synthesised verilog netlist using Verilog-XL and then import that to create an schematic

Here are the steps:
1. Open up the cell for which you want a schematic in extracted view.

2. Click Tools>Verilog-XL, and then the Run button. (This creates a netlist of the extracted view in the Run Director" as mentioned in Setup Environment.) Change the run directory to /local/(Library Name)

3. Copy the verilog netlist file located at /local/(Library Name)/ihnl/cds0/netlist to a file name such as /home/(username)/cmosp35/schematic.v".

4. In the main CIW window of Cadence, click File>Import>Verilog.

5. Create a test library where you can put in the Target Library Name in Verilog input pop-up. In Reference Libraries, include cmosp35 and in Verilog Files to Import, put the file saved as in step 3 (i.e, /home/(username)/cmosp35/schematic.v).

6. Click Apply and your schematic should be created in the Target Library Name.

7. To make sure, the schematic is correct, run LVS with the created schematic.


How do I plot a signal's spectrum?

1. After your circuit is designed, save it and open Analog Design Analyzer. After setting up the simulation's options, go to Tools>Calculator, then click on vt (i.e. transient voltage signal), and then on the net in your circuit you want to plot. 

2. Go back to the Calculator and select Special Functions, then choose "dft".

3. In the new window, enter the begining and ending time of the transient signal, as well as the number of samples.

Note: The more periods you include in the time interval, the better. The number of samples preferably should be a power of two. Press Help and look at the documentation for more information.


What are cdslck file errors?

When Cadence is not exited properly, there might be file lock problem when you restart icfb. The error messages might look like this:

>*WARNING* Couldn't get a write lock for
>"/home/username/cadence/national/cmosx/jupiter27/j27_xjw/PFMclk/layout/layout.cdb"
>    (clscompatd): Requested lock conflicts with active lock
>*WARNING* XXopen: failed to lock file
>/home/username/cadence/national/cmosx/jupiter27/j27_xjw/PFMclk/layout/layout.cdb
>in A_MODE mode -  is currently not locked.

To remove file lock:
1. Use clsAdminTool to release active locks. Type "clsAdminTool" to start, then type "help" and follow the instructions. You also can do this manually by deleting all .cdslck files under your locked-file directories.

2. Go into the Cadence directory first. Type the command to make sure you have files locked. Type " find . | grep cdslck". If you find any cdslck files remove them using this command: "for files in `find . | grep cdslck`; do rm $files; done". You can cut and paste this command.

3. Sometimes icfb still complains about file lock. Try exiting icfb and killing all icfb processes, then restarting icfb. If you still have the same file lock problem, it could be a proxy lock (the warning message looks all the same). Contact your system administrator to restart file-locking daemon (cdsd).


How do I run the Cadence environment remotely using a Mac?

1. Install X11 (x eleven). It should be in the OS install disc.

2. Run X11. It should open a white background terminal for you.

3. Remotely log in to a server that has Cadence IC (e.g. ssh linux-6.ece.iastate.edu).

4. Go to the directory where you run IC and type icfb&.


How do I run Cadence remotely from my Windows machine?

If you want to run these applications remotely, you will need an "X Server" software for Windows. A popular free version is included with the Cygwin package.

An easy-to-use version at is available at xlivecd.indiana.edu. Just burn it to a CD and run it from the CD. After you have it running, just type "ssh -X servername.ece.iastate.edu" from the X terminal prompt as you would in the labs. The "servername" must be replaced by the actual name of the server you chose (e.g. linux-5, saturn).

X-win32

If you use X frequently, we suggest you install Cygwin or X-win32 permanently. Contact CSG to get the full X-win32 install. The one available on the www.starnet.com Web site is only a demo. Once X-win32 is installed, you can run from the Start menu, and a blue "x" sign should appear in the right side of the task bar.

Right-click on it and you should see a menu, click on X-win Configuration, then go to License and insert the license number CSG gave you. Go back to the Start menu and click on PuTTY, enter the hostname with Port 22(SSH), and on the left menu go to Connection / SSH / X11 and check the Enable X11 Forwarding box. Lastly, click Open.

Cygwin

Go to www.cygwin.com and click on the icon Install Cygwin Now. It will ask you to save the file setup.exe on your computer. After it is done downloading, run it. Unless you have a specific reason to do otherwise, leave the install options as default. After choosing a download site, you will be taken to the list of packages you want to install. If you plan to use cygwin from your Windows desktop to remotely connect to other servers, you will want to add the following packages:
+ Net / openssh
+ X11 / xorg-x11-base

Although not necessary, you might also want to look at getting your favorite shell and text editor.

After you are done installing, open the Cygwin Bash Shell from you Start>Programs list. A black window with gray text will open: This is your current Windows desktop viewed through a UNIX shell.
 
IMPORTANT: For remotely using applications that require X (graphical interface), type: startx. If startx is not in your path, then type: /usr/X11R6/bin/startx. This will start a white window with dark text. A black X will show in your Notification Area (lower-right of screen) and you can now use ssh to run applications remotely with the following command: ssh -X username@servername. This is called starting the X server on your client. If X is not started on your side, you will not be able to tunnel X applications through your ssh connection.

NOTE: If you are connected to a remote server and you are facing problems starting X applications, first check whether you have successfully enabled X tunneling. Type: xclock. If an analog clock shows on your desktop, then you are successful. Otherwise you ned to log out and make sure the X server is started and your ssh connection is tunneling X.


I ran out of disk space and/or it takes too much time to log on a Windows machine. Why is this and what can I do?

There is a hidden folder in U:\.ntprofile  (~/.ntprofile if using UNIX shell) that contains all of your Windows settings (Desktop, My Documents, Favorites, etc.). If it takes too much time to log in or if you run out of disk space, you are probably, it is likely because of the time it takes to download that folder. CSG can increase your quota, but that will not fix your log in problems.

We suggest having your Windows profile reset, but CSG can do this only if you are not currently logged in to a Windows machine. You can either log out of Windows, and log in to a Linux machine and rename the ".ntprofile" to something like "old-profile" or you can have CSG do that for you. The next time you log in to Windows, it should be much faster, but all of your settings will be reset.

Your files should still be in U:\old-profile, and you will need to delete anything you do not need in order to free some space.