EE-154 Lab #1
MOS Transistors and Tools

Introduction

In this laboratory you will learn how to use the Tanner VLSI CAD tools to simulate MOS transistors.

Tool Overview

There are four main components of the Tanner Pro tool suite. They are diagramed in Figure 1 with arrows showing the ability to transfer data from one tool to another.

Figure 1. Tanner Pro Overview

In this lab we focus on S-Edit, T-Spice and W-Edit. S-Edit is a schematic editor that allows you to specify circuits at the transistor, gate, or module level. Once circuits are specified, you can extract a spice file from the circuit.

Figure 2. S-Edit Tool Flow

T-spice is a spice simulator similar to spice. Output can be viewed using the W-Edit waveform viewer.

Figure 3. T-spice Tool Flow

Getting Help

Documentation for the Tanner tools is available on-line from the Help menu of any of the tools. The manuals are hierarchical PDF files.

Procedure

The Spice Model File

To begin the first part you will need to copy the following file to your working folder. Download it using the right mouse button and "save link as".
ami05.md

This is the file that defines the nmos and pmos transistor parameters. It is generated from empirical data from the AMI 0.5u fabrication process. In this process lambda=0.35u and the actual feature size is 0.6u. Open the file and note the level of the model and the name of the transistor devices.

S-Edit Schematic Editor

Open S-Edit and use the Module - Symbol Browser command to bring up the libraries of possible symbols. The libraries we will be using are the "spice", "element" and "scmos" libraries. If you do not find all of these - use the "Add Library" button and browse to the library subdirectory c:/Program Files/Tanner Eda/Tspice-Pro/library/ to find any that are missing. As you follow the steps below, save your circuit often.

Place the Transistor: From the spice library, select the MOSFET_N device and select "Place" (and click on the S-edit screen) to put it in your circuit. Notice it has a default W=22u and L=2u. We need to change these. Using the diagram below, and lambda = 0.35u, find the W, L, AS, AD, PS and PD values that are needed for the spice model. Specify units carefully - in spice we have the following abbreviations: u=10-6 p=10-12

Enter Parameters of Transistor: To enter these values, select the symbol and use the "Edit - Edit Object" to bring up the symbol editor window. Fill in the values and select "show all" for the spice output parameter. Back in the S-edit window you should have a line that specifies the spice element definition.

Add Supplies: Now we need to add some voltage sources as inputs. In the symbol browser grab a source_v_dc for Vgs and place that. Now, we need another of these for Vds, but once you have added a library component to a file, you should not enter ANOTHER of the same component that way. Instead, you instantiate another INSTANCE of the source_v_dc component, using the "Module-Instance" menu command. This command brings up all the modules in your design and you select one to put another copy in the design. You can move these symbols when they are selected by dragging with the middle button (the "wheel").

Enter Parameters for Supplies: Use "Edit - Edit Object" to enter parameters for the supplies. For the Vgs, we will just give it a value of 5, and edit the spice output to change v# to Vgs. For Vds change v# to Vds in the spice output box.

Add Gnd and Connect: Add a gnd element from the symbol browser. Move the symbols so it is easy to connect Vgs between the gate and ground, Vds between drain and ground, and the source of the transistor to gnd. Now use the wire tool (on left - looks like a spool of wire) to connect nodes together. Don't forget to connect the substrate contact to ground as well. Once wired, select the drain wire (using the select (arrow) tool), and use the Node Label tool (under the wire tool) to label it "D". Label the gate node "G".

At this point the circuit is complete, but we are going to be fancy and add some spice commands that will get exported with the circuit into the spice file.

Add Spice Commands: Use the symbol browser to get a .model command from the scmos library. Edit this object so that the spice output is: .include ami05.md to include our model file for simulation. Now, we need two more of these, so instantiate two more INSTANCES of the .model component, using the "Module-Instance" menu command. Edit them to give the following spice outputs:

.dc Vds 0 5 .1 Vgs 0 5 1
This specified a DC analysis, sweeping Vds from 0 to 5V in .1V increments, and Vgs from 0 to 5 volts in 1 volt increments.

.print dc i1(M1)
This specifies the current we wish to plot.

Once your circuit is complete, you can export a spice file from it, using "File- Export". Choose an output filename with a .sp or .spc extension, and make sure the path is to the working directory where you placed your ami05.md file. The other default choices in the window should be fine.

T-Spice Simulator

Once your spice file is exported, open T-Spice to simulate it. Check that it has a transistor, two voltage supplies, and the correct simulation commands. It will also have a probe file that allows you to probe nodes in the circuit and view their waveforms.

Run the simulation using the Simulation - Run Simulation menu or the little green arrow button. At the conclusion of the simulation, the W-Edit window will be launched and your results are displayed.

W-Edit Waveform Viewer

The  W-Edit chart displays I(M1) for the voltage sweeps specified in the .dc analysis command. Save this plot.

In future labs we will use the transient command to get plots of voltages and currents as a function of time.


Exercise

How will a change in W affect the Ids plot? Try doubling W=6*lambda and see what happens. Remember that you will need to adjust AD, AS, PD and PS as well. Make the changes in the spice file and save it under a different name.

Be sure to save all files so that you can refer to them when you write your report.

CT - 9/2/2001