Aim Spice Tutorial v3

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 6
At a glance
Powered by AI
The key takeaways are that SPICE is a standard circuit simulation tool that can be used to analyze DC, AC, and transient behavior of circuits. It provides invaluable insights into circuit operation.

The steps to download and install SPICE are to search for AIM SPICE online, click download, run the install file, and select a directory to install to.

To create a SPICE netlist, each circuit element needs to be identified with a node number and value. The netlist is then typed or pasted into the SPICE program as lines of code describing the circuit.

AIM SPICE CIRCUIT SIMULATION GUIDE September 2004

SPICE is the standard circuit simulator in the industry. You can code in your circuit schematic and SPICE
will compute a number of variables, such as DC node voltages, transfer curves, frequency response curves,
and transient analysis showing timing response of the circuit to pulsed or otherwise time varying input. It is
an invaluable tool in design and will also allow a student to probe the mysteries of electronics by giving you
the answers. We will download a SPICE version that is suitable for PCs (sorry Mac lovers like me).

There is a readme.txt file to help you, and there is a help icon within SPICE. Searching google for AIM
SPICE returns many sources of information.

There are three steps in this learning:

1. Download AIM SPICE from a web site. You can find this site by typing “aim spice” on
the google search engine. Or you can go to http://www.aimspice.com/. Click on ‘download
software’. Click on the install file. If you are installing on the computers in Room ECE 211, install
to this directory “C\documents and settings (your profile)\Aimspice” You are ready to learn SPICE.

2. Creating a SPICE program of the circuit called a netlist. We will learn by example.

3. Running the simulator and asking for appropriate output information.

We will go to SPICE examples. Running one example successfully gets you 90% to the final goal. A bit of
practice setting up and running SPICE programs will make you an expert in a short time. Daily practice is a
good idea even if you’re just doing simple things.

Example-1
This is the simplest of circuits using a power supply and two series resistors. The schematic is below, and
the SPICE code is written below the circuit. SPICE requires that the first line be a title text. Each element in
the circuit (vdd, R1, and R2) is identified by node numbers and a value. Ground is usually given a zero node
number. You will type in the SPICE netlist inside the simulator program in a text editor similar to WORD.
The netlist is shown next to the schematic.
2V

1 Example1 using vdd and resistors


R1 vdd 1 0 dc 2v
r1 1 2 5k
2
r2 2 0 10k
R2


Getting into SPICE and Writing the Code:
Double click on the file ‘aimspice.exe’. An untitled file will appear. Go to ‘save as’ in the file menu on top.
Save it as any name you want to give it. You will then notice that the file picked up an extension of ‘.cir’ A
*.cir is required for running SPICE. Now type in the lines of code as shown above for the circuit. Save the
file so you don’t lose your work.

The ‘OP’ icon on the top stands for operation, or operating (DC) voltages The AIM-Spice Toolbars in the
help section explain all of the icons. Click on the ‘OP’ icon. A dialog box showing the simulation statistics
will pop up, followed by an EXCEL looking file showing the computed node voltages. Congratulations!
You have just run your first SPICE circuit. Other icons give graphical outputs that can be used as is or copied
to a WORD, PowerPoint, or EXCEL file for more presentation flexibility.

OUTPUT
Example1 using vdd and resistors
Variables in circuit Values
v(1) 2V
v(2) 1.33333 V
i(vdd) -0.000133333 A

EXAMPLE –2
The SPICE code for the ac circuit below is given to the right of the circuit. Simulate a frequency
response curve.

1 R1 2 AC circuit
vin 1 0 1 ac
r1 1 2 10k
vin r2 2 0 50k
R2 C2
c2 2 0 1n

Click on the ‘AC’ icon. Several dialog boxes will pop up. For the “AC Analysis Parameters” box, enter the
following parameters and click on “run”:

LIN

Number of points=1000

Start frequency=0

End Frequency=200k

Click on “OK.” A second dialog box asks for the variables to plot. Look at your schematic and netlist and
select “magnitude plot” and “v(2) voltage” for the variable. You will get an x-y plot with no data. You will
get the plot in a moment. Now go under the “Control” menu at the top and click on “Start Simulation’. A
popup box appears giving run “Simulation Statistics.” Click on “OK” and the curve appears on the plot. The
‘format’ menu allows you to adjust the axis data marks or the legend. Auto-scale also does a good job.
You can plot the curve by double clicking inside the figure and it will expand to screen full scale. There are
two ways to copy the curve: (1) go to the ‘edit’ menu, click ‘copy’ for the plot graphic, and paste into a
WORD file, or (2) Go to the ‘file’ menu and click on ‘export to spreadsheet’ to put the data into an EXCEL
type file. Copy the data in the file (using keyboard commands -control-a and control-c) and paste into an
EXCEL file (control-v) for your further manipulation.

OUTPUT: The frequency response

mag('v(2)')
1.0

0.8

0.6
Vout [V]
0.4

0.2

0.0
0.0K 50.0K 100.0K 150.0K 200.0K
Frequency [Hz]

