Cadence Tutorial C: Simulating DC and Timing Characteristics
Cadence Tutorial C: Simulating DC and Timing Characteristics
Created for the MSU VLSI program by Professor A. Mason and the AMSaC lab group
Last updated by Waqar A Qureshi FS08 (convert to spectre simulator)
Document Contents
Introduction
Layout Extraction with Parasitic Capacitances
Timing Analysis
DC Analysis
Introduction
This document is the third of a three-part tutorial for using CADENCE Custom IC Design Tools
for a typical bottom-up circuit design flow with the AMI/C5N process technology and NCSU
design kit. Tutorial A and B cover the use of the Virtuoso schematic entry tool, Virtuoso analog
simulation tool and Virtuoso layout tool. This tutorial covers the timing analysis on the
schematic and extracted view. It is assumed you have followed Tutorials A and B and have the
schematic and layout views of a CMOS inverter.
• In the Environment Options window, under the line Switch View List. type the word
“extracted” before the word “schematic” (see below). Then click on OK.
This entry is an ordered list of cell views which contain information that can be simulated.
The simulator (in fact the netlister) will search until it finds one of these cellviews. The
default entry does not contain an extracted cellview. As a result of this modification, the
simulator will use the extracted cellview instead of the schematic cellview to include the
effect of parasitic capacitance in the simulation.
• Make sure to check the Y for Use SPICE Netlist Reader(spp), since the default transistor
model files are written in SPICE syntax.
This assumes your input and output node are called ‘A’ and ‘Y’ and attaches a load
capacitance to the output that simulates the input capacitance of gates attached to the output
This assumes your input node is called ‘A’. Note an output capacitance is not needed since
we are doing a DC analysis and timing will not be considered. Instead a DC statement is
needed.
line 2: the “parameters” statement declares a simulation variable called “vs”, which is
initialized to 0. This parameter will be used to sweep the dc value of the voltage at input node
A. You can give this any name and starting value.
line 5: definition of a voltage source at the input node A. Notice that the dc voltage value is
set to the variable “vs” as defined in line 2. This allows the value to be swept instead rather
than being constant.
line 6: the DC sweep statement. The first field “dcs” is the name of the dc sweep (can be any
alphanumeric name). The second field “dc” is required to specify the command. The third
field “param=vs” specifies the parameter to be swept; in this case, it is the voltage at the
inverter input. The fourth and fifth fields (“start” and “stop”) specify the bounds of the
sweep. The sixth field “step=0.01” specifies the sweep step interval. Decreasing/increasing
this value will increase/decrease the dc operating point precision, but take more/less time to
simulate.
• In the Virtuoso Analog Design Environment, include this new stimulus file by clicking Setup
=> Simulation Files. If a file exists in the “Stimulus File” box, delete it. Then add the name
of the new file in the “Stimulus File” box.
After a successful simulation, an output signal plot will pop up showing the voltage transfer
curve. If the plot does not look like you would expect, check your steps and repeat until the
correct output is obtained.
• To save the simulation state, in the Virtuoso Analog Circuit Design Environment window
select Session => Save State
The “Save As” field does not have to be a unique name for all designs; the state is saved
within the directory of the current cell view, so you can use the same Save As name for
multiple cells without overwriting each other.. For example, cells named inv and nand2 can
both independently have the state “state1” saved.
Saving all simulation data can take a lot of memory so you may find it useful to alter the
What to Save parameters to save only the items you need to run future simulatoins. Saving
outputs from complex cells with multiple plotted node waveforms can generate very large
files.
THE END