The Integrated Circuit Characterization and Analysis Program from Hewlett- Packard will help you collect performance data and find optimized models for the devices you make "from scratch". These models will be useable by most implementations of SPICE, thus connecting design methods utilizing SPICE taught in several other courses with physical device fabrication. You will also use ICCAP to gather data without becoming bogged down in the details of operating the instruments. This should allow you to focus more on understanding the fabrication process and the devices themselves.
Since the overwhelming majority of ECE 344 students are ECE majors, testing will not be as "cook-booked" as the chemistry type procedures which were used to create the devices. We have prepared some basic, "safe" models and setups for you to use, but in almost every case, there are modifications which can, and therefore should, be made to the setups in order to exhibit as much useful information about your particular device as possible. The object will be to apply your knowledge of the devices to make these adjustments. For example, don't settle for plots in which all the "action" happens along one edge.
ICCAP was written in C++ and takes advantage of the power of object oriented programming. At the top of the hierarchy is the MODEL which is intended to be a collection of measurement setups, processing variables and equivalent circuit parameters. In short, everything necessary to determine a SPICE model for an integrated circuit. Several Devices Under Test (DUTs) with their own set of variables often make up a circuit. We will utilize the DUT level to separate fundamental device concepts or components. For example, a BJT has two distinct pn diodes within it which will be individually characterized as separate DUTs.
Each DUT level can have any number of measurement setups (for all practical purposes) since many instrument and probe configurations may be needed to determine each DUT's parameters (equivalent circuit). Each setup can also have its own variables and parameters. Equations can be used to EXTRACT equivalent circuit parameter values from measurements. Such calculations can come close to creating a good SPICE model, but they are inevitably based on approximations. SIMULATIONS (by SPICE) of the SPICE model based on the extraction results or default values can be compared to the real data for some or all of the measured data sets and OPTIMIZED for best "fit" by iterative techniques (Levenberg-Marquardt algorithm). SPICE will be used by ICCAP several times during an optimization to generate the predicted results from the measurement setup and current SPICE parameters. Iterative adjustment of the parameters between each SPICE call improves the "fit" with the actual measured data set. The user determines when the aggreement between actual and simulated data (from the model) is good enough. The resulting model is called "optimized", as opposed to "optimal".
This program was designed to help the circuit designer take full advantage of ever improving IC processing capabilities. Interfaces to TCAD's implementations of Supreme and Pices, processing and physical device simulation programs, can similarly provide the process engineer with feedback between simulation and real measurement results. Someday you may be working with versions of these programs and so will ECE 344 students. Perhaps on future PCs!
A vauge new type of specialization has been forming within the broad scope of engineering. The kind of person likely to be in Electrical Engineering is often well suited to excel in this unnamed disipline. Skill at utilizing new computers, software and instruments in a minimal learning time, together with a solid understanding of the chemistry and physics involved in a marketable product can help one make significant contributions to the large team it takes to manufacture competitive products.
Modern software packages such as ICCAP trade off program size, complication, and speed for intuitive ease of use. Consequently, there are many ways you can accomplish a given task. Since navigating within menu driven software is quickly becoming an essential skill in and of itself for engineers, you will basically be turned loose on the software after a demonstration by your instructor. Below are some of the basics you will see in the demo. Excerpts from the ICCAP manual and training course viewgraphs are available to *.uiuc.edu machines. Complete documentation is available in the lab.
X-Windows must be running before ICCAP can be loaded. Type x or x11start to start X-Windows if necessary. Like most tasks pertaining to ICCAP, there are several methods to start it. The recommended method in the ECE 344 lab is to use the motif window manager root menu. ICCAP will appear as an option when you "click left" and hold anywhere in the X-server background (outside windows) area. Releasing on the ICCAP sub menu item "load my_models" will load ICCAP and the basic ECE 344 model set. Your my_models.mdl file will be a copy of the basic_344.mdl file in the linked_models directory below your iccap directory. The iccap directory will be set up the first time you run iccap.
If you are using a remote X-Window session, you will have to type iccap in the window to the remote machine.
The Engineering WorkStations (EWS) made by Hewlett-Packard can now run IC-CAP locally, but you must use ftp to move the model files between your accounts. Be careful not to overwrite your work.
This is the basic procedure, but you should always refer to the World Wide Web help file for the specific model for extra details. There will normally be a macro called HELP which will print the URL when executed. Therefore, you will probably want to be running Mosaic or Netscape too. It will help if you study the model by running IC-CAP before you come to lab to make measurements. There are almost always a few things you should be able find which should be changed to better suit your devices.
Not all models are set up to do extractions, simulations, and optimization. Those that are set up for full modeling will be used in the following general manner. Check with the help file for the specific model for further detail.
It will, of course, help a great deal if you understand each device's operation well enough to know what to expect from each measurement and how to make the most of a given setup by adjusting START and STEP values, for instance. Reviewing basic device operation in your ECE340 text may help you make these adjustments intelligently and without destroying the device. We expect you to have retained a fair amount of knowledge from that course.
The details of operating ICCAP are too complicated and yet intuitive to make it worthwhile explicitly describing each step. Besides, it would be incredibly boring and after all, almost all of you are ECE students. The demo will be worth at least a thousand words. If you happen to miss the demo for your section, try to attend the one for another section (check the calendar in the gown room for dates).
You are to measure 3 each of 3 devices. Depending on how the overall class progresses, another round of more advanced testing will be made later. Since your devices are likely to be similar to each other, "copy" the Models after you are satisfied with the setups and measurements. Name the copies with numbers in place of the digits "344". For example, copy the first completed PMOSFET to pmos3_1 and the second one to pmos3_2 and so forth. Be sure to perform Model <modelname>" "edit variables" to enter the location, etc. of the device just measured. Use the *_344.mdl models to gather new measurements on the next device type.
It is suggested that you use the probe assignments listed in the Macro window of each device model. This will minimize the amount of table entry modifications that will need to be made.