Post on 31-Dec-2015
description
Lecture on PSpice
Introduction to SPICE
SPICE was originally developed at the University of California, Berkeley (1975).
Simulation Program for Integrated Circuits Emphasis HSPICE = High-performance SPICE PSpice = PC version of SPICE
SPICE Functions DC analysis:
DC transfer curve Transient analysis:
voltage and current as a function of time AC Analysis:
output as a function of frequency Noise analysis and more …. SPICE has analog and digital libraries for standard
components(Transistor, NAND, NOR, …)
Different temperatures Default temperature is 300K
Components
Independent voltage and current sources Dependent voltage and current sources Resistor Capacitor Inductor Operational amplifier Transistor Digital gates …
SPICE Source File
Title statement: first line Data statements: specify the Circuit, components,
interconnections Control statements: specify what types of analysis to
perform on the circuit. Output statements: specify outputs Comment statements: begin with an asterisk (*) End statement: .END <carriage return> "+" sign (continuation sign)
Suffixes
T Tera (10+12) G Giga (10+9) MEG Mega (10+6) K Kilo (10+3) M Mili (10-3) U Micro (10-6) N Nano (10-9) P Pico (10-12) F Femto (10-15)
Independent DC Sources Voltage source: Vname N+ N- Type Value Current source: Iname N+ N- Type Value
Type: DC, AC or TRAN (transient) (like PULSE, …) Vin 2 0 DC 10 Vin 2 0 AC 10 Is 3 4 DC 1.5 Voltage and Current Conventions
N1(+)
N2(-)
N1(+)
N2(-)
Dependent DC Sources Voltage controlled voltage source:
Ename N+ N- NC+ NC- Value Voltage controlled current source:
Gname N+ N- NC+ NC- Value Current controlled voltage source:
Hname N+ N- Vmeas Value Current controlled current source:
Fname N+ N- Vmeas Value N+ and N- are terminals of the dependent source NC+ and NC- are terminals of the controlling voltage source
Ename N+ N- NC+ NC- α Gname N+ N- NC+ NC- γ
Hname N+ N- Vmeas ρ Fname N+ N- Vmeas β
Vmeas
N+
N-
Vmeas
Example
F1 0 3 Vmeas 0.5
Vmeas 4 0 DC 0
Resistors, Capacitors, Inductors
Rname N+ N- Value Cname N+ N- Value <IC> Lname N+ N- Value <IC> IC = initial condition (DC voltage or current)
Example: C1 3 4 1pF 5V C2 1 2 2pF L1 3 4 1mHL2 7 3 2mH 1mA
1pF_
4
3
+5V
Damped Sinusoidal Sources Vname N+ N- SIN(VO VA FREQ TD THETA PHASE)
VO - offset voltage in volt. VA - amplitude in volt. f = FREQ in Hz TD - delay in seconds THETA - damping factor per second Phase - phase in degrees If TD, THETA and PHASE are not specified, it is assumed to be zero. Example: V1 1 2 SIN(5 10 50 0.2 0.1)
V2 3 4 SIN(0 10 50)
360/PHASE)TD(2sinVAVOVname )(THET tfe TDtA
0 0.5 1 1.5 2 2.5 3 3.50
1
2
3
4
5
6
7
8
9
10
F=1, THETA=.4, VO=5, VA=3, TD=0, Phase=600
Piecewise linear source (PWL)
Vname N+ N- PWL(T1 V1 T2 V2 T3 V3 ...)
Vi is the value source at time Ti
Example: Vg 1 2 PWL(0 0 10U 5 100U 5 110U 0)
Pulse Vname N+ N- PULSE(V1 V2 TD Tr Tf PW Period) V1 - initial voltage V2 - peak voltage TD - initial delay time Tr - rise time Tf - fall time pw- pulse-width Period - period
Subcircuits A subcircuit allows you to define a collection of
elements as a subcircuit (e.g. an operational amplifier).SUBCKT SUBNAME N1 N2 N3 ... Element statements . .ENDS SUBNAME
N1, N2, N3 are the external nodes of the subcircuit. The external nodes cannot be 0.
The node numbers used inside a subcircuit are strictly local, except for node 0 which is always global.
Example: µ741 (Op Amp)
* Subcircuit for 741 op amp * +in (=1) -in (=2) out (=3)
.subckt opamp741 1 2 3 rin 1 2 2meg rout 6 3 75 e1 4 0 1 2 100k r1 4 5 0.5meg c1 5 0 31.85nf eout 6 0 5 0 1 .ends opamp741
Using Subcircuit
vs 1 0 dc 5
r1 1 2 200
rf 2 3 1k
x1 0 2 3 opamp741
.dc vs 0 10 1
.option post
.end
.OP Statement
Instructs SPICE to compute DC operating points voltage at each node current in each voltage source operating point for each element
.DC Statement
Increment (sweep) an independent source over a certain range with a specified step
.DC SRCname START STOP STEP
SRCname = name of the source START and STOP = starting and ending values STEP = size of increments Example: .DC V1 0 20 2
.TRAN Statement
Specifies time interval for transient analysis
.TRAN TSTEP TSTOP <TSTART>
TSTEP = increment TSTOP = final time TSTART = starting time
.AC Statement Specify frequency (AC) analysis
.AC LIN NP FSTART FSTOP
LIN = linear frequency variation NP = number of points. FSTART and FSTOP = start and stopping frequencies
(Hz) Example: .AC LIN 10 1000 2000
Output Statements
.PLOT plots selected output variables, to design.lis using ASCII characters. .PLOT is useful for looking at plotted results without access to AvanWaves.
.PRINT DC V(2) prints node voltage value for node 2 in the design.lis file.
.PRINT & .PLOT .PRINT TYPE OV1 OV2 OV3 ... .PLOT TYPE OV1 OV2 OV3 ... TYPE = type of analysis printed or plotted
DC TRAN AC
OV1, OV2 = output variables
Examples: .PLOT DC V(1,2) V(3) I(Vmeas) .PRINT TRAN V(3,1) I(Vmeas)
Example 1
* We are interested in finding the following characteristics:
* 1. Node voltages v12, v2 and current i4 when vin=10V
* 2. Thevenin equivalent voltage and resistance, seen
* at the output terminals v(3,0)
VIN 1 0 DC 10
VMEAS 4 0 DC 0
*VMEAS is a 0V source to measure i4
F1 0 3 VMEAS 0.5
R1 1 2 1K
R2 2 3 10K
R3 1 3 15K
R4 2 4 40K
R5 3 0 50K
.tran .01n 50n
.TF V(3,0) VIN
.DC VIN 0 20 2
.PLOT DC V(1,2)
.END
Example 2
Pulse
0.1n
50n
0.1n
100n
10M
10M
1uF
5V
* pulse generator
* +node -node V1 V2 TD TR TF PW PER
VIN 1 0 PULSE ( 0 5 0 0.1N 0.1N 50N 100N)
R1 1 2 10M
R2 2 0 10M
C1 2 0 1uF
* transient simulation for 50ns with 0.01ns step size
.tran .1n 500n
* dc simulation with stimulus voltage (source VIN) from 0 to 5V in 0.1V steps
.DC VIN 0 5 0.01
.end
Example 3
* TheveninVs 1 0 DC 10VE1 3 2 4 6 5R1 1 2 5R2 1 4 5R3 0 4 5R4 3 4 10R5 2 5 10R6 2 6 10R7 5 4 10R8 4 6 10.TF V(5,6) Vs
.plot DC V(5,6)
.plot DC I(Vs)
.DC Vs 0 100 10
.END
0
1 2
3 65
4
+
10V
_
5V46
-
+
5
5
5
10 10 10
10 10
Example 4
OLD_HW1_Solution* TheveninVs 2 5 DC 100VVmeas 2 3 DC 0VFx 6 7 Vmeas 4.0Ex 2 1 5 4 3.0R1 3 4 5.0R2 4 7 5.0R3 5 4 4.0R4 7 0 4.8R5 5 6 1.0R10 1 0 1MEG.TF V(4,0) Vs.plot DC V(5,4).plot DC V(1,0).plot DC I(Vmeas).DC Vs 0 100 10.tran 1n 50n 0.END
Example 5
10MVs =
1V AC1nF
1mH
21
0
OLD_HW2_Solution
Vs 1 0 AC 1L1 1 2 1mC1 1 2 1nR1 2 0 10M.AC LIN 10 1000 2000plot AC V(1,2) I(Vs).END