You are on page 1of 5

LABORATORY EXERCISE 1

CMOS Inverter Static Characteristics

Objectives
• To be acquainted with the capabilities of Electric as a schematic editor tool
• To be familiar with the basic features of the WinSpice simulation software
• To construct the schematic (circuit-level implementation) of a CMOS inverter using
Electric
• To simulate the behavior of a CMOS inverter using WinSpice
• To describe the static (DC) characteristics of a CMOS inverter through its voltage
transfer characteristic (VTC) curve
• To understand how the inverter VTC curve changes as the transistor sizes are varied

Introduction
The inverter is the simplest logic gate that is capable of performing a Boolean operation on
a single-input variable. The CMOS inverter is composed of an NMOS transistor and a PMOS
transistor with the gates connected together as the input and the drain terminals tied
together as the output. The PMOS transistor is turned on by a logic “0” voltage on its gate
while the NMOS transistor is turned on by a logic “1” voltage applied on its gate. This
"complementary" switching behavior is the key to CMOS circuit design.

Procedure
1. Load Electric.

2. Setup Electric for schematic entry. Follow instructions in the Schematic section of the
Training Manual: Setting the Schematic Technology and Changing the Lambda Size.

3. Create library Exercise using File → New Library…. Follow instructions in the Training
Manual.

4. Create new facet inverter with schematic as the facet view. Follow instructions in the
Training Manual. Make sure that the library indicated is Exercise.

5. Draw the schematic shown in Figure 1-a, following the instructions in the Schematic
section of the Training Manual. Make sure that the current technology is schematic,
analog.

a. Add the PMOS and NMOS transistors. Refer to Table 1 for the correct parameter
settings.

b. Add the export pins. Label each pin properly. Follow instructions in the Training
Manual.

c. Add the output capacitor. Refer to Table 1 for the correct property settings.

d. Connect voltage meters across the input and output ports.

e. Add the voltage sources. Follow instructions in the Training Manual. Set Vdd
= 3.3V.
Note: SPICE card for DC voltage source → DC 3.3

ASTI-VCTI OpenLab Training Series


Introduction to Full-Custom Digital IC Design Flow
Advanced Science and Technology Institute
Department of Science and Technology

f. Add the power and ground components.

g. Choose DC Analysis from the Spice list. Specify the required SPICE card by
following the instructions in the Training Manual.
Note: SPICE card for DC Analysis → 0 3.3 0.001

h. Add the connecting wires. Follow instructions in the Training Manual.

Figure 1-a. Schematic diagram for the DC analysis of a CMOS inverter.

DEVICE DEVICE NAME PROPERTIES

Width: 3.2
4-Port-Transistor (PMOS) Length: 0.35
SPICE Name: P

Width: 0.8
4-Port-Transistor (NMOS) Length: 0.35
SPICE Name: N

Capacitor Capacitance: 100fF

Table 1. Parameters for the CMOS transistors and the load capacitor.

ASTI-VCTI OpenLab Training Series


Introduction to Full-Custom Digital IC Design Flow
Advanced Science and Technology Institute
Department of Science and Technology

6. Save the schematic. Follow instructions in the Training Manual.

7. Create a SPICE netlist of your circuit by following the instructions given in the Training
Manual.

8. Simulate the circuit behavior using WinSpice. Follow instructions in the Simulation
section of the Training Manual. If errors are encountered during the simulation run,
consult the Electric and WinSpice Error/Warning Messsages section of the Training
Manual to correct these errors.

9. Complete the table below by varying the width of the PMOS transistor. Round off your
answers to two decimal places.

WN WP VOH VOL VIL VIH VM


0.80µm 3.20µm
0.80µm 1.60µm
0.80µm 0.80µm

10. Complete the table below for Vdd = 5V. Set the source voltage SPICE card to DC 5.0
and the DC Analysis SPICE card to 0 5.0 0.001. Complete the table below. Round off
your answers to two decimal places.

WN WP VOH VOL VIL VIH VM


0.80µm 3.20µm
0.80µm 1.60µm
0.80µm 0.80µm

ASTI-VCTI OpenLab Training Series


Introduction to Full-Custom Digital IC Design Flow
Advanced Science and Technology Institute
Department of Science and Technology

CMOS Inverter Voltage Transfer Characteristic (VTC) Curve

VOUT
dVOUT
VOH dVIN
= -1
VOUT = VIN

dVOUT
dVIN
= -1
VOL

VIL VM VIH VOH VIN

VOH: Maximum output voltage when the output level is logic “1”
VOL: Minimum output voltage when the output level is logic “0”
VIL: Maximum input voltage that can be interpreted as logic “0”
VIH: Minimum input voltage that can be interpreted as logic “1”
VM: Voltage level at which the input voltage is equal to the output voltage

Determining the value of VOH, VOL, VIL, VIH and VM in WinSpice


There are two options:
1. Rectangular zoom-in on the graph
a. Click and drag the left mouse button to create a rectangular box on the desired
area of the graph. WinSpice will plot this rectangular box in another graph.
Notice that the resolution of the graph is enhanced.
b. Repeat the previous step until you get the desired x-axis value or y-axis value.

2. Create WinSpice files


Open your *.cir file in WinSpice. The corresponding VTC graph appears. Determine
the name of the vectors from the graph.

Example: The VTC curve is vector v(Vout) and the Vout = Vin line is vector v(Vin).

a. For VOH and VOL:


At the WinSpice command prompt, type:
WinSpice -> print VTC_curve>>filename

This command prints the data of the VTC_curve vector into a file named
filename. Open the file using a text editor and get VOH and VOL.
Note: The file is saved in the same location as the *.cir file.

Example: WinSpice -> print v(Vout)>>Vout.txt

ASTI-VCTI OpenLab Training Series


Introduction to Full-Custom Digital IC Design Flow
Advanced Science and Technology Institute
Department of Science and Technology

b. For VIL and VIH:


At the WinSpice command prompt, type:
WinSpice -> let var=deriv(VTC_curve)
WinSpice -> print var>>filename

This command gets the derivative of the vector and assigns it to a variable, which
is then printed to a file. Open the file using a text editor. Find the values of var
equal to -1 to get VIL and VIH.

Example: WinSpice -> let d=deriv(v(Vout))


WinSpice -> print d>>d_Vout.txt

Alternative method:
Determining the value of VIL and VIH is a special case since the derivative of Vout
is not automatically plotted when you run WinSpice. Follow the instructions below
for VIL and VIH:

At the WinSpice command prompt, type:

WinSpice -> plot deriv(VTC_curve)

This command gets the derivative of the VTC_curve vector and plots it on a
separate window. Zoom-in repeatedly on the plot to get VIL and VIH.

Example: WinSpice -> plot deriv(Vout)

c. For VM:
At the WinSpice command prompt, type:
WinSpice -> print VTC_curve–Vout=Vin_curve >> filename
Open the file using a text editor. Find the values nearest the 0 value to get VM.

Example: WinSpice -> print v(Vout)–v(Vin)>>Vm.txt

ASTI-VCTI OpenLab Training Series


Introduction to Full-Custom Digital IC Design Flow

You might also like