P Spice Manual
P Spice Manual
1. INTRODUCTION
SPICE is a powerful general purpose analog and mixed-mode circuit simulator that is used to verify circuit
designs and to predict the circuit behavior. This is of particular importance for integrated circuits. It was for
this reason that SPICE was originally developed at the Electronics Research Laboratory of the University of
California, Berkeley (1975), as its name implies:
Simulation Program for Integrated Circuits Emphasis.
PSpice is a PC version of SPICE (which is currently available from OrCAD Corp. of Cadence Design Systems,
Inc.). A student version (with limited capabilities) comes with various textbooks. The OrCAD student
edition is called PSpice AD Lite. Information about Pspice AD is available from the OrCAD website:
http://www.orcad.com/pspicead.aspx
The PSpice Light version has the following limitations: circuits have a maximum of 64 nodes, 10 transistors
and 2 operational amplifiers.
SPICE can do several types of circuit analyses. Here are the most important ones:
• Non-linear DC analysis: calculates the DC transfer curve.
• Non-linear transient and Fourier analysis: calculates the voltage and current as a function of time
when a large signal is applied; Fourier analysis gives the frequency spectrum.
• Linear AC Analysis: calculates the output as a function of frequency. A bode plot is generated.
• Noise analysis
• Parametric analysis
• Monte Carlo Analysis
In addition, PSpice has analog and digital libraries of standard components (such as NAND, NOR, flip-flops,
MUXes, FPGA, PLDs and many more digital components, ). This makes it a useful tool for a wide range of
analog and digital applications.
All analyses can be done at different temperatures. The default temperature is 300K.
The circuit can contain the following components:
• Independent and dependent voltage and current sources
• Resistors
• Capacitors
• Inductors
• Mutual inductors
• Transmission lines
• Operational amplifiers
• Switches
• Diodes
• Bipolar transistors
• MOS transistors
• JFET
• MESFET
• Digital gates
• and other components (see users manual).
An alternative way is to use a schematic entry program such as OrCAD CAPTURE. OrCAD Capture is
bundled with PSpice Lite AD on the same CD that is supplied with the textbook. Capture is a user-friendly
program that allows you to capture the schematic of the circuits and to specify the type of simulation.
Capture is non only intended to generate the input for PSpice but also for PCD layout design programs.
The following figure summarizes the different steps involved in simulating a circuit with Capture and
PSpice. We'll describe each of these briefly through a couple of examples.
The values of elements can be specified using scaling factors (upper or lower case):
Both upper and lower case letters are allowed in PSpice. As an example, one can specify a capacitor of 225
picofarad in the following ways:
225P, 225p, 225pF; 225pFarad; 225E-12; 0.225N
Notice that Mega is written as MEG, e.g. a 15 megaOhm resistor can be specified as 15MEG, 15MEGohm,
15meg, or 15E6. Be careful not to use M for Mega! When you write 15Mohm or 15M, Spice will read this
as 15 milliOhm!
We'll illustrate the different types of simulations for the following circuit:
Note that the only program you need to start is “Capture Lite Edition.” The other programs will run
automatically as they’re needed.
5. The schematic editor will open. Enter the following schematic into the program:
A new page will open in the Project Design Manager as shown below.
Figure 3: Design manager with schematic window and toolbars (OrCAD screen capture)
3. Select the library that contains the required components. Type the beginning of the name in the Part box.
The part list will scroll to the components whose name contains the same letters. If the library is not available,
you need to add the library, by clicking on the Add Library button. This will bring up the Add Library window.
Select the desired library. For Spice you should select the libraries from the Capture/Library/PSpice folder.
Analog: contains the passive components (R,L,C), mutual inductane, transmission line,
and voltage and current dependent sources (voltage dependent voltage source E, current-dependent
current source F, voltage-dependent current source G and current-dependent voltage source H).
Source: give the different type of independent voltage and current sources, such as Vdc,
Idc, Vac, Iac, Vsin, Vexp, pulse, piecewise linear, etc. Browse the library to see what is available.
Eval: provides diodes (D…), bipolar transistors (Q…), MOS transistors, JFETs (J…),
real opamp such as the u741, switches (SW_tClose, SW_tOpen), various digital gates
and components.
Abm: contains a selection of interesting mathematical operators that can be applied to signals, such as
multiplication (MULT), summation (SUM), Square Root (SWRT),
Laplace (LAPLACE), arctan (ARCTAN), and many more.
Special: contains a variety of other components, such as PARAM, NODESET, etc.
4. Place the resistors, capacitor (from the Analog library), and the DC voltage and current source.
You can place the part by the left mouse click.
You can rotate the components by clicking on the R key.
To place another instance of the same part, click the left mouse button again.
Hit the ESC key when done with a particular element.
You can add initial conditions to the capacitor. Double-click on the part; this will open the
Property window that looks like a spreadsheet. Under the column, labeled IC, enter the value of the
initial condition, e.g. 2V. For our example we assume that IC was 0V (this is the default value).
5. After placing all part, you need to place the Ground terminal by clicking on the GND icon (on
the right side toolbar – see Fig. 3). When the Place Ground window opens, select GND/CAPSYM and give
it the name 0 (i.e. zero). Do not forget to change the name to 0, otherwise PSpice will give an error or
"Floating Node". The reason is that SPICE needs a ground terminal as the reference node that has the
node number or name 0 (zero).
Figure 5: Place the ground terminal box; the ground terminal should have the name 0
6. Now connect the elements using the Place Wire command from the menu (PLACE/WIRE) or by clicking
on the Place Wire icon.
7. You can assign names to nets or nodes using the Place Net Alias command (PLACE/NET ALIAS menu).
We will do this for the output node and input node. Name these Out and In, as shown in Figure 2.
2.1.4. Netlist
The netlist gives the list of all elements using the simple format:
R_name node1 node2 value
C_name nodex nodey value, etc.
1. You can generate the netlist by going to the PSPICE/CREATE NETLIST menu.
2. Look at the netlist by double clicking on the Output/name.net file in the Project Manager Window
(in the left side File window).
The check the direction of the current, you need to look at the netlist: the current is positive flowing from
node1 to node1 (see note on Current Direction above).
1. Create a new New Simulation Profile (from the PSpice Menu); We'll call it DC Sweep
2. For analysis select DC Sweep; enter the name of the voltage source to be swept: V1. The
start and end values and the step need to be specified: 0, 20 and 0.1V, respectively (see Fig. below).
See the
Start,
End &
Increment
value
3. Run the simulation. PSpice will generate an output file that contains the values of all voltages
and currents in the circuit.
2. You can also add traces using the "Voltage Markers" in the schematic. From the PSPICE menu select
MARKERS/VOLTAGE LEVELS. Place the makers on the Out and In node. When done, right click and select End
Mode.
Figure 10: Using Voltage Markers to show the simulation result of V(out) and V(in)
3. Go to back to PSpice. You will notice that the waveforms will appear.
4. You can add a second Y Axis and use this to display e.g. the current in Resistor R2, as shown
below. Go to PLOT/Add Y Axis. Next, add the trace for I(R2).
5. You can also use the cursors on the graphs for Vout and Vin to display the actual values at
certain points. Go to TRACE/CURSORS/DISPLAY
6. The cursors will be associated with the first trace, as indicated by the small small
rectangle around the legend for V(out) at the bottom of the window. Left click on the first trace.
The value of the x and y axes are displayed in the Probe window. When you right click on V(out)
the value of the second cursor will be given together with the difference between the first and
second cursor.
7. To place the second cursor on the second trace (for V(in)), right click the legend for V(in).
You'll notice the outline around V(in) at the bottom of the window. When you right click the
second trace the cursor will snap to it. The values of the first and second cursor will be shown in
Probe window.
8. You can chance the X and Y axes by double clicking on them.
9. When adding traces you can perform mathematical calculations on the traces, as indicated in the
Add Trace Window to the right of Figure 9.
Figure 11: Result of the DC sweep, showing Vout, Vin and the current through resistor R2. Cursors were
used for V(out) and V(in).