EXAMPLE-3
Run the following nMOS circuit using the “OP” tool to give you a DC analysis. The number code for a
MOSFET is D G S B (that is m2 2 1 0 0 below)

nMOS resistor circuit


vdd 3 0 dc 3
vin 1 0 dc 1.0
rd 3 2 50k
m2 2 1 0 0 ntype l=1.0u w=4.0u
.model ntype nmos level=2 vto=0.5 kp=25e-6

Having Problems? The letter “l” is virtually identical to the number “1.” The line code for the nmos uses
length (l=1.0u) The processing constant kp in SPICE is not defined with a divide by two as your long channel
model does in the book. Divide the kp in SPICE by two, and your answer for transistor current should match
12.5 µ A. SPICE is doing a long channel analysis for Level=2.

OUTPUT

nMOS resistor circuit

Variables in circuit Values

v(3) 3V
v(1) 1V

v(2) 2.375 V

i(vin) 0A

i(vdd) -1.25E-005 A

EXAMPLE-4
The simple CMOS inverter has two transistors, but great complexity. The voltage transfer curve plotting
VOUT versus VIN is fundamental. Write the SPICE netlist below (and watch your “l”), click on “DC” icon,
and plot the results.

CMOS Inverter Transfer Curve


vdd 3 0 dc 2
vin 1 0 dc 0.0 pulse(0 2 5ns 2ns 2ns 40ns)
m1 2 1 3 3 ptype l=2u w=8u
m2 2 1 0 0 ntype l=2u w=4u
.model ptype pmos(level=2 vto=-0.5 kp=8.5e-6 gamma=0.4 phi=0.65 lambda=0.05 xj=0.5e-6)
.model ntype nmos(level=2 vto=0.5 kp=24e-6 gamma=0.15 phi=0.65 lambda=0.015 xj=0.5e-6)

OUTPUT Voltage Transfer Curve (Double click on the plot. Make the plot “pretty”, and then go to ‘edit’
menu, and ‘copy’. Then paste into a report.

'v(2)'
2.0

1.5

VOUT1.0
[V]

0.5

0.0
0.0 0.5 1.0 1.5 2.0
VIN [V]

SPICE trick: Plot v(2) and vin and you will get the transfer curve and a 45o line. The intersection defines the
logic threshold voltage (Vthr).

Now run a transient analysis using “TR” with these parameters


Step Size=0.1

Final Time=60ns

Plot with respect to variables v(1) and v(2)

OUTPUT Transient Analysis

'v(1)' 'v(2)'
2.5

2.0

1.5
vOUT [V]

1.0

0.5

0.0

-0.5
0n 20n 40n 60n
Tme [ns]

Observe that no capacitors were inserted in the transistor model description so no real timing analysis
occurred. Your delay in the curve is the increment defined in the plot. You will be emailed a model
description for p- and n-MOS transistors that includes capacitance and other parameters that make the
calculation more accurate.
Detailed Level=2 transistor parameters and CMOS inverter curve

CMOS Inverter Transfer Curve


vdd 3 0 dc 2
vin 1 0 dc 0.0 pulse(0 2 5ns 2ns 2ns 40ns)
c1 2 0 100f
m1 2 1 3 3 ptype l=2u w=8u
m2 2 1 0 0 ntype l=2u w=4u
.MODEL CMOSN NMOS LEVEL=2 LD = 0.250000U TOX=417.000008E-10 NSUB=6.108619E+14
VTO=0.825008 KP=4.919000E-05 GAMMA=0.172 PHI=0.6 UO=594 UEXP=6.682275E-02
UCRIT=5000 DELTA=5.08308 VMAX=65547.3 XJ=0.250000U LAMBDA=6.636197E-03
NFS=1.98E+11 NEFF=1 NSS=1.000000E+10 TPG=1.000000 RSH=32.740000 CGDO=3.10534E-10
CGSO=3.105345E-10 CGBO=3.848530E-10 CJ=9.494900E-05 MJ=0.847099 CJSW=4.410100E-10
MJSW=0.334060 PB=0.800000
.MODEL CMOSP PMOS LEVEL=2 LD = 0.227236U TOX=417.000008E-10 NSUB=1.056124E+16
VTO=-0.937048 KP=1.731000E-05 GAMMA=0.715 PHI=0.6 UO=209 UEXP=0.23383
UCRIT=47509.9 DELTA=1.07179 VMAX=100000 XJ=0.250000U LAMBDA=4.391428E-02
NFS=3.27E+11 NEFF=1.001 NSS=1.000000E+10 TPG=-1.000000 RSH=72.960000
CGDO=2.822585E-10 CGSO=2.822585E-10 CGBO=5.292375E-10 CJ=3.224200E-04 MJ=0.584956
CJSW=2.979100E-10 MJSW=0.310807 PB=0.800000

'v(1)' 'v(2)'
4.0

3.0
VOUT [V]

2.0

1.0

0.0

-1.0
0n 5n 10n 15n 20n 25n
time [sec]

You might also like