VXIplug&play Driver User’s Guide Agilent 4155C Semiconductor Parameter Analyzer Agilent 4156C Precision Semiconductor Parameter Analyzer Agilent Part No.
Legal Notice The information contained in this document is subject to change without notice. Copyright © 2001 Agilent Technologies This document contains information which is protected by copyright. All rights are reserved. Reproduction, adaptation, or translation without prior written permission is prohibited, except as allowed under the copyright laws.
To the extent allowed by local law, the above warranties are exclusive and no other warranty or condition, whether written or oral, is expressed or implied and Agilent Technologies specifically disclaim any implied warranties or conditions of merchantability, satisfactory quality, and fitness for a particular purpose.
Printing History Edition 1: January 2001 Microsoft, Windows, Windows NT, Visial Basic, and Visual C/C++ are registered trademarks of Microsoft Corporation. Borland C/C++ Builder is registered trademark of International, Inc. LabWindows and LabVIEW are registered trademarks of National Instruments Corporation. Prober Control Software (PCS) is a product of Cascade Michrotech, Inc.
In This Manual This manual provides information about VXIplug&play driver for Agilent 4155/4156. This manual also introduces two sample application programs using Agilent VEE and the VXIplug&play driver for the 4155/4156. • Installation This chapter describes hardware and software requirements to use the 4155/4156 VXIplug&play driver, and how to install the driver. • Driver Functions This chapter lists the all driver functions for the 4155/4156 and Agilent E5250A Low Leakage Switch Mainframe.
Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 1
Contents 1. Installation Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 Hardware Requirements with Agilent VEE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Installing 4155/4156 Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 To Configure the Interface using Agilent I/O Library . . . . . . . . . . . . . . . . . . . . 1-6 To Install the Driver . . . . . . . . . . . . . . . . .
Contents hp4156b_error_message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hp4156b_error_query. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hp4156b_errorQueryDetect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hp4156b_errorQueryDetect_Q. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hp4156b_esr_Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents hp4156b_spotMeas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38 hp4156b_startMeasure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39 hp4156b_stopMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-40 hp4156b_stress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-41 hp4156b_sweepIv. . . . . . . . . . . . . . . .
Contents hpe5250a_cmdString_Q. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hpe5250a_compenC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hpe5250a_connRuleSeq. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hpe5250a_couplePort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . hpe5250a_coupleState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents Debugging Your Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 Restrictions When Using the Driver with Agilent VEE. . . . . . . . . . . . . . . . . . 3-16 High-Speed Spot Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Multi-Channel Spot Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 Staircase Sweep Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents Using sample2.vee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Program Execution Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Panel Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . To Execute sample2.vee. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19 4-20 4-22 4-23 Customizing Sample Programs . . . . . . .
1 Installation Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 1
Installation This chapter explains the environment requirements and installation of the VXIplug&play driver for Agilent 4155/4156. NOTE • “Software Requirements” • “Hardware Requirements with Agilent VEE” • “Installing 4155/4156 Driver” The hardware required depends on the operating system and programming language used. This manual provides hardware requirements when using the driver with Agilent VEE software.
Installation Software Requirements Software Requirements The following software is required to use the VXIplug&play driver for the 4155/4156. You can select one from Windows NT and Windows 95. You can also select the most comfortable programming language to develop and run programs. • • Operating System • Windows NT revision 3.
Installation Hardware Requirements with Agilent VEE Hardware Requirements with Agilent VEE The following hardware is required to use Agilent VEE and the VXIplug&play drivers. • • • • Controller • 486/66 with Coprocessor (minimum recommendation) • 586(Pentium)/90 or better is recommended. Memory • For Windows 95: 16 Mbyte. 24 Mbyte or more is recommended. • For Windows NT: 24 Mbyte. 32 Mbyte or more is recommended. Hard disk (minimum disk space) • 20 Mbytes for Agilent VEE (HP VEE version 4.
Installation Installing 4155/4156 Driver Installing 4155/4156 Driver The installation flow for the VXIplug&play driver is shown below. If you have already installed the IEEE 488 interface card, VISA I/O library, and programming software on your PC, skip steps 1 through 4. 1. Install the IEEE 488 interface card into your PC. See the interface card manual. Note the model number of the interface card, as you may need it to configure the interface (in step 3). 2. Install VISA I/O library.
Installation Installing 4155/4156 Driver To Configure the Interface using Agilent I/O Library After installing the IEEE 488 interface card and the Agilent I/O Library, configure the interface. The procedure shown below is the easiest way to configure the interface. First, execute I_O Config in the HP I_O Libraries folder. The I/O Config window is displayed. See Figure 1-1. 1. Click Auto Add. If the interface card is installed properly, I_O Config automatically detects the hardware configuration.
Installation Installing 4155/4156 Driver To Install the Driver 1. Insert the 4155/4156 Plug&Play Driver Disk into the flexible disk drive connected to your PC. 2. Execute the 4156B.EXE program stored on the diskette. The program automatically installs the driver in the following directory. • • For Windows NT: \Vxipnp\Winnt\Hp4156b For Windows 95: \Vxipnp\Win95\Hp4156b Following files are installed in the directory. • hp4156b.bas • hp4156b.c • hp4156b.def • hp4156b.fp • hp4156b.GID • hp4156b.h • hp4156b.
Installation Installing 4155/4156 Driver 1-8 Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 1
2 Driver Functions Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 1
Driver Functions This section explains all the driver finctions available for Agilent 41555/4156 and Agilent E5250A. NOTE • “Driver Functions for the 4155/4156” • “Driver Functions for the E5250A” For additional information on each function. refer to the on-line help for the VXIplug&play drivers, or open the hp4156b.hlp or hpe5250a.hlp file in the direcroty the driver is installed. See “Installing 4155/4156 Driver” in Chpater 1.
Driver Functions Driver Functions for the 4155/4156 Table 2-1 lists all the functions for the 4155/4156. You will see a brief description of the functions in the table. For the description, syntax and parameters of the function, refer to the reference section following this table. The driver functions in the reference section will appear in the alphabetical order.
Driver Functions Category Measurement Unit Setup Source Setup Measurement Execution Sampling Measurements Stress Force Function hp4156b_setSwitch hp4156b_setFilter hp4156b_setInteg hp4156b_setVm hp4156b_setPguR hp4156b_force hp4156b_forcePulse hp4156b_zeroOutput hp4156b_recoverOutput hp4156b_setIv hp4156b_setPbias hp4156b_setPiv hp4156b_setSweepSync hp4156b_spotMeas hp4156b_measureM hp4156b_sweepIv hp4156b_sweepMiv hp4156b_measureP hp4156b_sweepPiv hp4156b_sweepPbias hp4156b_setSample hp4156b_addSampl
Driver Functions Category Passthrough Functions Function hp4156b_cmd h4156b_cmdInt hp4156b_cmdReal hp4156b_cmdData_Q hp4156b_cmdString_Q hp4156b_cmdInt16_Q hp4156b_cmdInt16Arr_Q hp4156b_cmdInt32_Q hp4156b_cmdInt32Arr_Q hp4156b_cmdReal64_Q hp4156b_cmdReal64Arr_Q Description Sends a command. Sends a command with an integer parameter. Sends a command with a real parameter. Sends a command to read any data. Sends a command to read string response. Sends a command to read 16 bit integer response.
Driver Functions hp4156b_abortMeasure hp4156b_abortMeasure This function aborts the 4155/4156’s present operation, such as the measurement executed by the hp4156b_startMeasure function, the pulse output by the hp4156b_forcePulse function, the stress force by the hp4156b_stress function, and so on. Syntax ViStatus _VI_FUNC hp4156b_abortMeasure(ViSession vi); Parameters vi Instrument handle returned from hp4156b_init( ).
Driver Functions hp4156b_addSampleSyncPulse hp4156b_addSampleSyncPulse This function specifies the pulse source (PGU) used for the sampling measurements, and sets the parameters. Pulse outputs start at the beginning of the sampling measurement (beginning of the hold time), and stop at the end of the last sampling measurement point or stop at the last pulse if it comes earlier than the last sampling measurement point.
Driver Functions hp4156b_addStressSyncIv hp4156b_addStressSyncIv This function specifies the DC stress source, and sets the parameters. You can use maximum 4 stress sources at once by using the hp4156b_addStressSyncIv and/or hp4156b_addStressSyncPulse functions. Syntax ViStatus _VI_FUNC hp4156b_addStressSyncIv(ViSession vi, ViInt32 source, ViInt32 channel, ViInt32 mode, ViReal64 range, ViReal64 base, ViReal64 stress, ViReal64 comp); Parameters vi Instrument handle returned from hp4156b_init( ).
Driver Functions hp4156b_addStressSyncPulse hp4156b_addStressSyncPulse This function specifies the pulse stress source (PGU), and sets the parameters. You can use maximum 4 stress sources at once by using the hp4156b_addStressSyncIv and/or hp4156b_addStressSyncPulse functions. See “hp4156b_stress” on page 41 for the setting of width and delay.
Driver Functions hp4156b_clearSampleSync hp4156b_clearSampleSync This function clears the settings of the constant voltage/current source defined by the hp4156b_addSampleSyncIv function, and the settings of the pulse source defined by the hp4156b_addSampleSyncPulse function. Syntax ViStatus _VI_FUNC hp4156b_clearSampleSync(ViSession vi); Parameters vi Instrument handle returned from hp4156b_init( ).
Driver Functions hp4156b_cmdData_Q hp4156b_cmdData_Q This function passes the cmd_str string to the instrument. This entry point will wait for a response which may be any data. You specify the cmd_str and size parameters, and get result[ ]. Syntax ViStatus _VI_FUNC hp4156b_cmdData_Q(ViSession vi, ViString cmd_str, ViInt32 size, ViChar _VI_FAR result[ ] ); Parameters vi Instrument handle returned from hp4156b_init( ). cmd_str Instrument command (cannot exceed 256 bytes in length).
Driver Functions hp4156b_cmdInt16Arr_Q hp4156b_cmdInt16Arr_Q This function passes the cmd_str string to the instrument. This command expects a response that is a definite arbitrary block of 16 bit integers. You specify the cmd_str and size parameters, and get result[ ] and count. Syntax ViStatus _VI_FUNC hp4156b_cmdInt16Arr_Q(ViSession vi, ViString cmd_str, ViInt32 size, ViInt16 _VI_FAR result[ ], ViPInt32 count); Parameters vi Instrument handle returned from hp4156b_init( ).
Driver Functions hp4156b_cmdInt32Arr_Q hp4156b_cmdInt32Arr_Q This function passes the cmd_str string to the instrument. This command expects a response that is a definite arbitrary block of 32 bit integers. You specify the cmd_str and size parameters, and get result[ ] and count. Syntax ViStatus _VI_FUNC hp4156b_cmdInt32Arr_Q(ViSession vi, ViString cmd_str, ViInt32 size, ViInt32 _VI_FAR result[ ], ViPInt32 count); Parameters vi Instrument handle returned from hp4156b_init( ).
Driver Functions hp4156b_cmdReal hp4156b_cmdReal This function passes the cmd_str string to the instrument. This entry point passes the string in cmd_str followed by a space and then the real in value. Note that either an Real32 or 64 can be passed as the Real32 will be promoted. Syntax ViStatus _VI_FUNC hp4156b_cmdReal(ViSession vi, ViString cmd_str, ViReal64 value); Parameters vi Instrument handle returned from hp4156b_init( ). cmd_str Instrument command (cannot exceed 256 bytes in length).
Driver Functions hp4156b_cmdReal64_Q hp4156b_cmdReal64_Q This function passes the cmd_str string to the instrument. This command expects a response that can be returned as a 64 bit real. Syntax ViStatus _VI_FUNC hp4156b_cmdReal64_Q(ViSession vi, ViString cmd_str, ViPReal64 result); Parameters vi Instrument handle returned from hp4156b_init( ). cmd_str Instrument command (cannot exceed 256 bytes in length). result Response from instrument.
Driver Functions hp4156b_error_message hp4156b_error_message This function translates the error return value from an instrument driver function to a readable string. Syntax ViStatus _VI_FUNC hp4156b_error_message(ViSession vi, ViStatus error_number, ViChar _VI_FAR message[ ] ); Parameters vi Instrument handle returned from hp4156b_init( ). error_number Error return value from the driver function. message[ ] Error message string. This is limited to 256 characters.
Driver Functions hp4156b_errorQueryDetect hp4156b_errorQueryDetect This function enables or disables automatic instrument error checking. If automatic error checking is enabled then the driver will query the instrument for an error at the end of each function call. Syntax ViStatus _VI_FUNC hp4156b_errorQueryDetect(ViSession vi, ViBoolean errorQueryDetect); Parameters vi Instrument handle returned from hp4156b_init( ). errorQueryDetect Error checking enable (VI_TRUE) or disable (VI_FALSE).
Driver Functions hp4156b_esr_Q hp4156b_esr_Q This function returns the contents of the ESR register. The driver returns the equivalent messages: Syntax ViStatus _VI_FUNC hp4156b_esr_Q(ViSession vi, ViChar _VI_FAR errstr[ ] ); Parameters vi Instrument handle returned from hp4156b_init( ). errstr[ ] Response from instrument.
Driver Functions hp4156b_execOffsetCancel hp4156b_execOffsetCancel This function measures the zero offset data, and sets the zero offset function to ON. The parameter 'channel' specifies the measurement channel (SMU or VMU). If you define SMU for 'channel', the SMU must be set to the voltage force mode by using the hp4156b_force function, before executing this function.
Driver Functions hp4156b_force hp4156b_force This function specifies the dc current source (SMU) or dc voltage source (SMU, VSU, or PGU), and forces the output immediately. To stop the output, use the hp4156b_force function with 0 (zero) output. Syntax ViStatus _VI_FUNC hp4156b_force(ViSession vi, ViInt32 channel, ViInt32 mode, ViReal64 range, ViReal64 value, ViReal64 comp, ViInt32 polarity); Parameters vi Instrument handle returned from hp4156b_init( ). channel Channel number of the source unit.
Driver Functions hp4156b_forcePulse hp4156b_forcePulse This function specifies the pulse source (PGU) settings and forces the voltage pulse immediately. To stop the pulse output, use hp4156b_abortMeasure function. Syntax ViStatus _VI_FUNC hp4156b_forcePulse(ViSession vi, ViInt32 channel, ViInt32 count, ViReal64 base, ViReal64 peak, ViReal64 width, ViReal64 period, ViReal64 delay, ViReal64 rise, ViReal64 fall); Parameters vi Instrument handle returned from hp4156b_init( ).
Driver Functions hp4156b_init hp4156b_init This function initializes the software connection to the instrument and optionally verifies that instrument is in the system. In addition, it may perform any necessary actions to place the instrument in its reset state. If the hp4156b_init function encounters an error, then the value of the vi output parameter will be VI_NULL.
Driver Functions hp4156b_measureM hp4156b_measureM This function executes a multi channel spot measurement by the specified units, and returns the measured value and the measurement status. The array size of all arrays should be the same together. Then the order of the array data is important. For example, the measurement setup for the unit specified by channel[1] must be entered into mode[1] and range[1].
Driver Functions hp4156b_measureP hp4156b_measureP This function executes a pulsed spot measurement by the specified channel, and returns the measured value and the measurement status. Syntax ViStatus _VI_FUNC hp4156b_measureP(ViSession vi, ViInt32 channel, ViInt32 mode, ViReal64 range, ViPReal64 value, ViPInt32 status); Parameters vi Instrument handle returned from hp4156b_init( ). channel Channel number of the measurement unit. 1 to 6 (SMU1 to SMU6), 23 (VMU1), or 24 (VMU2).
Driver Functions hp4156b_opc_Q hp4156b_opc_Q This function does the *OPC? common command. Syntax ViStatus _VI_FUNC hp4156b_opc_Q(ViSession vi, ViPBoolean result); Parameters vi Instrument handle returned from hp4156b_init( ). result VI_TRUE (Operation complete), or VI_FALSE (Operation is pending). hp4156b_readData This function reads and returns the source setup data or the data measured by the hp4156b_startMeasure function.
Driver Functions hp4156b_readStatusByte_Q hp4156b_readStatusByte_Q This function returns the contents of the status byte register. Syntax ViStatus _VI_FUNC hp4156b_readStatusByte_Q(ViSession vi, ViPInt16 statusByte); Parameters vi Instrument handle returned from hp4156b_init( ). statusByte The contents of the status byte are returned in this parameter.
Driver Functions hp4156b_revision_query hp4156b_revision_query This function returns the driver revision and the instrument firmware revision. Syntax ViStatus _VI_FUNC hp4156b_revision_query(ViSession vi, ViChar_VI_FAR driver_rev[ ] , ViChar _VI_FAR instr_rev[ ] ); Parameters vi Instrument handle returned from hp4156b_init( ). driver_rev[ ] Instrument driver revision. This is limited to 256 characters. instr_rev[ ] Instrument firmware revision. This is limited to 256 characters.
Driver Functions hp4156b_sample hp4156b_sample This function executes a sampling measurement by the specified channels, and returns the number of measurement points, measurement data index, measurement data and the measurement status. Before executing this function, set the sampling timing by using the hp4156b_setSample function. The synchronous dc sources used with the sampling measurement units are defined by using the hp4156b_addSampleSyncIv function.
Driver Functions hp4156b_self_test Remarks The array size of the parameters should be as shown below. ViInt32 channel[N] ViInt32 mode[N] ViReal64 range[N] ViInt32 point ViInt32 index[M] ViReal64 value[M][N] ViReal64 status[M][N] where, N: Number of channels used for the measurements plus 1, or more. M: Number of sweep points ('point’ parameter value of hp4156b_setSample function), or more. For the parameter definition, the order of the array data is important.
Driver Functions hp4156b_setFilter hp4156b_setFilter This function sets the output filter of the specified channel. Syntax ViStatus _VI_FUNC hp4156b_setFilter(ViSession vi, ViInt32 channel, ViInt32 state); Parameters vi Instrument handle returned from hp4156b_init( ). channel Channel number of the unit. 1 (SMU1), 2, 3, 4, 5, or 6 (SMU6). state 0 (Filter OFF) or 1 (Filter ON).
Driver Functions hp4156b_setIv hp4156b_setIv This function specifies the sweep source channel for the staircase sweep measurements and the staircase sweep with pulsed bias measurements, and sets the parameters. For the staircase sweep with pulsed bias measurements, the sweep output synchronizes with the pulse output by the hp4156b_setPbias function.
Driver Functions hp4156b_setPbias hp4156b_setPbias This function specifies the pulse output channel for the pulsed spot measurements and the staircase sweep with pulsed bias measurements, and sets the parameters. For the staircase sweep with pulsed bias measurements, the pulse output synchronizes with the staircase sweep output by the hp4156b_setIv function.
Driver Functions hp4156b_setPguR hp4156b_setPguR This function sets the PGU output impedance. Syntax ViStatus _VI_FUNC hp4156b_setPguR(ViSession vi, ViInt32 channel, ViInt32 state); Parameters vi Instrument handle returned from hp4156b_init( ). channel Channel number of PGU. 27 (PGU1) or 28 (PGU2). state PGU output impedance. 0 (approx. 0 ohm low impedance) or 1 (50 ohm).
Driver Functions hp4156b_setPiv hp4156b_setPiv This function specifies the pulsed sweep source channel for the pulsed sweep measurements, and sets the parameters. Syntax ViStatus _VI_FUNC hp4156b_setPiv(ViSession vi, ViInt32 channel, ViInt32 mode, ViReal64 range, ViReal64 base, ViReal64 start, ViReal64 stop, ViInt32 point, ViReal64 hold, ViReal64 width, ViReal64 period, ViReal64 comp); Parameters vi Instrument handle returned from hp4156b_init( ). channel Channel number of the pulse sweep source.
Driver Functions hp4156b_setSample hp4156b_setSample This function specifies the measurement timing of the sampling measurements. The sampling measurement units are defined by the hp4156b_sample function. Syntax ViStatus _VI_FUNC hp4156b_setSample(ViSession vi, ViReal64 hold, ViReal64 interval, ViInt32 point); Parameters vi Instrument handle returned from hp4156b_init( ). hold Hold time. -30E-3 to 655.35 seconds. interval Sampling interval. 60E-6 to 65.534 seconds.
Driver Functions hp4156b_setSweepSync hp4156b_setSweepSync This function specifies the synchronous sweep source channel for the staircase sweep measurements, the pulsed sweep measurements and the staricase sweep with pulsed bias measurements, and sets the parameters. Synchronous sweep source is used for the staircase sweep. For the staircase sweep measurements, the output synchronizes with the staircase sweep output by the hp4156b_setIv function.
Driver Functions hp4156b_setSwitch hp4156b_setSwitch This function sets the output switch of the specified channel. Syntax ViStatus _VI_FUNC hp4156b_setSwitch(ViSession vi, ViInt32 channel, ViInt32 state); Parameters vi Instrument handle returned from hp4156b_init( ). channel Channel number of the unit. 1 to 6 (SMU1 to SMU6), 21 (VSU1), 22 (VSU2), 23 (VMU1), 24 (VMU2), 26 (GNDU), 27 (PGU1) or 28 (PGU2). state Output switch setting. 0 (output switch OFF) or 1 (output switch ON).
Driver Functions hp4156b_spotMeas hp4156b_spotMeas This function executes a high speed spot measurement by the specified channel, and returns the measured value and the measurement status. Syntax ViStatus _VI_FUNC hp4156b_spotMeas(ViSession vi, ViInt32 channel, ViInt32 mode, ViReal64 range, ViPReal64 value, ViPInt32 status); Parameters vi Instrument handle returned from hp4156b_init( ). channel Channel number of the measurement unit. 1 to 6 (SMU1 to SMU6), 23 (VMU1), or 24 (VMU2).
Driver Functions hp4156b_startMeasure hp4156b_startMeasure This function starts the specified measurement by the specified channels. You can read the measured data by using the hp4156b_readData function. The measurement data is entered to the 4155/4156 output buffer in the measurement order. If you want to abort the measurement, use the hp4156b_abortMeasure function. The array size of all arrays should be the same together. Then the order of the array data is important.
Driver Functions hp4156b_stopMode hp4156b_stopMode This function specifies the stop condition which enables the automatic abort function for the sweep measurement, sampling measurement, or stress force. Also this function specifies the sweep source output of the measurement unit after the sweep measurement is aborted.
Driver Functions hp4156b_stress hp4156b_stress This function forces the stress defined by the hp4156b_setStress, hp4156b_addStressSyncIv, and hp4156b_addStressSyncPulse functions. Syntax ViStatus _VI_FUNC hp4156b_stress(ViSession vi, ViPInt32 status); Parameters vi Instrument handle returned from hp4156b_init( ). status Stress output status. 0 (no error), or 1 to 255 (error status). Remarks The following parameters must be set within the range shown in the following table.
Driver Functions hp4156b_sweepIv hp4156b_sweepIv This function executes a staircase sweep measurement by the specified channel, and returns the number of measurement points, sweep source data, measurement data and the measurement status. Before executing this function, set the sweep source setup by using the hp4156b_setIv function. If you want to use the synchronous sweep source, execute the hp4156b_setSweepSync function.
Driver Functions hp4156b_sweepMiv hp4156b_sweepMiv This function executes a multichannel staircase sweep measurement by the specified channels, and returns the number of measurement points, sweep source data, measurement data and the measurement status. Before executing this function, set the sweep source setup by using the hp4156b_setIv function. If you want to use the synchronous sweep source, execute the hp4156b_setSweepSync function.
Driver Functions hp4156b_sweepMiv Remarks The array size of the parameters should be as shown below. ViInt32 channel[N] ViInt32 mode[N] ViReal64 range[N] ViInt32 point ViReal64 source[M] ViReal64 value[M][N] ViReal64 status[M][N] where, N: Number of channels used for the measurements plus 1, or more. M: Number of sweep points ('point’ parameter value of hp4156b_setIv function), or more. For the parameter definition, the order of the array data is important.
Driver Functions hp4156b_sweepPbias hp4156b_sweepPbias This function executes a staircase sweep with pulsed bias measurement by the specified channel, and returns the number of measurement points, sweep source data, measurement data, and the measurement status. Before executing this function, set the sweep source setup and pulsed bias setup by using the hp4156b_setIv function and the hp4156b_setPbias function. If you want to use the synchronous sweep source, execute the hp4156b_setSweepSync function.
Driver Functions hp4156b_sweepPiv hp4156b_sweepPiv This function executes a pulsed sweep measurement by the specified channel, and returns the number of measurement points, sweep source data, measurement value and the measurement status. Array size of source, value and status should be the same together, and it must be greater than or equal to the number of sweep points defined by the hp4156b_setPiv function ('point’ parameter).
Driver Functions hp4156b_timeOut hp4156b_timeOut This function sets a minimum timeout value for driver I/O transactions in milliseconds. The default timeout period is 5 seconds. Syntax ViStatus_VI_FUNC hp4156b_timeOut(ViSession vi, ViInt32 timeOut); Parameters vi Instrument handle returned from hp4156b_init( ). timeOut I/O timeout value for all functions in the driver. in milliseconds. 0 to 2147483647.
Driver Functions Driver Functions for the E5250A Table 2-2 lists all the functions for the E5250A. You will see a brief description of the functions in the table. For the description, syntax and parameters of the function, refer to the reference section following this table. The driver functions in the reference section will appear in the alphabetical order.
Driver Functions Category Couple Port Route Control C/G Compensation Diagnostics Passthrough Functions Function hpe5250a_couplePort hpe5250a_coupleState hpe5250a_closeList hpe5250a_openList hpe5250a_openCard hpe5250a_closeList_Q hpe5250a_openList_Q hpe5250a_closeCard_Q hpe5250a_CompenC hpe5250a_selectCompenFile hpe5250a_testExec_Q hpe5250a_testClear hpe5250a_cmd hpe5250a_cmdInt hpe5250a_cmdReal hpe5250a_cmdData_Q hpe5250a_cmdString_Q hpe5250a_cmdInt16_Q hpe5250a_cmdInt16Arr_Q hpe5250a_cmdInt32_Q hpe5250a
Driver Functions hpe5250a_biasChanCard hpe5250a_biasChanCard This function will enable or disable bias on all the output ports of the specified card. Syntax ViStatus _VI_FUNC hpe5250a_biasChanCard(ViSession vi, ViInt16 disable_enable, ViInt16 bias_cardno); Parameters vi Instrument handle returned from hpe5250a_init( ). disable_enable Bias status. 0 : sets bias enabled card. 1 : sets bias disabled card. bias_cardno Card number.
Driver Functions hpe5250a_biasChanList_Q hpe5250a_biasChanList_Q This function will query the instrument for the bias status for the channels given in the list. The parameter ’biaschan_list’ is an array of integers with each integer representing one channel. The last number of the ’biaschan_list’ should be "0" (numeric zero) to identify the end of the list. The maximum number of channels that can be specified by the list is 100.
Driver Functions hpe5250a_biasPort hpe5250a_biasPort This function will select which input port is the bias port on the specified card. For each card, you can specify the same or different Bias Port. This function applies only to the E5252A card. Syntax ViStatus _VI_FUNC hpe5250a_biasPort(ViSession vi, ViInt16 biasport_cardno, ViInt16 bias_port); Parameters vi Instrument handle returned from hpe5250a_init( ). biasport_cardno Card number.
Driver Functions hpe5250a_close hpe5250a_close This function terminates the software connection to the instrument and deallocates system resources. It is generally a good programming habit to close the instrument handle when the program is done using the instrument. Syntax ViStatus _VI_FUNC hpe5250a_close(ViSession vi); Parameters vi Instrument handle returned from hpe5250a_init( ). hpe5250a_closeCard_Q This function will query the card for the channels closed of the specified card.
Driver Functions hpe5250a_closeList hpe5250a_closeList This function will connect the input ports to the output ports specified by the channel list. The parameter ’closechan_list’ is an array of integers with each integer representing one channel. The last number of the ’closechan_list’ should be "0" (numeric zero) to identify the end of the list. The maximum number of channels that can be specified by the list is 100.
Driver Functions hpe5250a_closeList_Q hpe5250a_closeList_Q This function will query the instrument for the channels closed given in the ’closechan_list’. The parameter ’closechan_list’ is an array of integers with each integer representing one channel. The last number of the ’closechan_list’ should be "0" (numeric zero) to identify the end of the list. The maximum number of channels that can be specified by the list is 100.
Driver Functions hpe5250a_cmdData_Q hpe5250a_cmdData_Q This function passes the cmd_str string to the instrument. This entry point will wait for a response which may be any data. You specify the cmd_str and size parameters, and get result[ ]. Syntax ViStatus _VI_FUNC hpe5250a_cmdData_Q(ViSession vi, ViString cmd_str, ViInt32 size, ViChar _VI_FAR result[ ] ); Parameters vi Instrument handle returned from hpe5250a_init( ). cmd_str Instrument command (cannot exceed 256 bytes in length).
Driver Functions hpe5250a_cmdInt16Arr_Q hpe5250a_cmdInt16Arr_Q This function passes the cmd_str string to the instrument. This command expects a response that is a definite arbitrary block of 16 bit integers. You specify the cmd_str and size parameters, and get result[ ] and count. Syntax ViStatus _VI_FUNC hpe5250a_cmdInt16Arr_Q(ViSession vi, ViString cmd_str, ViInt32 size, ViInt16 _VI_FAR result[ ], ViPInt32 count); Parameters vi Instrument handle returned from hpe5250a_init( ).
Driver Functions hpe5250a_cmdInt32Arr_Q hpe5250a_cmdInt32Arr_Q This function passes the cmd_str string to the instrument. This command expects a response that is a definite arbitrary block of 32 bit integers. You specify the cmd_str and size parameters, and get result[ ] and count. Syntax ViStatus _VI_FUNC hpe5250a_cmdInt32Arr_Q(ViSession vi, ViString cmd_str, ViInt32 size, ViInt32 _VI_FAR result[ ], ViPInt32 count); Parameters vi Instrument handle returned from hpe5250a_init( ).
Driver Functions hpe5250a_cmdReal hpe5250a_cmdReal This function passes the cmd_str string to the instrument. This entry point passes the string in cmd_str followed by a space and then the real in value. Note that either an Real32 or 64 can be passed as the Real32 will be promoted. Syntax ViStatus _VI_FUNC hpe5250a_cmdReal(ViSession vi, ViString cmd_str, ViReal64 value); Parameters vi Instrument handle returned from hpe5250a_init( ). cmd_str Instrument command (cannot exceed 256 bytes in length).
Driver Functions hpe5250a_cmdReal64_Q hpe5250a_cmdReal64_Q This function passes the cmd_str string to the instrument. This command expects a response that can be returned as a 64 bit real. Syntax ViStatus _VI_FUNC hpe5250a_cmdReal64_Q(ViSession vi, ViString cmd_str, ViPReal64 result); Parameters vi Instrument handle returned from hpe5250a_init( ). cmd_str Instrument command (cannot exceed 256 bytes in length). result Response from instrument.
Driver Functions hpe5250a_compenC hpe5250a_compenC This function compensates capacitance/conductance data measured by using Agilent 4284A C meter, and returns compensation results. If you change the compensation data, create the compensation data file, and specify the data file using hpe5250a_selectCompenFile function before executing this function.
Driver Functions hpe5250a_connRuleSeq hpe5250a_connRuleSeq The function sets connection rule and connection sequence for the specified card. Syntax ViStatus _VI_FUNC hpe5250a_connRuleSeq(ViSession vi, ViInt16 cardno_ruleseq, ViInt16 rule, ViInt16 sequence); Parameters vi Instrument handle returned from hpe5250a_init( ). cardno_ruleseq Card number. 1 (card 1), 2 (card 2), 3 (card 3), 4 (card 4), or 5 (all card) in the normal configuration mode, or 0 (all card in the automatic configuration mode).
Driver Functions hpe5250a_couplePort hpe5250a_couplePort This function sets the couple ports which are used for making kelvin connections on the specified card. The specified input port number will be coupled with the next input port and two output ports. For each card, you may setup the same or different couple ports. This command overwrites the previous couple port setting for the card. This command applies only to the E5252A card. The couple port mode is controlled by the hpe5250a_coupleState function.
Driver Functions hpe5250a_coupleState hpe5250a_coupleState This function controls the couple port mode for the specified card. This function applies only to the E5252A card. Syntax ViStatus _VI_FUNC hpe5250a_coupleState(ViSession vi, ViInt16 couplestate_cardno, ViInt16 couple_state); Parameters vi Instrument handle returned from hpe5250a_init( ). couplestate_cardno Card number.
Driver Functions hpe5250a_error_message hpe5250a_error_message This function translates the error return value from an instrument driver function to a readable string. Syntax ViStatus _VI_FUNC hpe5250a_error_message(ViSession vi, ViStatus error_number, ViChar _VI_FAR message[ ] ); Parameters vi Instrument handle returned from hpe5250a_init( ). error_number Error return value from the driver function. message[ ] Error message string. This is limited to 256 characters.
Driver Functions hpe5250a_errorQueryDetect hpe5250a_errorQueryDetect This function enables or disables automatic instrument error checking. If automatic error checking is enabled then the driver will query the instrument for an error at the end of each function call. Syntax ViStatus _VI_FUNC hpe5250a_errorQueryDetect(ViSession vi, ViBoolean errorQueryDetect); Parameters vi Instrument handle returned from hpe5250a_init( ). errorQueryDetect Error checking enable (VI_TRUE) or disable (VI_FALSE).
Driver Functions hpe5250a_esr_Q hpe5250a_esr_Q This function returns the contents of the ESR register. The driver returns the equivalent messages (see Parameters). Syntax ViStatus _VI_FUNC hpe5250a_esr_Q(ViSession vi, ViChar _VI_FAR errstr[ ] ); Parameters vi Instrument handle returned from hpe5250a_init( ). errstr[ ] Response from instrument.
Driver Functions hpe5250a_init hpe5250a_init This function initializes the software connection to the instrument and optionally verifies that instrument is in the system. In addition, it may perform any necessary actions to place the instrument in its reset state. If the hpe5250a_init function encounters an error, then the value of the vi output parameter will be VI_NULL.
Driver Functions hpe5250a_openCard hpe5250a_openCard This function will disconnect all input ports from all output ports for the specified card. Then if bias mode is ON, connects the input bias port to all bias enabled output ports. Syntax ViStatus _VI_FUNC hpe5250a_openCard(ViSession vi, ViInt16 open_cardno); Parameters vi Instrument handle returned from hpe5250a_init( ). open_cardno Card number.
Driver Functions hpe5250a_openList_Q hpe5250a_openList_Q This function will query the instrument for the channels open given in the ’openchan_list’. The parameter ’openchan_list’ is an array of integers with each integer representing one channel. The last number of the ’openchan_list’ should be "0" (numeric zero) to identify the end of the list. The maximum number of channels that can be specified by the list is 100.
Driver Functions hpe5250a_reset hpe5250a_reset This function places the instrument in a default state. Before issuing this function, it may be necessary to send a device clear to ensure that the instrument can execute a reset. A device clear can be issued by invoking hpe5250a_dcl function. Syntax ViStatus _VI_FUNC hpe5250a_reset(ViSession vi); Parameters vi Instrument handle returned from hpe5250a_init( ).
Driver Functions hpe5250a_selectCompenFile hpe5250a_selectCompenFile This function specifies capacitance/conductance compensation data file used to compensate C/G by using hpe5250a_compenC. Syntax ViStatus _VI_FUNC hpe5250a_selectCompenFile(ViSession vi, ViString file_name); Parameters vi Instrument handle returned from hpe5250a_init( ). file_name Compensation data file name. Use absolute path. If the value is NULL string, the default data is used.
Driver Functions hpe5250a_self_test hpe5250a_self_test This function causes the instrument to perform a self-test and returns the result of that self-test. This is used to verify that an instrument is operating properly. A failure may indicate a potential hardware problem. Syntax ViStatus _VI_FUNC hpe5250a_self_test(ViSession vi, ViPInt16 test_result, ViChar_VI_FAR test_message[ ] ); Parameters vi Instrument handle returned from hpe5250a_init( ). test_result Numeric result from self-test operation.
Driver Functions hpe5250a_testExec_Q hpe5250a_testExec_Q This function executes the controller test, the front panel test, or the relay test for the specified card. You must attach the relay test adapter before executing the relay test. The Front Panel test requires the key to be pressed within 10 seconds else the test will fail. Syntax ViStatus _VI_FUNC hpe5250a_testExec_Q(ViSession vi, ViInt16 framecard_exec, ViPInt16 exec_result); Parameters vi Instrument handle returned from hpe5250a_init( ).
3 Programming Examples Using Agilent VEE Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 1
Programming Examples Using Agilent VEE This chapter describes how to create measurement programs using Agilent VEE and the VXIplug&play driver for Agilent 4155/4156, and provides programming examples.
Programming Examples Using Agilent VEE Programming Basics Programming Basics This section covers the following topics.
Programming Examples Using Agilent VEE Programming Basics Registrating the Driver on Agilent VEE To use the VXIplug&play driver on Agilent VEE, register the driver as described below and as shown in Figure 3-1 on page 3-5. 1. Click the I/O menu. 2. Select Instrument Manager from the I/O menu. The Instrument Manager dialog box is displayed. The dialog box lists the available devices (instruments). If this is the first time using Agilent VEE, only off-line (NOT LIVE) devices are shown in the Instrument List.
Programming Examples Using Agilent VEE Programming Basics Figure 3-1 Registering the Driver on Agilent VEE 1 File Edit View Debug 2 I/O Data HP VEE Display Window Help Instrument Manager Main Advanced I/O Bus I/O Monitor Untitled Main Instrument Manager Instrument List Configuration My configuration Add HP-IB0 Delete hp8720c(@(NOT LIVE)) 3 Edit HP-IB7 Refresh dmm(hp34401a@(NOT LIVE)) Get Device scope(hp54504a@(NOT LIVE)) Direct I/O Serial9 Plug&play Driver serial(@(NOT LIVE)) Pan
Programming Examples Using Agilent VEE Programming Basics Basic Objects to Control the Instrument You can create programs using Agilent VEE and the VXIplug&play driver, as shown in the following steps. In this procedure you use only three objects; To/From, Data, and Display, shown in Figure 3-2. 1. Display the To/From object for the VXIplug&play driver. 2. Define the transactions (functions of the driver) in the To/From object. 3. Set the input parameters for the transaction. 4.
Programming Examples Using Agilent VEE Programming Basics The To/From HP4156B object, in Figure 3-2, defines the following transactions (functions of the plug&play driver) to measure the current flow to a resistor. hp4156b_setSwitch This function controls the 4155/4156 output switch. hp4156b_force This function forces dc voltage or current. hp4156b_spotMeas This function executes a spot measurement. hp4156b_zeroOutput This function disables the 4155/4156 output.
Programming Examples Using Agilent VEE Programming Basics To define transactions in the To/From object You can define transactions (functions of plug&play driver) as shown in the following example. 1. Double click the blue stripe on the To/From object. The Select a Function Panel dialog box is displayed. The dialog box lists the functions available for the instrument, and displays the Help message for the selected function. 2. Select the function you want to add to the To/From object.
Programming Examples Using Agilent VEE Programming Basics To set input parameters You can set the input parameter value using the Edit Function Panel dialog box. Figure 3-5 sets the following values for the input parameters of the hp4156b_force function, which forces dc current or voltage.
Programming Examples Using Agilent VEE Programming Basics To use the Help function If you need to know the details for each parameter in order to enter the parameter value, move the mouse pointer to the appropriate entry field, then click the right mouse button. The context-based Help function will be displayed. Figure 3-6 shows the Help message for the comp entry field.
Programming Examples Using Agilent VEE Programming Basics To use input variables Most of the Edit Function Panel dialog boxes have two tabs, Panel and Parameters. To change the value, enter the value in the Panel tab. If you pass the value from another object, such as Data-Real object, click the Parameters tab, and use Variable (not Constant). See Figure 3-7.
Programming Examples Using Agilent VEE Programming Basics To create output terminals in the To/From object Figure 3-8 shows the Edit Function Panel dialog box of the hp4156b_spotMeas function. These measurement transactions need the output terminals in the To/From object. You can create the output terminal as shown in the following example. 1. Click the Parameters tab. 2. Enter the Name (output terminal name) for the output variable value. 3.
Programming Examples Using Agilent VEE Programming Basics To display/connect the Data object In Figure 3-9, the Data-Real object is used to pass the input parameter value to the value input variable of the hp4156b_force transaction. You can display the Data-Real object by clicking the Data menu, selecting Constant, and then selecting Real. To pass the value, connect the output terminal of the Data-Real object to the input terminal of the To/From HP4156B object.
Programming Examples Using Agilent VEE Programming Basics Debugging Your Program You may encounter problems when creating programs to control the 4155/4156. In the program development or debugging phase, insert the following transactions (functions of the driver) in the To/From object. Do not forget to remove the functions after completing the program. These functions will cause increased program execution time.
Programming Examples Using Agilent VEE Programming Basics To check for instrument error The hp4156b_errorQueryDetect function enables or disables automatic instrument error checking. If automatic error checking is enabled, the driver will query the instrument for an error at the end of each function call. If this function is enabled (1 of Figure 3-11) and if an error occurs in the function call, Agilent VEE stops the program execution and displays an error dialog box.
Programming Examples Using Agilent VEE Programming Basics Restrictions When Using the Driver with Agilent VEE When using Agilent VEE and any of the following functions for Agilent 4155/4156 and Agilent E5250A, certain restrictions will apply. Invalid functions in the VEE program • hp4156b_init, hpe5250a_init Agilent VEE calls and executes these functions automatically when the program first runs after loading. These functions cannot be called in a program using Agilent VEE.
Programming Examples Using Agilent VEE High-Speed Spot Measurements High-Speed Spot Measurements To make high-speed spot measurements, use the following functions.
Programming Examples Using Agilent VEE High-Speed Spot Measurements Figure 3-13 Program Example of High-Speed Spot Measurement Table 3-2 Program Explanation Object Title Menu Explanation Vs,Vg,Vsub,Vd Data-Constant-Real Enters input parameters of hp4156b_force. To/From HP4156B I/O-InstrumentManager-Plug&play Executes measurement. Drain Current Display-AlphaNumeric Displays Id. (hp4156b_spotMeas value parameter) Status Display-AlphaNumeric Displays status.
Programming Examples Using Agilent VEE Multi-Channel Spot Measurements Multi-Channel Spot Measurements To make multi-channel spot measurements, use the following functions.
Programming Examples Using Agilent VEE Multi-Channel Spot Measurements Figure 3-15 Program Example of Multi-Channel Spot Measurement Table 3-4 Program Explanation Object Title Menu Explanation Vbe Data-Constant-Real Enters input parameters of hp4156b_force. To/From HP4156B I/O-InstrumentManager-Plug&play Executes measurement. GetValues Data-AccessArray-GetValues Gets data from Array (value[ ], status[ ]). IcStatus,Ic, IbStatus,Ib Display-AlphaNumeric Displays measurement data/status.
Programming Examples Using Agilent VEE Multi-Channel Spot Measurements Figure 3-16 SetArrayPara User Object Table 3-5 Program Explanation Object Title Menu Explanation Channels,Ch1,Ch2, Ch1Mode,Ch2Mode, Ch1Range,Ch2Range Data-Constant-Integer Data-Constant-Real Enters data to allocate array, and array element for channel[ ], mode[ ], range[ ] of hp4156b_measureM. A+1 Device-Formula Calculates A+1 to allocate array.
Programming Examples Using Agilent VEE Staircase Sweep Measurements Staircase Sweep Measurements To make staircase sweep measurements, use the following functions.
Programming Examples Using Agilent VEE Staircase Sweep Measurements Figure 3-18 Program Example of Staircase Sweep Measurement Table 3-7 Program Explanation Object Title Menu Explanation Vs,Vg,Vsub VdStart,VdStop MeasPoints Data-Constant-Real Data-Constant-Integer Enters input parameters of hp4156b_force, hp4156b_setIv, and hp4156b_sweepIv. To/From HP4156B I/O-InstrumentManager- Plug&play Executes measurement.
Programming Examples Using Agilent VEE Synchronous Sweep Measurements Synchronous Sweep Measurements To make synchronous sweep measurements, use the following function with the functions shown in “Staircase Sweep Measurements” on page 22, or “Pulsed Sweep Measurements” on page 34. The hp4156b_setSweepSync function must be placed after the hp4156b_setIv function or the hp4156b_setPiv function in the To/From object.
Programming Examples Using Agilent VEE Synchronous Sweep Measurements Figure 3-20 Program Example of Synchronous Sweep Measurement Table 3-9 Program Explanation Object Title Menu Explanation Vs,Vsub Vstart,Vstop MeasPoints Data-Constant-Real Data-Constant-Integer Enters input parameters of hp4156b_force, hp4156b_setIv, and hp4156b_setSweepSync. To/From HP4156B I/O-InstrumentManager- Plug&play Executes measurement.
Programming Examples Using Agilent VEE Multi-Channel Sweep Measurements Multi-Channel Sweep Measurements To make multi-channel sweep measurements, use the following functions.
Programming Examples Using Agilent VEE Multi-Channel Sweep Measurements Figure 3-22 Program Example of Multi-Channel Sweep Measurement Table 3-11 Program Explanation Object Title Menu Explanation VeStart,VeStop MeasPoints Data-Constant-Real Data-Constant-Integer Enters input parameters of hp4156b_setIv and hp4156b_sweepMiv. To/From HP4156B I/O-InstrumentManager-Plug&play Executes measurement. abs(x) Device-Formula Calculates absolute value of Vbe (source).
Programming Examples Using Agilent VEE Multi-Channel Sweep Measurements Figure 3-23 SetArrayPara User Object Table 3-12 Program Explanation Object Title Menu Explanation Channels,Ch1,Ch2, Ch1Mode,Ch2Mode, Ch1Range,Ch2Range Data-Constant-Integer Data-Constant-Real Enters data to allocate array, and array element for channel[ ], mode[ ], range[ ] of hp4156b_sweepMiv. A+1 Device-Formula Calculates A+1 to allocate array.
Programming Examples Using Agilent VEE Multi-Channel Sweep Measurements Figure 3-24 GetMeasData User Object Table 3-13 Program Explanation Object Title Menu Explanation GetValues Data-AccessArray-GetValues Gets data from array (value[ ],status[ ]). Ic/Ib Device-Formula Calculates a/b to get hFE value. abs(x) Device-Formula Calculates absolute value of Ic,Ib,hFE.
Programming Examples Using Agilent VEE Pulsed Spot Measurements Pulsed Spot Measurements To make pulsed spot measurements, use the following functions.
Programming Examples Using Agilent VEE Pulsed Spot Measurements Figure 3-26 Program Example of Pulsed Spot Measurement Table 3-15 Program Explanation Object Title Menu Explanation Vs,Vg,Vsub,Vd Data-Constant-Real Enters input parameters of hp4156b_force, and hp4156b_setPbias. To/From HP4156B I/O-InstrumentManager-Plug&play Executes measurement. Drain Current Display-AlphaNumeric Displays Id (hp4156b_measureP value parameter).
Programming Examples Using Agilent VEE Multi-Channel Pulsed Spot Measurements Multi-Channel Pulsed Spot Measurements To make multi-channel pulsed spot measurements, use the following functions.
Programming Examples Using Agilent VEE Multi-Channel Pulsed Spot Measurements Figure 3-28 Program Example of Multi-Channel Pulsed Spot Measurement Table 3-17 Program Explanation Object Title Menu Explanation Channels,Ch1,Ch2, Ch1Mode,Ch2Mode, Ch1Range,Ch2Range Data-Constant-Integer Data-Constant-Real Enters data to allocate array, and array element for channel[ ], mode[ ], range[ ] of hp4156b_startMeasure. A+1 Device-Formula Calculates A+1 to allocate array.
Programming Examples Using Agilent VEE Pulsed Sweep Measurements Pulsed Sweep Measurements To make pulsed sweep measurements, use the following functions.
Programming Examples Using Agilent VEE Pulsed Sweep Measurements Figure 3-30 Program Example of Pulsed Sweep Measurement Table 3-19 Program Explanation Object Title Menu Explanation Vs,Vg,Vsub VdStart,VdStop MeasPoints Data-Constant-Real Data-Constant-Integer Enters input parameters of hp4156b_force, hp4156b_setPiv, and hp4156b_sweepPiv. To/From HP4156B I/O-InstrumentManager- Plug&play Executes measurement.
Programming Examples Using Agilent VEE Multi-Channel Pulsed Sweep Measurements Multi-Channel Pulsed Sweep Measurements To make multi-channel pulsed sweep measurements, use the following functions.
Programming Examples Using Agilent VEE Multi-Channel Pulsed Sweep Measurements Figure 3-32 Program Example of Multi-Channel Pulsed Sweep Measurement Table 3-21 Program Explanation Object Title Menu Explanation VbeStart,VbeStop MeasPoints Data-Constant-Real Data-Constant-Integer Enters PWV command parameters. For Count Flow-Repeat-ForCount Repeats next action for specified count. To/From HP4156B I/O-InstrumentManager-Plug&play Executes measurement, or reads data.
Programming Examples Using Agilent VEE Multi-Channel Pulsed Sweep Measurements Figure 3-33 SetInput User Function Table 3-22 Program Explanation Object Title Menu Explanation Channels,Ch1,Ch2, Ch1Mode,Ch2Mode, Ch1Range,Ch2Range Data-Constant-Integer Data-Constant-Real Enters data to allocate array, and array element for channel[ ], mode[ ], range[ ] of hp4156b_startMeasure. A+1 Device-Formula Calculates A+1 to allocate array.
Programming Examples Using Agilent VEE Staircase Sweep with Pulsed Bias Measurements Staircase Sweep with Pulsed Bias Measurements For staircase sweep with pulsed bias measurements, use the following functions.
Programming Examples Using Agilent VEE Staircase Sweep with Pulsed Bias Measurements Figure 3-35 Program Example of Staircase Sweep with Pulsed Bias Measurement Table 3-24 Program Explanation Object Title Menu Explanation VcStart, VcStop Vb,Ve,MeasPoints Data-Constant-Real Data-Constant-Integer Enters input parameters of hp4156b_force hp4156b_setPbias, and hp4156b_setIv. To/From HP4156B I/O-InstrumentManager- Plug&play Executes measurement.
Programming Examples Using Agilent VEE Sampling Measurements Sampling Measurements To make sampling measurements, use the following functions.
Programming Examples Using Agilent VEE Sampling Measurements Figure 3-37 Program Example of Sampling Measurement Table 3-26 Program Explanation Object Title Menu Explanation Interval,Bias, MeasCh1,MeasCh2 MeasMode, MeasRange, MeasPoints Data-Constant-Integer, Data-Constant-Real Enters input parameters of hp4156b_force, hp4156b_setSample, hp4156b_addSampleSyncIv, hp4156b_addSampleSyncPulse, hp4156b_sample To/From HP4156B I/O-InstrumentManager-Plug&play Executes measurement.
Programming Examples Using Agilent VEE Sampling Measurements Figure 3-38 SetArray User Function Table 3-27 Program Explanation Object Title Menu Explanation AllocReal, AllocInteger Data-AllocateArray-Real Data-AllocateArray-Integer Allocates array for channel, mode, range, index,value,status of hp4156b_sample. a[0]=b, a[1]=b Data-AccessArray-SetValues Sets data of array (array element).
Programming Examples Using Agilent VEE Sampling Measurements Figure 3-39 GetData User Function Table 3-28 Program Explanation Object Title GetValues Menu Data-AccessArray-GetValues 3-44 Explanation Gets data from array (value[ ],status[ ]).
Programming Examples Using Agilent VEE Stress Force Stress Force For stress force, use the following functions.
Programming Examples Using Agilent VEE Stress Force Figure 3-41 Program Example of Stress Force Table 3-30 Program Explanation Object Title Menu Explanation Vsub,hold,Count, period,DCVstress, Pulsestress,width, delay,rise,fall Data-Constant-Real Data-Constant-Integer Enters input parameters of hp4156b_force, hp4156b_setStress, hp4156b_addStressSyncIv, hp4156b_addStressSyncPulse, hp4156b_stress. To/From HP4156B I/O-InstrumentManager-Plug&play Forces dc stress and pulse stress.
4 Sample Application Programs for Agilent VEE Agilent 4155C/4156C VXIplug&play Driver User’s Guide, Edition 1
Sample Application Programs for Agilent VEE This chapter explains how to use the sample application programs stored on the Agilent VEE Sample Program Disk furnished with Agilent 4155/4156. This chapter consists of the following sections: • “Introduction” • “Installation” • “Using sample1.vee” • “Using sample2.vee” • “Customizing Sample Programs” CAUTION The program and setup files stored on the Sample Program Disk are examples only, and may need to be customized for your specific application.
Sample Application Programs for Agilent VEE Introduction Introduction This section introduces the sample application programs for Agilent VEE that are furnished with the 4155/4156, and covers the following sections: • “Agilent VEE Sample Program Disk” • “What are Sample Programs?” Agilent VEE Sample Program Disk The Agilent VEE Sample Program Disk stores sample application programs using Agilent VEE and VXIplug&play drivers for the 4155/4156 and the E5250A.
Sample Application Programs for Agilent VEE Introduction What are Sample Programs? The Sample Program Disk stores two program files, sample1.vee and sample2.vee. Both programs control the 4155/4156, E5250A low leakage switch mainframe, and Cascade Summit series semi-auto prober, and do the following: 1. Probe two MOSFETs on a die 2. Measure Id-Vg characteristics of two MOSFETs 3. Extract the threshold voltage (Vth value) for two MOSFETs 4.
Sample Application Programs for Agilent VEE Introduction Definition of Vth The threshold voltage (Vth) is extracted by a linear interpolation using two measurement points, which are the nearest from the targeted point for both higher and lower directions. The targeted point (Vg_extract,Id_target) is an ideal point, which indicates the Id_target value on the line through the two measurement points on the Id-Vg curve. See Figure 4-1.
Sample Application Programs for Agilent VEE Introduction Execution Mode The sample1.vee and sample2.vee programs have five execution modes, as described below. The default is Offline mode. NOTE If you do not use the Cascade Summit series semi-auto prober, use sample1.vee with Online mode, standalone, or with the E5250A. The sample2.vee program is used for sequential test, using the semi-auto prober. The test results for sample2.vee will be meaningless in the Online mode without the prober.
Sample Application Programs for Agilent VEE Introduction Measurement Connection and Source Setup Figure 4-2 shows the measurement connection for instruments, the prober and devices. This setup is for the fully automatic Online mode. For other modes, ignore the equipment not used. This figure also shows the default source setup. Figure 4-2 Measurement Connection and Source Setup SMU1 IN 1 SMU2 2 SMU3 3 SMU4 4 4155/4156 A E5250A 1 2 3 4 5 7 9 23 OUT 0.5V 0.5V to 3.
Sample Application Programs for Agilent VEE Introduction Measurement Data Files The sample programs create three types of data files, as shown below. info.txt Information file. Title, date, and comment are included. vthn.txt Vth data file. If 5 dies are tested, 5 data are included. For the file name, n is 1 or 2 (1 for device1, 2 for device2). dnvgidxy.txt Row measurement data file of Id-Vg curve. If 5 dies are tested, the program creates 10 data files (5 files/device).
Sample Application Programs for Agilent VEE Installation Installation This section explains the equipment and accessories required to use the sample programs, and how to install the programs. Required Equipment and Accessories 1. PC (AT-compatible) for Windows Agilent VEE (HP VEE version 4.0 or later) and the VXIplug&play drivers for the 4155/4156 and E5250A must be installed in your PC and ready for use. See Chapter 1. A 3.
Sample Application Programs for Agilent VEE Installation Installing the Sample Programs 1. Make a working directory where you can install and execute the sample programs, using Windows Explorer. 2. Create a subdirectory in the working directory. The subdirectory will be used to save the measurement data files. 3. Insert the Agilent VEE Sample Program Disk into the flexible disk drive connected to your PC. 4. Copy all of the files on the disk to the working directory.
Sample Application Programs for Agilent VEE Using sample1.vee Using sample1.vee This section covers the following topics. NOTE • “Program Execution Flow” • “Panel Display” • “To Execute sample1.vee” For the wafer test using the Summit series semi-auto prober from Cascade Microtech, Inc., create your own probe plan file (*.ppd). The sample.ppd file stored on the Agilent VEE Sample Program Disk is an example only.
Sample Application Programs for Agilent VEE Using sample1.vee Program Execution Flow The execution flow of the sample1.vee program is shown in Figure 4-5 and Table 4-2. Figure 4-5 Execution Flow of sample1.
Sample Application Programs for Agilent VEE Using sample1.vee Table 4-2 Execution Flow of sample1.vee Object Explanation 1 H/W Configuration Defines execution mode. Set the mode before running sample1.vee. 2 Save Directory, Init G data dir Defines name of the subdirectory to save the measurement result data. See “Installing the Sample Programs” on page 10. 3 Save Info File Defines and saves the information file (info.txt) which contains title, date, and comments for the subdirectory.
Sample Application Programs for Agilent VEE Using sample1.vee Panel Display The sample1.vee program displays the following data and graph. See Figure 4-6. Vth Displays Vth value of device 1 and 2. The data is in volts. Vg-Id Graph Displays Id-Vg curve of device 1 and 2. X, Y Index Displays wafer map of Vth value using the following characters. .: Both device 1 and 2 test data are within the allowable range. F1: Device 1 test data is out of the allowable range.
Sample Application Programs for Agilent VEE Using sample1.vee To Execute sample1.vee Before executing the sample1.vee program, do the following. NOTE If you execute sample1.vee in Offline mode, skip steps 1 through 5. 1. Connect GPIB cables between your PC and the instruments being used. 2. Confirm that the semi-auto prober is connected to your PC via Cascade’s interface, or connect the prober to your PC, if used. 3.
Sample Application Programs for Agilent VEE Using sample1.vee To execute the sample1.vee program, do the following. NOTE If you execute sample1.vee in Offline mode, skip steps 3, 5, and 6. 1. Create a directory (Example: C:\lot1\test1\data) to be used to save the measurement data. To create a directory, use Windows Explorer. See “Installing the Sample Programs” on page 10. 2. Display the panel (Figure 4-6) and enter the following input fields.
Sample Application Programs for Agilent VEE Using sample1.vee Figure 4-7 Running sample1.vee with Cascade Microtech Prober Control Software (1) Figure 4-8 Running sample1.
Sample Application Programs for Agilent VEE Using sample1.vee 7. Enter the X-Y index of the die to be tested in the X Index and Y Index input fields. Only the index defined in the *ppd file is effective for this test. 8. Click Start Measurement. The program executes the Id-Vg measurement, extracts Vth value, displays the results, and stores the data into files. The program then waits for your input. Figure 4-9 Execution Example of sample1.vee 9. Repeat steps 7 and 8 for all dies to be tested. 10.
Sample Application Programs for Agilent VEE Using sample2.vee Using sample2.vee This section covers the following topics. NOTE • “Program Execution Flow” • “Panel Display” • “To Execute sample2.vee” For the wafer test using the Summit series semi-auto prober from Cascade Microtech, Inc., create your probe plan file (*.ppd). The sample.ppd file stored on the Agilent VEE Sample Program Disk is an example only.
Sample Application Programs for Agilent VEE Using sample2.vee Program Execution Flow The execution flow of the sample2.vee program is shown in Figure 4-10 and Table 4-4. Figure 4-10 Execution Flow of sample2.
Sample Application Programs for Agilent VEE Using sample2.vee Table 4-4 Execution Flow of sample2.vee Object Explanation 1 Until Break Repeats the following sequence until a break occurs. 2 Start Measurement Triggers the start of the wafer test. 3 H/W Configuration Defines execution mode. Set the mode before running sample2.vee. 4 Save Directory, Init G data dir Defines name of the subdirectory to save measurement result data. See “Installing the Sample Programs” on page 10.
Sample Application Programs for Agilent VEE Using sample2.vee Panel Display The sample2.vee program displays the following data and graph. See Figure 4-11. Vth Displays Vth value of device 1 and 2. The data is in volts. Histogram Displays histogram of Vth value for the device selected. Enter the file name, then click View to display the histogram. Vg-Id Graph Displays Id-Vg curve for the device selected. Enter the file name, then click View to display the graph.
Sample Application Programs for Agilent VEE Using sample2.vee To Execute sample2.vee Before executing the sample2.vee program, do the following. NOTE If you execute sample2.vee in Offline mode, skip steps 1 through 5. 1. Connect the GPIB cables between your PC and the instruments being used. 2. Confirm that the semi-auto prober is connected to your PC via Cascade’s interface, or connect the prober to your PC, if used. 3.
Sample Application Programs for Agilent VEE Using sample2.vee To execute the sample2.vee program, do the following. NOTE If you execute sample2.vee in Offline mode, skip steps 4, 6, and 7. 1. Click the run button on the Agilent VEE menu bar. 2. Create a directory (Example: C:\lot1\test1\data) to save the measurement data. To create a directory, use Windows Explorer. See “Installing the Sample Programs” on page 10. 3. Enter the following input fields.
Sample Application Programs for Agilent VEE Using sample2.vee Figure 4-12 Running sample2.vee with Cascade Microtech Prober Control Software (1) Figure 4-13 Running sample2.
Sample Application Programs for Agilent VEE Using sample2.vee 7. Move the wafer to align the probes over the probe plan alignment position, then click OK in the ALIGN PROBES dialog box. 8. Wait until wafer test is completed. The program executes the Id-Vg measurement, extracts Vth value, displays the results, and stores the data into files. The program then waits for your input. Figure 4-14 Execution Example of sample2.vee 9. Repeat step 2 through 8 for all wafers to be tested. 10.
Sample Application Programs for Agilent VEE Customizing Sample Programs Customizing Sample Programs This section offers examples of modifications to the sample1.vee and sample2.
Sample Application Programs for Agilent VEE Customizing Sample Programs To Change an GPIB Address You can change the GPIB address of the 4155/4156 and E5250A by using the Agilent VEE Instrument Manager. 1. Select the I/O-InstrumentManager menu from the Agilent VEE menu bar. The Instrument Manager dialog box is displayed. 2. Select the instrument (Example: HP4156B) from the Instrument Manager dialog box, and then click Edit. The Device Configuration dialog box is displayed. 3.
Sample Application Programs for Agilent VEE Customizing Sample Programs To Change the Vth Measurement Setup You can change the 4155/4156 source setup and the E5250A switching setup by editing the Device 1 (or 2) Vth Measurement object. See Figure 4-16. 1. Open the sample1.vee or sample2.vee program. 2. Double click Device 1 (or 2) Vth Measurement in the Agilent VEE program explorer. The Device 1 (or 2) Vth Measurement object is displayed. 3. Change the Device ID for MOSFET if needed, using a string format.
Sample Application Programs for Agilent VEE Customizing Sample Programs NOTE If you want to change other source setup parameters, such as compliance, you will need to change the setup of the To/From object, by doing the following. 1. Display the program for the Device 1 (or 2) Vth Measurement object. 2. Open the Vth Measurement object, and display the program. 3. Open the Pre-Setup object, and then open the Setup4155 object. 4. Double click hp4156b_force and display the Edit Function Panel. 5.
Sample Application Programs for Agilent VEE Customizing Sample Programs 4. Display the Show Result object program, and cut the following seven objects. • Dev2 Vth, Dev2 Vth Min, Dev2 Vth Max, If Vth Pass (for device2) • If/Then/Else • F2, F3 5. Delete the input terminal Vth2. 6. Add the Flow-If/Then/Else object, and enter A, then connect the lines: • between If Vth Pass and If/Then/Else A terminal • between If/Then/Else Then terminal and P • between If/Then/Else Else terminal and F1 7.
Sample Application Programs for Agilent VEE Customizing Sample Programs To Remove a Source Output If the number of terminals for your device is less than four, modify the program as shown below. This example modifies sample2.vee, and removes objects for the substrate terminal of device 1 (the example does not modify the objects for device 2). 1. Open the Vth Measurement object using the Agilent VEE program explorer. 2. Display the program, and cut the following three objects.
Sample Application Programs for Agilent VEE Customizing Sample Programs 5. Open the Pre-Setup object, and delete the sub_ch and Vsub input terminals. 6. Open the Setup 4155 object, and delete the sub_ch and Vsub input terminals. 7. Delete the hp4156b_force(instrHandle,sub_ch,.....) function from the Setup 4155 object.
Sample Application Programs for Agilent VEE Customizing Sample Programs To Add a Test Device If your test die includes three MOSFETs, modify the program as shown below. This example modifies sample2.vee, and adds the Vth measurement and display objects for the third MOSFET. 1. Copy and paste the Device 2 Vth Measurement object on the Main program display, and change the title to Device 3 Vth Measurement. 2.
Sample Application Programs for Agilent VEE Customizing Sample Programs 6. Copy and paste the following four objects, and change title Dev2 to Dev3. • Dev2 Vth Min, Dev2 Vth Max, Dev2 Vth, and If Vth Pass 7. Connect the lines shown below: • between Vth3 terminal and Dev3 Vth object • between Vth3 terminal and the data input terminal of If Vth Pass object • between If Vth Pass and t3 input terminal of If/Then/Else object 8. Change the definition of the If/Then/Else object as shown in Figure 4-22. 9.
Sample Application Programs for Agilent VEE Customizing Sample Programs 13. Open the Main program display, and connect the line between the Vth terminal of the Dev3 Vth Measurement object and the Vth3 terminal of the Show Result object. 14. Click the right mouse button on the Show Result object, and select the Restore menu. The Show Result object panel display is restored on the Main program display. 15. Select the restored Show Result object, and click the Add to Panel button.
Sample Application Programs for Agilent VEE Customizing Sample Programs NOTE The modification example shown above changes the meaning of the wafer map result display as shown below. P Test results of all devices are within the allowable range. F1 Device 1 test result is out of the allowable range. F2 Device 2 test result is out of the allowable range. F3 Device 3 test result is out of the allowable range. F4 Test results of device 1 and 2 are out of the allowable range.
Sample Application Programs for Agilent VEE Customizing Sample Programs To Add the Measurement Function and Dummy Data 1. Open the Measurement object using the Agilent VEE program explorer. 2. Create the Vg_spot input terminal in the Measurement object as shown in Figure 4-25. 3. Open the Meas 4155 object, and add the following three functions. Then set the parameters shown using the Edit Function Panel of each function. • hp4156b_opc_Q function • hp4156b_force function a.
Sample Application Programs for Agilent VEE Customizing Sample Programs 9. Add the Data-Constant-Real and Data-Constant-Integer objects, and set the title to spot_id and spot_id_s, respectively. Then enter “1u” to the entry field of the spot_id object. 10. Create the spot_id and spot_id_s output terminals in the Meas 4155 (Offline) object. 11. Connect the line between the spot_id object and the spot_id terminal. Then connect the line between the spot_id_s object and the spot_id_s terminal. 12.
Sample Application Programs for Agilent VEE Customizing Sample Programs To Set the Id Measurement Source 1. Open the Vth Measurement object program display, and change the title to Vth/Id Measurement. 2. Add the Data-Constant-Real object, set the title to Vg_spot, and enter any value for gate voltage in volts. This example enters 3. 3. Connect the line between the Vg_spot object and the Vg_spot terminal of the Measurement object. 4.
Sample Application Programs for Agilent VEE Customizing Sample Programs To Save Measurement Data 1. Open the Device 1 Vth Measurement object program display, and change the title to Device 1 Measurement. 2. Create the spot_id and spot_id_s output terminals. 3. Connect the lines between the spot_id terminal of the Vth/Id Measurement object and the spot_id output terminal, and between the spot_id_s terminal of the Vth/Id Measurement object and the spot_id_s output terminal. 4.
Sample Application Programs for Agilent VEE Customizing Sample Programs To Modify the Show Result and Main Panel Displays 1. Open the Show Result object program display. 2. Add the Display-Alphanumeric object, and set the title to Dev1 Id. 3. Create the spot_id input terminal. 4. Connect the line between the spot_id terminal and the Dev1 Id object. 5. Click the Dev Id object, then click the Add to Panel button. The Dev Id object is added to the panel display of the Show Result object.