You are on page 1of 6


This sheet contains information concerning typical issues that may be encountered in the Cadence framework and how to solve them, as well as some tips that can be useful when working with Cadence. EMERGENCY TIPS!!! - HANDLING CADENCE CRASHES Cadence tools are large, complex applications and sometimes they can crash. Usually, Cadence windows suddenly disappear when that happens, and you get some warning messages in the shell window. Cadence may also crash if your X server crashes (this is not the case for VNC connections, but it is with X-Win32, EXCEED and the like). Dont panic yet. There are some basic procedures you can follow so that the impact of these unusual (?) situations is minimized. a) Save your work from time to time. Rather obvious. b) When Cadence seems to hung, so that it seems that you cannot do anything on any Cadence window, before closing Cadence do the following: - Look at the mouse pointer. If it is not showing a clock when you are on Cadence windows, make sure that there is not any small pop-up window hidden and waiting for you to enter a certain parameter. - Be patient. Some Cadence procedures take some time (not more than 3-4 minutes in any case, dont be so patient). c) If you have decided that Cadence is really hung and its time to close it, write the following from the shell window: $ kill -HUP <your icfb process number> This will give Cadence a break to save all files in a certain way (creating a panic.log file, see below). How to recover? d) AFTER A CRASH: usually you will have in your Cadence working directory two new files: A core file. Remove it, it uses to be rather large. Type: $ rm core A panic.log file. You can use this file to recover the file you were editing. Open Cadence again and see the damage. Try to open again the cellview(s) you were working on. Tree things may happen: d.1. The cellviews are OK and you can open them. You are lucky. d.2. The cellviews dont have the more recent changes. They were not saved from a long time ago. Read the panic.log file in your Cadence working directory, you will get there the instructions to recover such file.

Cellview (loopgain schematic) from lib (ThirdOrder) is saved in the panic file (/nfs/guille/analog1/k/kaj/AMI/ThirdOrder/loopgain/schematic/ -) To recover do: dbOpenPanicCellView("ThirdOrder" "loopgain" "schematic")

You can invoke it (the command is written in the lower field of the icfb CIW window). d.3. The cellviews cannot be opened for editing. They are edit locked When you edit a design, Cadence establishes an edit lock' so someone else won't be able to edit the file until you're done. Sometimes (for example, when your session crashes and you can't get back on the same computer), the edit lock becomes stranded, meaning that it hangs around (even though you're not editing the file any more) and prevents you and others from doing any edits. To unlock the files, try the following: PROCEDURE 1 (very elegant): You can try manually releasing the edit lock by using a program called clsAdminTool. Try the following: , type add cadence. At the shell prompt, type clsAdminTool; you'll get a > prompt. Type ale /full/path/to/your/library/directory (using the correct path to your library, of course). You should get a list of existing locks in that library. There are two ways to release the lock in question: To release all the locks in the library, type are /full/path/to/your/library/directory. To release the lock on a particular file, type asre /full/path/to/the/locked/file. Type quit or exit. You can also type ? or help to get a list of commands. PROCEDURE 2 (not very elegant): If the above doesn't work, Build the following expression in the CIW prompt: ddLockFree(ddLockPath("path to affected file")) The locking service can take a long time to process the request. If you still have problems opening cells, try the following: a) Exit from Cadence. b) At the shell prompt, type: CLS_CDSD_COMPATIBILITY_LOCKING=NO c) Restart Cadence and repeat the above ddLockFree command. PROCEDURE 3 (not elegant at all, yet it is simple and it always works): You may have to just copy the cell in question to a new name and edit that instead.

MINIMIZING RISKS OF LIBRARY DATABASE CORRUPTION Tool crashes can lead to database corruption-this is very bad. A corrupted database can cause a previously viable library to be destroyed, including all your work inside it. These are some warnings to minimize the risk: Avoid using UNIX commands to manipulate the library structure if possible. All moving, renaming, copying, and deleting of libraries, cells, and cellviews should be done through the Library Manager. Every window will include a command in its menu structure to close the window. Only this command should be used when closing a tool window. Most window managers provide a popup menu which can minimize, maximize, close, etc, a window; never close a Cadence tool window in this way. If no menu command is provided to close a window then do not try to close it---just move it out of the way or minimize it when done. When quitting, always do it by selecting File > Exit ... from the menu in the icfb window.

1. Recovering simulation data: If a spectreS simulation is interrupted for any reason (power glitch, crash, etc), there is a way to continue the simulation from the point where it broke. a) Go down to the directory ~/simulation/cellname/spectreS/schematic/netlist, where cellname is the cell schematic that you were simulating. b) Edit the file runSpectre, and add the option +recover to the spectre command line. c) Invoke spectreS by typing runSpectre at the shell prompt. Spectre will continue the simulation starting from where it was interrupted. Once the simulation finishes, the results can be loaded back into Analog Artist by selecting Results>Select in the menu. Important: Spectre will not append to the previous data file. It will create a new one. Therefore, before restarting the simulation, you should save the previous data using the Results->Save Results menu option. 2. Looking at transistor parameters: (for spectreS only) If you want to know a specific DC operating point parameter for a transistor (gm, vdsat, etc), follow these instructions: a) In the Analog Artist Simulation window, select: Tools->Results Browser Click OK in the project directory form. The results browser window opens. This window can be used to access any information related with the simulation. For example, to find the gm of a transistor, follow this path: schematic->psf->Run1->>[transistor]->gm

The results marked in yellow can be selected and pasted in the calculator window (with the left mouse button), or directly in the waveform window (with the right mouse button), depending on their nature. 3. Changing the number of digits displayed: There is no menu command to do this. You have to use a SKILL command (SKILL is the language on which Cadence is supported). In the CIW (or log window), type: aelPushSignifDigits(8) and press return. Make sure you type the right capital letters. This will change the number of significant digits to 8. 4. Information concerning the different Spectre analysis You can either check the Spectre online manual in the Cadence online help or check the help file of Spectre from UNIX command line using : $ spectre help analysis e.g., to see info about different convergence methods and parameters simulation, type $ spectre -help tran in a Spectre transient

LAYOUT TIPS 1. To find information concerning the technology employed in a certain library From the icfb CIW window, select Technology File -> Dump. The following window appears:

Pick the desired library, choose the technology information you want to obtain and enter the filename where this information is going to be dumped. For instance, in the former window the

layer properties are dumped in a text file named zzz.txt. At the end of this file the sheet resistance and unit capacitance of different layers can be found, as seen below.

2. To see pins in the layout When you open a layout where you formerly created pins, they are not seen by default. To see them, select Options > Display and check the box Pin Names.

3. Extracting joint nets Sometimes you have several nodes that are going to be connected to the same net (eg. VDD and VSS) but maybe not in the layout you are editing, but at a higher hierarchical level. To avoid the need to connect them just to pass the LVS check, you can assign these nodes the same name and, in the extraction window, you have to check the Joint Nets With Same Name option. By the way, the extraction switch Keep_labels_in_extracted_view selected in this window allows to import the labels in the extracted view, so that debugging is easier.