Chapter 1
Weblab is a remote microelectronics laboratory. It allows users to measure the current-voltage characteristics of transistors and other devices at any time, from any physical location, using a Java-enabled web browser.
1.1 Behind the Scenes
At the heart of the Weblab system is the Agilent 4155B Semiconductor Parameter Analyzer, a state-of-theart instrument for measuring the current-voltage characteristics of microelectronics devices with up to eight terminals. The analyzer is connected to an Agilent E5250A Switching Matrix, a multiplexer which allows eight different microelectronics devices to be connected to the system at any given time. Both the analyzer and the switching matrix are controlled through a GPIB interface card on the Weblab server computer. The devices under test are mounted in a packaged form onto standard test fixtures that are connected to the switching matrix.
The user interface for Weblab is a Java applet which duplicates the essential functionality of the analyzer console, allowing the user to set up a measurement for one of the devices that is currently connected to the system (the necessary information about these devices is provided by the server when the applet loads). When the user is ready to execute a measurement, the applet sends the measurement specifications to the server. The server then sets the switching matrix to the appropriate device, instructs the analyzer to run the measurement, obtains the results from the analyzer, and finally transmits the data back to the applet, where they can be graphed and otherwise analyzed by the user.
1.2 Measurement Units
The analyzer has a total of eight measurement units (four SMUs, two VSUs, and two VMUs) that can be connected to the terminals of a device. Note that these connections are made using physical wires in the lab; it is impossible to change them remotely. Each type of measurement unit has different capabilities.
- A Source/Monitor Unit (SMU) is a highly versatile measurement unit which can operate in three different modes:
- V: the SMU functions as a voltage source and a current monitor. It also enforces a compliance value for current (a maximum value that the current is allowed to attain, useful for protecting fragile devices); if the actual current ever reaches the compliance value, then the SMU becomes a constant voltage source for the remainder of the measurement.
- I: the SMU functions as a current source and a voltage monitor. It also enforces a compliance value for voltage; if the actual voltage ever reaches the compliance value, then the SMU becomes a constant current source for the remainder of the measurement.
- COMM : the SMU functions as a common terminal (ground). COMM mode is essentially the same as V mode with the voltage set to zero.
- A Voltage Source Unit (VSU) functions as a voltage source only. It allows the voltage to be specified more precisely than an SMU in V mode, but it cannot simultaneously function as a current monitor. The compliance value for a VSU is automatically set to approximately 100 mA and cannot be changed.
- A Voltage Monitor Unit (VMU) functions as a voltage monitor only. It measures voltage more precisely than an SMU in I mode, but it cannot simultaneously function as a current source.
1.3 Functions
Each source unit (this includes VSUs, SMUs in V mode, and SMUs in I mode) has a function that defines the behavior of its output. There are four different functions:
- CONS : a constant source, defined by a single value (either a voltage value or a current value, depending on the source type). The source unit maintains this value throughout the measurement.
- VAR1 : the primary sweep source. Behavior depends on the scale selected:
- Linear : defined by a start value, a stop value, and a step value. VAR1is set to the start value and then repeatedly incremented by the step value until it reaches (or exceeds) the stop value. Generates data points, evenly spaced in a linear fashion.
- Log10: defined by a start value and a stop value (no step value). Generates 10 data points per decade, evenly spaced in a logarithmic fashion.
- Log25: defined by a start value and a stop value (no step value). Generates 25 data points per decade, evenly spaced in a logarithmic fashion.
- Log50: defined by a start value and a stop value (no step value). Generates 50 data points per decade, evenly spaced in a logarithmic fashion. Only one source unit per measurement may be set to VAR1.
- VAR2 : the secondary sweep source, defined just like VAR1 except that the scale of VAR2 is always Linear. However, the value of VAR2 is incremented only after every complete sweep of VAR1. Only one source unit per measurement may be set to VAR2.
- VAR1P : the synchronous sweep source, defined by a ratio and an o set. The value of VAR1P for each data point is calculated from the value of VAR1 using the following equation: VAR1P = VAR1 * ratio + offset.
Only one source unit per measurement may be set to VAR1P.
1.4 Sweep Measurements
The analyzer uses sweep source functions to perform different kinds of sweep measurements. The following sweep measurements are supported by Weblab.
- A basic sweep measurement uses only one sweep source (VAR1).
- A subordinate sweep measurement uses a primary sweep source (VAR1) and a secondary sweep source (VAR2). The primary sweep loop is nested inside the secondary sweep loop; thus VAR2 will be swept only one time, but VAR1 will be swept many times (once for each value of VAR2). The total number of data points generated by a subordinate sweep measurement is the product of the number of points in each VAR1 sweep and the number of points in each VAR2 sweep.
- A synchronous sweep measurement uses a primary sweep source (VAR1) and a synchronous sweep source (VAR1P). Because VAR1P sweeps along with VAR1, the number of data points generated by a synchronous sweep measurement is the same as for the corresponding basic sweep measurement.
It is possible to set up a VAR1 source, a VAR2 source, and a VAR1Psource all in the same measurement; this has the e ect of performing a synchronous sweep and a subordinate sweep at the same time. Table 1.1 illustrates an example of a measurement that uses all three sweep sources.
Example:
VAR2 |
VAR1 |
VAR1P |
---|---|---|
0 |
1 |
2.5 |
0 |
2 |
4.5 |
0 |
3 |
6.5 |
0 |
4 |
8.5 |
0 |
5 |
10.5 |
0.1 |
1 |
2.5 |
0.1 |
2 |
4.5 |
0.1 |
3 |
6.5 |
0.1 |
4 |
8.5 |
0.1 |
5 |
10.5 |
0.2 |
1 |
2.5 |
0.2 |
2 |
4.5 |
0.2 |
3 |
6.5 |
0.2 |
4 |
8.5 |
0.2 |
5 |
10.5 |
Table 1.1: Sweep Measurements
VAR 1 |
VAR2 |
VAR1P |
---|---|---|
Start=1 |
Start=0 |
Ratio=2 |
Stop=5 |
Stop=0.2 |
Offset=0.5 |
Step=1 |
Step=0.1 |
|
Scale=linear |
|
|
Table 1.2: SMU Settings for Table 1
1.5 Data Variables
Weblab stores data in data variables. A data variable is an array of numerical values containing one element for each data point that was measured by the analyzer. Each data variable is identified by a name (alphanumeric, 6 characters maximum). When a measurement is executed, the analyzer generates data for all of the variables that have been de- fined. However, to save bandwidth and time (especially on slower network connections), only those variables that have been selected by the user for download will be included in the results that are transferred from the lab server back to the client (for graphing and further analysis).
1.6 User-Defined Functions
Another helpful feature of the analyzer allows the user to create new data variables which represent real-time functions of the data collected during a measurement (the square root of another data variable, for example). A user-defined function has three components:
- Name : the name of the new variable to be created
- Units : the units for the results of the function
- Body: the body of the function. This is an algebraic expression which may include other variables, builtin analyzer functions, and scientific constants (see section 3.1.2 for details on the syntax of user-defined functions). Once defined, a user-defined function can be treated like any other data variable, and even referred to within the body of another user-defined function. However, recursive definitions (A depends on A) and mutually recursive definitions (A depends on B, and B depends on A) are not allowed.
Chapter 2 - The Classical Applet
The Classical Applet (shown in figure 2.1) for the MIT Microelectronics Weblab is designed for maximum portability and performance in low-bandwidth environments. It is written entirely in Java 1.1 and should run in any Java-enabled web browser (even without a recent Java Plugin from Sun).
Figure 2.1: Classical Applet
2.1 Using the Setup Panel
The left half of the main window contains the Setup Panel, which is used to configure an experiment specification to be run on the lab server. The Setup Panel displays a simple table whose contents are edited inorder to configure the measurement units. Each measurement unit is represented by an column in the table. The title of the column is the measurement unit's name and the parameters which can be changed are located on the left hand side of the table.
2.1.1 Configuring Measurement Units
Click on the "Edit" button at the bottom of a column in the Setup Panel to open a configuration dialog box for that unit. Depending on the type of measurement unit you click on, the configuration dialog box will contain some or all of the following fields.
VName (all units): enter the name of a data variable which will represent the voltage measured at this
unit. Check the Download box below if you want to download this variable. Refer to section 1.5 for more information on data variables and downloading.
IName (SMU only): enter the name of a data variable which will represent the current measured at this unit. Check the Download box below if you want to download this variable. Refer to section 1.5 for more information on data variables and downloading.
Mode (SMU only): select a mode for this unit. Refer to section 1.2 for more information on measurement units and modes.
Function (SMU in V mode or I mode, or VSU): select a function for this unit. Depending on which function you select, additional fields will appear in the dialog box to allow you to further specify the source unit's behavior. Refer to section 1.3 for more information on functions and their parameters.
- Constant Setup (when Function is set to CONS): enter a Value.
- VAR1 Variable Setup (when Function is set to VAR1): select a Scale. Enter Start and Stop values. If you selected the Linear scale, also enter a Step value. Points will be calculated automatically based on the values you enter.
- VAR2 Variable Setup(when Function is set to VAR2): enter Start, Stop, and Step values. Points will be calculated automatically based on the values you enter.
- VAR1P Variable Setup (when Function is set to VAR1P): enter a Ratio and an O set. Compliance (SMU only): enter a compliance value. Refer to section 1.2 for more information on compliance. When you are finished making changes, click OK to apply your changes and close the dialog box, Cancel to discard your changes and close the dialog box, or Apply to apply your changes but keep the dialog box open.
2.1.2 Configuring User-Defined Functions
Click the "Edit" button at the bottom of the Setup Panel to open the User-Defined Functions dialog box. Each function has Name, Units, and Body as described in section 1.6. Each function also has a Download checkbox which functions just like that of a data variable (see section 1.5). You can edit the parameters of existing User-Defined Functions, or click the Add new function button to create a new User-Defined Function. You can delete existing User-Defined Functions using the Delete buttons on the right. When you are finished making changes, click OK to apply your changes and close the dialog box, Cancel to discard your changes and close the dialog box, or Apply to apply your changes but keep the dialog box open.
2.2 Using the Results Panel
After a measurement is executed on the analyzer, the results are returned to the client and graphed on the graph canvas in the Results Panel, which is located in the bottom half of the main window. Three axes can be specified for the graph canvas, each representing one of the downloaded data variables: the X Axis, the Y1 Axis (the primary y axis, located on the left), and the Y2 Axis (the secondary y axis, located on the right). This allows two 2-dimensional variable relationships to be plotted simultaneously: Y1 vs. X (in blue) and Y2 vs. X (in red). The actual data points are displayed as small circles, and each data point is connected to the next by a line segment (exception: in a subordinate sweep measurement, no line segment is drawn between data points which correspond to di erent values of the VAR2 variable). Each axis has controls which allow you to choose which of the downloaded variables should be plotted on this axis, whether the axis should be displayed in Linear or Logarithmic scale, and the minimum and maximum values to show for this axis on the graph canvas. Most settings take e ect as soon as you enter them; for numeric values, press the Enter key when you are done typing. Note: when you run a measurement, the applet will automatically select variables to graph for you. If you check the autoscale box, the minimum and maximum values will be automatically determined for you based on the data (note: in order to change these values manually again, you must uncheck the autoscale box).
The Tracking button at the bottle left corner of the Results Panel causes a new window to be displayed when it is clicked. As you move the mouse pointer over the graph canvas, this
window will display the approximate data value that corresponds to the current position. A check box at the top of the window allows the user to choose whether to force teh mouse ponter to snap to data points or not.
The Results Panel also contains a Temperature display, located just above the graph canvas. When the
results are received, this field will automatically display the temperature measured in the lab at the time
when the experiment was performed. Note that not all lab servers support this feature.
Figure 2.2: Results Panel
2.3 Using the Menus
The menubar at the top of the main window provides access to a variety of Weblab features.
- Setup menu:
- New : resets the current setup (this includes configuration settings for all measurement units, as well as user-defined functions). Reset does not change the currently selected device.
- Load : allows you to load a previously saved measurement setup. Select a setup from the list that appears, and click OK to load that setup. If you decide not to load a setup, click Cancel to close the dialog box without doing anything.
- Delete: allows you to delete a previously saved setup. Select a setup from the list that appears, and click OK to permanently delete that setup. If you decide not to delete a setup, click Cancel to close the dialog box without doing anything.
- Save : allows you to save the current measurement setup for later retrieval. A list of previously saved setups appears for your reference when you save the setup for the first time. Subsequent saving operations are done automatically without bringing up this list of previously saved setups. Enter a name for the new setup, and click OK to save it under that name (if you select the name of an existing setup, the existing setup will be overwritten with the new one). If you decide not to save the setup, click Cancel to close the dialog box without doing anything.
- Save As: identical to "Save" above but always opens up the "available setups" dialag box which contains a list of previously saved setups.
- Exit : closes the applet.
- Run Measurement: submits the measurement setup to the lab server for execution, receives the results, when they are ready, and plots the results on the Results Panel.
- Devices menu: This menu allows you to choose a new active device from the list of available devices connected to the analyzer. The active device is the device which is displayed in the schematic diagram, and the device on which a submitted experiment will be run.
- Results menu:
- View Data: displays a window containing the raw data from the most recent measurement. Each data point is a comma-separated list of values (one for each downloaded variable). The names and units of the downloaded variables are displayed in the first few lines.
- Clear Data : Clears the result panel and delete the data that has just been taken.
- Grid Setup: determines which vertical axis will be used to plot the data. "follow Y1 axis" selects the Y1 axis on the left of the results pane while "follow Y2 axis" selects teh Y2 axis on the right of the results pane.
- Help menu:
- Help : Opens a new window which displays the Microelectronics Weblab Documentation webpage.
- About the Weblab Client : displays information about the specific version of the Weblab Client you are using.
2.4 Printing Your Results
Refer to section 3.5.
Chapter 3 - The Graphical Applet
The Graphical Applet (shown in figure 3.1) is the primary (and recommended) user interface for Weblab.
3.1 Using the Setup Panel
The top half of the main window contains the Setup Panel, which is used to configure an experiment specification to be run on the lab server. The Setup Panel displays an interactive schematic diagram of the active device, including its connections to the measurement units on the analyzer. Each measurement unit is represented by an icon which changes based on the unit's mode and function. If voltage and current variable names have been defined for a measurement unit, these are also labelled on the schematic. If you move the mouse over one of the measurement units in the schematic, the configuration settings of that unit will be displayed concisely in a small tooltip window. If you click on a measurement unit, a dialog box will open to allow you to change the configuration settings of the unit.
3.1.1 Configuring Measurement Units
Click on a measurement unit in the schematic diagram to open a configuration dialog box for that unit. Depending on the type of measurement unit you click on, the configuration dialog box will contain some or all of the following fields.
VName (all units): enter the name of a data variable which will represent the voltage measured at this
unit. Check the Download box below if you want to download this variable. Refer to section 1.5 for more information on data variables and downloading.
IName (SMU only): enter the name of a data variable which will represent the current measured at this unit. Check the Download box below if you want to download this variable. Refer to section 1.5 for more information on data variables and downloading.
Mode (SMU only): select a mode for this unit. Refer to section 1.2 for more information on measurement units and modes.
Function (SMU in V mode or I mode, or VSU): select a function for this unit. Depending on which function you select, additional fields will appear in the dialog box to allow you to further specify the source unit's behavior. Refer to section 1.3 for more information on functions and their parameters.
- Constant Setup (when Function is set to CONS): enter a Value.
- VAR1 Variable Setup (when Function is set to VAR1): select a Scale. Enter Start and Stop values. If you selected the Linear scale, also enter a Step value. Points will be calculated automatically based on the values you enter.
- VAR2 Variable Setup (when Function is set to VAR2): enter Start, Stop, and Step values. Points will be calculated automatically based on the values you enter.
- VAR1P Variable Setup (when Function is set to VAR1P): enter a Ratio and an O set. Compliance (SMU only): enter a compliance value. Refer to section 1.2 for more information on compliance. When you are finished making changes, click OK to apply your changes and close the dialog box, Cancel to discard your changes and close the dialog box, or Apply to apply your changes but keep the dialog box open.
Figure 3.1: Graphical Applet
3.1.2 Configuring User-Defined Functions
Choose Show User-Defined Functions to open the User-Defined Functions dialog box. Each function has Name, Units, and Body as described in section 1.6. Each function also has a Download checkbox which functions just like that of a data variable (see section 1.5). You can edit the parameters of existing User-Defined Functions, or click the Add new function button to create a new User-Defined Function. You can delete existing User-Defined Functions using the Delete buttons on the right. When you are finished making changes, click OK to apply your changes and close the dialog box, Cancel to discard your changes and close the dialog box, or Apply to apply your changes but keep the dialog box open.
3.2 Using the Results Panel
After a measurement is executed on the analyzer, the results are returned to the client and graphed on the graph canvas in the Results Panel, which is located in the bottom half of the main window. Three axes can be specified for the graph canvas, each representing one of the downloaded data variables: the X Axis, the Y1 Axis (the primary y axis, located on the left), and the Y2 Axis (the secondary y axis, located on the right). This allows two 2-dimensional variable relationships to be plotted simultaneously: Y1 vs. X (in blue) and Y2 vs. X (in red). The actual data points are displayed as small circles, and each data point is connected to the next by a line segment (exception: in a subordinate sweep measurement, no line segment is drawn between data points which correspond to di erent values of the VAR2 variable). Each axis has controls which allow you to choose which of the downloaded variables should be plotted on this axis, whether the axis should be displayed in Linear or Logarithmic scale, and the minimum and maximum values to show for this axis on the graph canvas. Most settings take e ect as soon as you enter them; for numeric values, press the Enter key when you are done typing. Note: when you run a measurement, the applet will automatically select variables to graph for you. If you check the autoscale box, the minimum and maximum values will be automatically determined for you based on the data (note: in order to change these values manually again, you must uncheck the autoscale box).
The Tracking button at the bottle left corner of the Results Panel causes a new window to be displayed when it is clicked. As you move the mouse pointer over the graph canvas, this window will display the approximate data value that corresponds to the current position. A check box at the top of the window allows the user to choose whether to force the mouse ponter to snap to data points or not. The Results Panel also contains a Temperature display, located just above the graph canvas. When the results are received, this field will automatically display the temperature measured in the lab at the time when the experiment was performed. Note that not all lab servers support this feature.
Figure 3.2: Results Panel
3.3 Using the Menus
The menubar at the top of the main window provides access to a variety of Weblab features.
- File menu:
- Reset : resets the current setup (this includes configuration settings for all measurement units, as well as user-defined functions). Reset does not change the currently selected device.
- Load Setup : allows you to load a previously saved measurement setup. Select a setup from the list that appears, and click OK to load that setup. If you decide not to load a setup, click Cancel to close the dialog box without doing anything.
- Delete Setup : allows you to delete a previously saved setup. Select a setup from the list that appears, and click OK to permanently delete that setup. If you decide not to delete a setup, click Cancel to close the dialog box without doing anything.
- Save Setup : allows you to save the current measurement setup for later retrieval. A list of previously saved setups appears for your reference. Enter a name for the new setup, and click OK to save it under that name (if you select the name of an existing setup, the existing setup will be overwritten with the new one). If you decide not to save the setup, click Cancel to close the dialog box without doing anything.
- Exit : closes the applet.
- Measurement menu:
- Run Measurement : submits the measurement setup to the lab server for execution, receives the results, when they are ready, and plots the results on the Results Panel.
- Devices menu:
- This menu allows you to choose a new active device from the list of available devices connected to the analyzer. The active device is the device which is displayed in the schematic diagram, and the device on which a submitted experiment will be run.
- User Defined Functions menu:
- Show User-Defined Functions : opens the User Defined Functions dialog box (see section 3.1.2).
- Results menu:
- View Data : displays a window containing the raw data from the most recent measurement. Each data point is a comma-separated list of values (one for each downloaded variable). The names and units of the downloaded variables are displayed in the first few lines.
- Download Data : saves a copy of the raw data from the most recent measurement to a Comma- Separated Value (.csv) file on your local computer. You can import this file into another application (e.g. a spreadsheet program) for further processing.
- Help menu:
- Help : Opens a new window which displays the Microelectronics Weblab Documentation webpage.
- About the Weblab Client : displays information about the specific version of the Weblab Client you are using.
3.4 Using the Toolbar
The toolbar, which floats above the Setup Panel, provides a convenient way to access a few of the most commonly used features of Weblab with a single click. The toolbar buttons exactly duplicate the functionality of the corresponding menu items described in section 3.3:
|
Run Measurement |
---|---|
|
Load Setup |
|
Save Setup |
|
Show User-Defined Functions |
|
Help |
3.5 Printing Your Results
The Weblab 6.1 Client does not yet have a built-in print feature. In order to print the results, you must capture a screen dump and then use another program to actually print the resulting image.
If you are using Windows:
- Select the window you want to print.
- Press <Alt> + <PrintScreen> to copy an image of the currently selected window to the clipboard. (note: on most Windows keyboards, the PrintScreen key is located next to the Scroll Lock key, to the right of the function keys F1 through F12)
- Open up your favorite image editor (or word processor) and paste the contents of the clipboard into a new document.
- Print the image from your image editor or word processor.
If you are using Athena:
- Run the xv program (type add graphics, then xv &).
- When the xv window comes up, right-click on it to get your menu choices.
- Click the grab button, and then use the right mouse button to grab the window that you want to print.
- Print the image from xv (note: you may need to scale it down in size in order to fit the whole image on one sheet of paper).
Appendix A - Expression Syntax for User-Defined Functions
A.1 Operations
You can use addition , subtraction , multiplication , division , and exponentiation (^) in user-defined functions. Table A.1 displays the precedence in order of
operations.
Numeric constants can be defined in integer, decimal point, or exponent notation. In addition, Table A.2 shows
predefined constants that are available.
Table A.1: Order of Operations
Precedence |
Operation |
Symbol |
---|---|---|
Highest |
parentheses |
( ) |
|
built-in functions, data variables |
|
|
exponentiation |
^ |
|
multiplication, division |
*, / |
Lowest |
addition, subtraction |
+, - |
Table A.2: Exponent Notation
Prefix |
Value |
---|---|
G |
10 9 |
M |
10 6 |
k |
10 3 |
m |
10 -3 |
u |
10 -6 |
n |
10 -9 |
p |
10 -12 |
f |
10 -15 |
Table A.3: Scientific Constants
Variable |
Constant |
Value |
---|---|---|
q |
Electric charge |
1.602177 * 10 -19 |
k |
Boltzmann's constant |
1.380658 * 10 -23 |
e |
Space permitivity |
8.854188 * 10 -12 |
A.2 Built-in Functions
Note: all built-in function names are in ALL CAPITAL LETTERS. Trying to use the lowercase version of a function name (e.g. ``delta(VD)'') will result in an error.
- ABS(exp) returns the absolute value of exp.
- AT(exp1, exp2) returns the value of exp1 at the index number specified by exp2. If exp2 is non-integer, the linear interpolated value of exp1 will be returned.
- AVG(exp) returns the average value of sweep data or sampling data in exp. For subordinate sweep measurement, this function returns the average value of the primary sweep for the secondary sweep step.
- COND(exp1, exp2, exp3, exp4) does the following:
- If exp1<exp2, returns exp3.
- If exp1 > exp2 or exp1 = exp2, returns exp4.
- DELTA(exp) returns the difference of exp. The difference is defined as:
where- : difference for measurement index number n
- a~n~ : value of exp for measurement index number n
- N : number of sweep steps or number of samples
for each primary sweep, use same definition as for basic sweep measurement and assume measurement index number 1 for the first step of each primary sweep. If exp is a data variable for a secondary sweep source, this function returns the sweep step value of the secondary sweep.
- DIFF(exp1, exp2) returns the differential coefficient of exp1 by exp2. The differential coefficient is defined as:
** y' n * : differential coefficient for measurement index number *n- y n * : value of exp1 for measurement index number *n
- x n * : value of exp2 for measurement index number *n
- N : number of sweep steps or number of samples
For each primary sweep, use same definition as for basic sweep measurement and assume measurement index number 1 for the first step of each primary sweep.
- EXP(exp) raises e to the power of exp.
- INTEG(exp1, exp2) performs numerical integration of exp1 by exp2. This operation is defined as:
where- : integral of exp 1 for measurement index number n
- y i * : value of *exp 1 for measurement index number i
- x i * : value of *exp 2 for measurement index number i
If there are some invalid values in exp1 and exp2, the invalid values are ignored for the calculation. For each primary sweep, use same definition as for basic sweep measurement and assume measurement index number 1 for the first step of each primary sweep.
- LGT(exp) returns the logarithm (base 10) of exp.
- LOG(exp) returns the logarithm (base $e$) of exp.
- MAVG(exp1, exp2) returns the moving average value of exp1. exp2 specifies how many measurement points to use for average. This operation is defined as:
where- : moving average of exp1 for measurement index number n
- x i : value of exp1 for measurement index number i
- r : value of exp2
- N : number of sweep steps or number of samples
If there are some invalid values in exp1, the invalid values are ignored for the calculation. For each primary sweep, use same definition as for basic sweep measurement and assume measurement index number 1 for the first step of each primary sweep.
- MAX(exp) returns the maximum sweep or sampling value in exp. For subordinate sweep measurement, this function returns the maximum
value of the primary sweep for the secondary sweep step. If there are invalid values in exp, invalid values are ignored. - MIN(exp) returns the minimum sweep or sampling value in exp. For subordinate sweep measurement, this function returns the minimum
value of the primary sweep for the secondary sweep step. If there are invalid values in exp, invalid values are ignored. - SQRT(exp) returns the square root of exp.
Appendix B - Description of Parameter Analyser
An Agilent 4155B semiconductor parameter analyzer is a state-of-the-art, industrial-strength instrument of broad use in the microelectronics world. It sends test currents and voltages through its connections to the DUT and measures the response of the connected device.
The Agilent 4155B semiconductor parameter analyzer has eight bi-directional channels: four SMUs (Semiconductor Measuring Units), two VMUs (Voltage Measuring Units), and two VSUs (Voltage Source Units). The SMUs are the most versatile and commonly used channels. Each SMU can serve as a constant or variable current source or voltage source. When serving as a current source, the SMU monitors the voltage of the channel. When serving as a voltage source, it monitors the current running through the channel. VMUs are high-quality voltage monitors, and VSU channels are dedicated voltage sources.
Figure 1 displays the multiple-device architecture. In this system, the switching matrix routes signals between the Agilent 4155B parameter analyzer and the eight DUTs. Like the parameter analyzer, the switching matrix can be controlled remotely through its GPIB connection to the WebLab server. In this system, the user can remotely select one of the eight connected DUTs as the device to be measured.
Figure B.1 - The architecture of the multiple-device WebLab system (versions 4.0-4.2). Note that there are only 6 connections between each DUT and the switching matrix because the switching matrix only offers 48 ports.
Before each transmission, the applet checks the test vector for common errors that would render it not executable by the Agilent 4155B and refuses to submit it until all such errors have been corrected by the user. When the test vector passes all the rules in the applet's error checking procedure, the applet submits it to the WebLab server using a HTTP connection. On the WebLab server, one of a set of Active Server Pages (ASP) receives the uploaded vector through Microsoft Internet Information Services (IIS). IIS includes a request queue which the WebLab architecture fully utilizes. If another user is executing a measurement when the request is received, the request is queued on IIS until the instruments become available.
When the request gets off the queue, the ASP wraps the data into method calls to the third software component, the WebLab driver. This Visual-Basic-based driver places the user's request into method calls to the fourth software component, a commercially produced driver called VISA. The VISA driver then translates the Visual Basic commands into GPIB commands. GPIB is the instrument control language used by the Agilent 4155B. Through a commercially-available GPIB interface card, the WebLab server transmits the GPIB method calls to the parameter analyzer. The user's measurement request is thus relayed to the lab equipment through this chain. In the background of this information flow, a fifth component, a SQL database, records and supplies user information and transaction data by communicating with the ASP.
The user's selection request reaches the switching matrix in the form of GPIB commands. The switching matrix then connects the parameter analyzer with the selected device. When the parameter analyzer performs measurements, the switching matrix ensures that all input/output signals run between the parameter analyzer and the selected device. This multi-device WebLab system offers much more flexibility and reliability than the single-device system.
Upon receiving the request, the parameter analyzer performs the specified measurements and responds to the GPIB interface card with the results. Through the same path on which the request traveled to the lab equipment, the measured data travel back to the client applet, which then graphs them for the user. Since HTTP connections only persist through one request-response cycle, the connection is closed by the server as soon as it returns the measurement data.
A thermometer was added to the system architecture. This enables the WebLab user to obtain the ambient temperature surrounding the DUTs. This is a useful addition with significant educational impact because the behavior of microelectronics devices is often influenced in a large way by their surrounding temperature.