Keithley Series 2600 Application Manual
Keithley Series 2600 Application Manual

Keithley Series 2600 Application Manual

System sourcemeter instruments semiconductor device test
Table of Contents

Advertisement

Quick Links

Series 2600
System SourceMeter
®
Instruments
Semiconductor Device Test
Applications Guide
Contains Programming Examples
A
G R E A T E R
M E A S U R E
O F
C O N F I D E N C E

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Series 2600 and is the answer not in the manual?

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Keithley Series 2600

  • Page 1 Series 2600 System SourceMeter ® Instruments Semiconductor Device Test Applications Guide Contains Programming Examples G R E A T E R M E A S U R E C O N F I D E N C E...
  • Page 2: Table Of Contents

    Table of Contents Section 1 General Information Common-Emitter Characteristics . . . . . . . . . 3-1 3 . 3 . 1 Test Configuration . . . . . . . . . . . . . . 3-2 Introduction .
  • Page 3 Common-Source Characteristics . . . . . . . . . 4-1 5 . 3 . 9 Program 13 Description . . . . . . . . . . . 5-7 4 .
  • Page 4 Program 11 . Threshold . . . . . . . . . . . . . . . . A-52 Program 11A . Threshold (Search) . . . . . . . . . . A-52 Program 11B .
  • Page 6: List Of Illustrations

    Figure 5-3 . Program 12 test configuration . . . . . . . . . 5-3 Figure 2-1 . Series 2600 two-wire connections Figure 5-4 . Program 12 typical results: I vs .
  • Page 8: Section 1 General Information

    Series 2600 System SourceMeter Instruments: System Source - Construction Material: A metal test fixture must be connected to a Meter instruments are specialized test instruments capable known safety earth ground as described in the WARNING above .
  • Page 9: Remote/Local Sensing Considerations

    SMUs . Local sensing requires gram to graph the data as needed . This Applications Guide is designed for Series 2600 instrument users who want to create their own scripts using the Test Script Builder software . Other options include LabTracer 2 software, the Automated Characterization Suite (ACS), and a LabVIEW driver .
  • Page 10: Section 2 Two-Terminal Device Tests

    For more information on interlock tech- niques, see Section 10 of the Series 2600 Reference manual. Turn off all power before connecting or discon- necting wires or cables.
  • Page 11 Turn on the computer and start Test Script Builder (TSB) . Once the program has started, open a session by connecting to the = 1 . 0 1 × 10 instrument . For details on how to use TSB, see the Series 2600 = 1 × 10 Reference Manual .
  • Page 12: Typical Program 1 Results

    . The typical voltage re-run the test. coefficient obtained for a 10GW resistor (Keithley part number R-319-10G) was about 8ppm/V (0 . 0 08%/V) . 2.4 Capacitor Leakage Test 2.3.6 Program 1 Description...
  • Page 13: Measurement Considerations

    . the program has started, open a session by connecting to the instrument . For details on how to use TSB, see the Series 2600 The soak time, denoted in the code as the variable l _ soak, Reference Manual .
  • Page 14: Program 2 Description

    SourceMeter channel being used, as well as changing the code to reflect remote sensing . For more information on remote sensing, 2.5.1 Test Configuration see the Series 2600 Reference Manual . Figure 2-5 shows the test configuration for the diode character- 2.5.3 example Program 3: ization test .
  • Page 15: Typical Program 3 Results

    Turn on the computer and start Test Script Builder (TSB) . Once 4.00E–01 the program has started, open a session by connecting to the 3.00E–01 instrument . For details on how to use TSB, see the Series 2600 2.00E–01 Reference Manual . 1.00E–01 You can simply copy and paste the code from Appendix A in 0.00E–00...
  • Page 16: Using Log Sweeps

    To store the program in non-volatile memory, see the “TSP Pro- graph the results, simply copy and paste the data into a spread- gramming Fundamentals” section of the Series 2600 Reference sheet such as Microsoft Excel and chart . Manual .
  • Page 17 SeCTIon 2 Two-terminal Device Tests...
  • Page 18: Section 3 Bipolar Transistor Tests

    Section 3 Bipolar Transistor Tests 3.1 Introduction interlock of the Series 2600, please see the Series 2600 Reference Manual. Bipolar transistor tests discussed in this section include: tests to NOTES generate common-emitter characteristic curves, Gummel plot, Remote sensing connections are recommended for current gain, and transistor leakage tests .
  • Page 19: Test Configuration

    . instrument . For details on how to use TSB, see the Series 2600 The base current will be incremented and the collector-emitter Reference Manual .
  • Page 20: Typical Program 4 Results

    SeCTIon 3 Bipolar Transistor Tests Common-Emitter Characteristics (2N5089) 5.00E–02 4.00E–02 3.00E–02 = 50µA = 40µA 2.00E–02 = 30µA = 20µA 1.00E–02 = 10µA 0.00E+00 (Volts) Figure 3-2. Program 4 results: Common-emitter characteristics 3.3.4 Typical Program 4 Results for SMUA are measured . The source value for SMUA is then incremented by l _ vstep, and the sweep is continued until Figure 3-2 shows typical results generated by Example Program 4 .
  • Page 21: Measurement Considerations

    . For details on how to use TSB, see the Series 2600 • is the number of steps in the base vbesteps Reference Manual .
  • Page 22: Typical Program 5 Results

    SeCTIon 3 Bipolar Transistor Tests • represents the voltage bias value on the • : 0V vcebias vbestart collector-emitter of the transistor • : 0 . 7 V vbestop If these values are left blank, the function will use the default •...
  • Page 23: Current Gain

    Turn on the System SourceMeter instrument and allow the ∆I – I unit to warm up for two hours for rated accuracy . Transistor Under Test Output HI Test Series 2600 Fixture Output HI System SourceMeter Series 2600 Channel A System...
  • Page 24: Typical Program 6A Results

    (within ±5%) . The DC current gain of the device at specific instrument . For details on how to use TSB, see the Series 2600 and I values will then be displayed on the computer CRT .
  • Page 25: Configuration For Fast Current Gain Tests

    – I _____ the program has started, open a session by connecting to the ß = instrument . For details on how to use TSB, see the Series 2600 WARNING Reference Manual . When a System SourceMeter instrument is pro-...
  • Page 26: Program 6B Description

    Instrument Console window of TSB . instrument . For details on how to use TSB, see the Series 2600 Note that the program reverses the polarity of the emitter cur- Reference Manual .
  • Page 27: Typical Program 7 Results

    SeCTIon 3 Bipolar Transistor Tests To store the program in non-volatile memory, see the “TSP • Source V Programming Fundamentals” section of the Series 2600 Refer- • Local sense ence Manual . • 100mA compliance Once the code has been placed in the instrument run-time memory, we can run it at any time simply by calling the func- tion ‘AC _ Gain()’...
  • Page 28: Example Program 8: I

    1V, the stop value be 11V, and the number of steps be 20, instrument . For details on how to use TSB, see the Series 2600 you would send Iceo(1, 11, 20) to the instrument .
  • Page 29: Modifying Program 8

    SeCTIon 3 Bipolar Transistor Tests vs. V (2N3904) 3.50E–10 vs. V 3.00E–10 2.50E–10 2.00E–10 1.50E–10 1.00E–10 5.00E–11 0.00E+00 (Volts) Figure 3-8. Program 8 results: I vs. V 3.6.5 Modifying Program 8 • : 0V vstart • : 10V vstop For different sweep values, simply modify the vstart, vstop, •...
  • Page 30: Section 4 Fet Tests

    If measurement noise is a problem, or for critical, low instrument . For details on how to use TSB, see the Series 2600 level applications, use shielded cable for all signal Reference Manual .
  • Page 31: Typical Program 9 Results

    To store the program in non-volatile memory, see the “TSP 2V steps . At each V step, V will be stepped between 0V Programming Fundamentals” section of the Series 2600 Refer- ence Manual . and 10V at 0 . 1 V increments . At each increment, I will be measured .
  • Page 32: Modifying Program 9

    SeCTIon 4 FET Tests Common-Source Characteristics (SD210) 1.00E–01 8.00E–02 = 10V 6.00E–02 = 7.5V 4.00E–02 = 5V 2.00E–02 = 2.5V = 0V 0.00E+00 (Volts) Figure 4-2. Program 9 results: Common-source characteristics 4.4 Transconductance Tests • Source V • Local sensing The forward transconductance (g ) of an FET is usually meas- •...
  • Page 33: Example Program 10: Transconductance

    • represents the final voltage value in the gate- the program has started, open a session by connecting to the vgsstop instrument . For details on how to use TSB, see the Series 2600 source V sweep Reference Manual .
  • Page 34: Typical Program 10 Results

    SeCTIon 4 FET Tests 4.4.4 Program 10 Description 11 . Once the measurements have completed, the data (V and g ) will be presented in the Instrument Console window The instrument is returned to default conditions . SMUB, which of TSB . sweeps V , is programmed as follows: 4.4.3 Typical Program 10 Results...
  • Page 35: Threshold Tests

    . V and g vs . I instrument . For details on how to use TSB, see the Series 2600 Reference Manual . 4.5 Threshold Tests You can simply copy and paste the code from Appendix A in...
  • Page 36: Program 11A Description

    V , is programmed as follows: ties of the Series 2600 System SourceMeter instruments are key • Source V characteristics that allow this special configuration to be used .
  • Page 37: Example Program 11B: Self-Bias

    Source- the program has started, open a session by connecting to the Measure Unit or the associated test fixture. instrument . For details on how to use TSB, see the Series 2600 NOTE Reference Manual .
  • Page 38: Program 11B Description

    SeCTIon 4 FET Tests Once the code has been placed in the instrument run-time • Source I memory, we can run it at any time simply by calling the func- • 11V compliance, autorange tion ‘FET_Thres_Fast()’ . This can be done by typing the text •...
  • Page 39 SeCTIon 4 FET Tests 4-10...
  • Page 40: Section 5 Using Substrate Bias

    GPIB 5.2.1 Source-Measure Unit Substrate Bias Connections and Setup Figure 5-1 shows test connections when using two Series 2600 GPIB Cable System SourceMeter instruments because the tests outlined in the following sections require three SMUs . Two SMUs supply the same...
  • Page 41: Source-Measure Unit Substrate Biasing

    1 . Press the MENU key to access MAIN MENU . 2 . Select the COMMUNICATION menu . (Skip this step if the Series 2600 instruments used have firmware Revision 1 . 4 . 0 Figure 5-2. TSP-Link instrument connections...
  • Page 42: Figure 5-3. Program 12 Test Configuration

    Output LO Figure 5-3. Program 12 test configuration 3 . Select the TSPLINK_CFG menu . (If the Series 2600 instru- You can simply copy and paste the code from Appendix A in ments used have firmware Revision 1 . 4 . 0 or later installed,...
  • Page 43: Typical Program 12 Results

    SeCTIon 5 Using Substrate Bias • represents the start value for the gate-source • Local sense vgsstart voltage sweep • : 0V vgsstart • represents the stop value for the gate-source vgsstop • : 10V vgsstop voltage sweep • : 10 vgssteps •...
  • Page 44: Modifying Program 12

    2 . Select the COMMUNICATION menu . (Skip this step if the 5.3.6 Program 13 Test Configuration Series 2600 instruments used have firmware Revision 1 . 4 . 0 or later installed . ) Figure 5-5 shows the test configuration for Program 13 . Unit #1 is used to sweep V ;...
  • Page 45: Figure 5-6. Program 13 Typical Results: Common-Source Characteristics With Substrate Bias

    SeCTIon 5 Using Substrate Bias 6 . Select the TSPLINK_CFG menu . (If the Series 2600 function ‘FET_Comm_Source_Vsb()’ . This can be done by instruments used have firmware Revision 1 . 4 . 0 or later typing the text ‘FET _ Comm _ Source _ Vsb()’ after the installed, the menu name should be TSPLINK .
  • Page 46: Typical Program 13 Results

    Both instruments are returned to default conditions . Node 1 The following paragraphs discuss using one dual-channel and SMUB, which sweeps V , is configured as follows: one single-channel Series 2600 System SourceMeter instrument to perform tests on a four-terminal device, such as a BJT, with • Source V substrate bias .
  • Page 47: Figure 5-7. Program 14 Test Configuration

    2 . Select the COMMUNICATION menu . (Skip this step if the to the master instrument . For details on how to use TSB, see Series 2600 instruments used have firmware Revision 1 . 4 . 0 the Series 2600 Reference Manual .
  • Page 48: Typical Program 14 Results

    SeCTIon 5 Using Substrate Bias voltage sweep is executed . The base current value is then istop, isteps, vstart, vstop, vsteps, vsbsource) is created . incremented and the collector-emitter sweep is re-run . 11 . Once the gate-source sweep has been completed, the data (I •...
  • Page 49 SeCTIon 5 Using Substrate Bias • : 0V are applied . Then, the collector-emitter voltage sweep begins . At vstart each point in the sweep, the collector current is measured . The • : 10V vstop program enters the main program loop to perform five I vs .
  • Page 50: Section 6 High Power Tests

    6.1.1 Program 15 Test Configuration the program has started, open a session by connecting to the instrument . For details on how to use TSB, see the Series 2600 Figure 6-1 shows the test configuration for Program 15 . SMUA Reference Manual .
  • Page 51: Program 15 Description

    • 40V compliance, autorange the program has started, open a session by connecting to the • Local sense instrument . For details on how to use TSB, see the Series 2600 • 1 NPLC integration rate Reference Manual . •...
  • Page 52: Program 16 Description

    1 NPLC integration rate To store the program in non-volatile memory, see the “TSP • : DUT voltage sourcev Programming Fundamentals” section of the Series 2600 Refer- • : Number of points to measure points ence Manual . Next, SMUB is set up to operate in the following manner:...
  • Page 53 SeCTIon 6 High Power Tests...
  • Page 54: Appendix A Scripts

    Volt_Co(): This program performs a voltage coefficient measurement on a 10GW part. Required equipment: (1) Single-channel Keithley Series 2600 System SourceMeter® instrument (1) 10GW resistor Running this script creates functions that can be used to measure the voltage coefficient of resistances.
  • Page 55 APPenDIx A Scripts local l_srcdelay = 0 --Source delay before measurement local l_icmpl = 1E-3 --Source compliance local l_nplc = 1 --Measurement Integration Rate local l_v1src = v1src --First voltage source value local l_v2src = v2src --Second voltage source value --Define measured and calculated variables local l_i1meas = 0 --Initialize first current measurement local l_res1 = 0 --Initialize first resistance measurement...
  • Page 56 APPenDIx A Scripts smua.source.output = smua.OUTPUT_ON --Enable output smua.source.levelv = l_v1src --Source programmed value l_comp_val = Check_Comp() --check compliance if l_comp_val == true then smua.source.output = smua.OUTPUT_OFF --Disable output smua.source.levelv = 0 --Return source to 0 else delay(l_srcdelay) --wait before making measurement l_i1meas = smua.measure.i() --measure current smua.source.levelv = l_v2src --Source programmed value delay(l_srcdelay)
  • Page 57 APPenDIx A Scripts function Calc_Val(v1src, v2src, i1meas, i2meas) --function calculates resistance and voltage coefficient local l_res1 = v1src/i1meas --Return quotient = resistance calculation local l_res2 = v2src/i2meas --Return quotient = resistance calculation local l_voltco = 100*(l_res2-l_res1)/(l_res1*(v2src-v1src)) --Return quotient = voltage coefficient return l_voltco, l_res1, l_res2 --Return values end --function Calc_Val() function Print_Data(voltco,res1,res2)
  • Page 58: Program 2. Capacitor Leakage Test

    --[[ Cap_Leak(): This program performs capacitor leakage measurement. Required equipment: (1) Single-channel Keithley Series 2600 System SourceMeter instrument (1) 1µF aluminum electrolytic capacitor Running this script creates functions that can be used to test capacitors. The functions created are: 1. Cap_Leak(vsrc,soak) --Default value vsrc = 40V 2.
  • Page 59 APPenDIx A Scripts if (l_vsrc == nil) then --Use default value l_vsrc = 40 end --if if (l_vsrc > 100) then --Coerce source value within range l_vsrc = 100 print(“Maximum voltage value is 100V!!”) --if if (l_soak == nil) then --Use default value l_soak = 10 end --if --Configure source and measure settings...
  • Page 60 APPenDIx A Scripts function Check_Comp() --Function checks state of compliance, if true, prints warning and returns --to run_test() local l_comp_val = false --Initialize local variable l_comp_val = smua.source.compliance --Check compliance if l_comp_val == true then print(“”) print(“SMU Source in Compliance!”) print(“Ensure proper connections, stable device, and settings are correct”) print(“Rerun Test”) print(“”)
  • Page 61: Program 3. Diode Characterization

    This program performs a forward characterization test on a diode and prints data. Required equipment: (1) Single-channel Keithley Series 2600 System SourceMeter instrument (1) Silicon diode or equivalent Running this script creates functions that can be used to measure the IV characteristics of diodes.
  • Page 62 APPenDIx A Scripts local l_irange = 100E-2 --Current source range local l_ilevel = ilevel --Initial source value local l_vcmpl = 6 --Source compliance --Shared local variables local l_nplc = 1 --Integration rate of measurement --Local sweep variables local l_start = start --Sweep start current local l_stop = stop --Sweep stop current local l_steps = steps --Number of steps in sweep...
  • Page 63 APPenDIx A Scripts --Data tables local l_curr = {} --Create data table for sourced current local l_volt = {} --Create data table for measured voltage smua.reset() --Reset SMU errorqueue.clear() --Clear the error queue --Configure SMUA source and measure settings smua.source.func = smua.OUTPUT_DCAMPS smua.source.autorangei = smua.AUTORANGE_ON --Enable source autorange smua.source.leveli = l_ilevel --Source smua.source.limitv = l_vcmpl...
  • Page 64: Program 3B. Diode Characterization Log Sweep

    This program performs a log sweep forward characterization test on a diode and prints data. Required equipment: (1) Single-channel Keithley Series 2600 System SourceMeter instrument (1) Silicon diode or equivalent Running this script creates functions that can be used to measure the IV characteristics of diodes.
  • Page 65 APPenDIx A Scripts ------------------ Keithley TSP Function ------------------ function Diode_Fwd_Char_Log(ilevel, start, stop, points) --CConfigure instrument to source a bias --current, and perform a logarithmic current sweep from start to stop in a user-defined number of points per decade. --Returns measured voltage and current values.
  • Page 66 APPenDIx A Scripts end --if if (l_points > 1E3) then --Coerce value l_points = 1E3 end --if local l_step = (math.log10(l_stop) - math.log10(l_start))/(l_points - 1) --Current step size local l_source_val = math.log10(l_start) --Source value during sweep local l_i = 1 --Iteration variable --Data tables local l_curr = {} --Create data table for sourced current local l_volt = {} --Create data table for measured voltage...
  • Page 67: Program 3C. Diode Characterization Pulsed Sweep

    The default is a 50% duty cycle (i.e., ton = toff) Required equipment: (1) Single-channel Keithley Series 2600 System SourceMeter instrument (1) Silicon diode or equivalent Running this script creates functions that can be used to measure the IV characteristics of diodes.
  • Page 68 - Send the entire program text as a string using standard GPIB Write calls. Rev1: JAC 5.22.2007 ]]-- ------------------ Keithley TSP Function ------------------ function Diode_Fwd_Char_Pulse(ilevel, start, stop, ton, toff, steps) --Configure instrument to source a --bias current,and perform a pulsed current sweep from start to stop in a user-defined number of steps.
  • Page 69 APPenDIx A Scripts if (l_start == nil) then --Use default value l_start = 1E-3 end --if if (l_start > 0.1) then --Coerce value l_start = 0.1 end --if if (l_stop == nil) then --Use default value l_stop = 1E-2 end --if if (l_stop >...
  • Page 70 APPenDIx A Scripts l_tonwm = l_ton - (2*smua.measure.nplc/localnode.linefreq) - 250E-6 --Adjust pulse duration by --accounting for measurement time smua.reset() --Reset SMU errorqueue.clear() --Clear the error queue --Configure SMUA source and measure settings smua.source.func = smua.OUTPUT_DCAMPS smua.source.autorangei = smua.AUTORANGE_ON --Enable source autorange smua.source.leveli = l_ilevel --Source smua.source.limitv = l_vcmpl smua.measure.autorangev = smua.AUTORANGE_ON --Enable measure autorange...
  • Page 71 APPenDIx A Scripts print(“”) print(“Source Current Data (A):”) for l_i = 1, l_steps print(l_curr[l_i]) end --function Print_Data() --Diode_Fwd_Chr_Pulse() A-18...
  • Page 72: Section 3. Bipolar Transistor Tests

    This program applies a bias to the base of a BJT (Ib) and sweeps voltage on the collector/ emitter (VCE). The VCE, IB, and IC are then printed. Required equipment: (1) Dual-channel Series 2600 System SourceMeter instrument (1) 2N5089 NPN Transistor Running this script creates functions that can be used to measure the common emitter characteristics of transistors.
  • Page 73 APPenDIx A Scripts local l_vcmpl = 1 --Base source compliance local l_vrange = 40 --Collector-emitter voltage source range local l_icmpl = 100E-3 --Collector-emitter source compliance --Shared local variables local l_nplc = 1 --Integration rate of measurement --Local sweep variables local l_istart = istart --Base sweep start current local l_istop = istop --Base sweep stop current local l_isteps = isteps --Number of steps in sweep...
  • Page 74 APPenDIx A Scripts if (l_vstart > 100E-3) then --Coerce value l_vstart = 100E-3 end --if if (l_vstop == nil) then --Use default value l_vstop = 10 end --if if (l_vstop > 40) then --Coerce value l_vstop = 40 end --if if (l_vsteps == nil) then --Use default value l_vsteps = 100 end --if...
  • Page 75 APPenDIx A Scripts smub.source.limitv = l_vcmpl smub.measure.autorangev = smub.AUTORANGE_ON --Enable measure autorange smub.measure.autozero = smub.AUTOZERO_AUTO smub.measure.nplc = l_nplc --Measurement integration rate smub.source.output = smub.OUTPUT_ON --Enable Output --Execute sweep for l_i = 1, l_isteps smub.source.leveli = l_isource_val l_ce_volt[l_i] = {} --Create new row in table l_ce_curr[l_i] = {} --Create new row in table l_base_curr[l_i] = smub.measure.i() --Measure base current for l_v = 1,l_vsteps do...
  • Page 76 APPenDIx A Scripts Print_Data(l_isteps,l_vsteps, l_ce_volt, l_ce_curr, l_base_curr) end--function BJT_Comm_Emit() function Print_Data(isteps,vsteps, ce_volt,ce_curr, base_curr) --Print Data to output queue --Local Variables local l_isteps = isteps local l_vsteps = vsteps local l_i = 1 --Iteration variable local l_v = 1 --Iteration variable local l_ce_volt = ce_volt local l_ce_curr = ce_curr local l_base_curr = base_curr...
  • Page 77: Program 5. Gummel Plot

    (VCE). The base-emitter (IB) and collector-emitter (IC) currents are measured and printed. Required equipment: (1) Dual-channel Keithley Series 2600 System SourceMeter instrument (1) 2N5089 NPN Transistor Running this script creates functions that can be used to create a Gummel plot of transistors.
  • Page 78 APPenDIx A Scripts --Shared local variables local l_nplc = 1 --Integration rate of measurement --Local sweep variables local l_vbestart = vbestart --Base sweep start voltage local l_vbestop = vbestop --Base sweep stop voltage local l_vbesteps = vbesteps --Number of steps in sweep local l_vcebias = vcebias --Collector-emitter voltage --Default values and level check if (l_vbestart == nil) then --Use default value...
  • Page 79 APPenDIx A Scripts local l_ic = {} --Create data table for Ic local l_ib = {} --Create data table for Ib smua.reset() --Reset SMU smub.reset() --Reset SMU errorqueue.clear() --Clear the error queue --Configure Collector/Emitter (SMUA) source and measure settings smua.source.func = smua.OUTPUT_DCVOLTS smua.source.autorangev = smua.AUTORANGE_ON --Enable source autorange smua.source.levelv = 0 smua.source.limiti = l_icmpl...
  • Page 80 APPenDIx A Scripts if (l_vbe_i == l_vbesteps) then --Reinitialize voltage value after last iteration l_vbesource_val = l_vbestart end --if smub.source.levelv = l_vbesource_val --Increment source end --for smua.source.output = smua.OUTPUT_OFF --Disable output smub.source.output = smub.OUTPUT_OFF --Disable output smua.source.levelv = 0 --Return source to bias level smub.source.levelv = 0 --Return source to bias level Print_Data(l_vbesteps, l_vbe,l_vce_bias, l_ic, l_ib) end--function Gummel()
  • Page 81: Section 6. High Power Tests

    IB, IC, and DC gain values are printed. Required equipment: (1) Dual-channel Keithley Series 2600 System SourceMeter instrument (1) 2N5089 NPN transistor Running this script creates functions that can be used to create a DC gain search of transistors.
  • Page 82 APPenDIx A Scripts --binary search between a Maximum and Minimum Ib value, and the collector current is measured. If measured value is --outside the tolerance, search is performed again until the value falls within the specified range or the iteration --limit is reached.
  • Page 83 APPenDIx A Scripts smub.source.autorangei = smub.AUTORANGE_ON --Enable source autorange smub.source.limiti = l_high_ib smub.source.limitv = 6 smub.measure.autorangev = smub.AUTORANGE_ON --Enable measure autorange --Start test smua.source.levelv = l_vce_source --Set source level smub.source.leveli = 0 --Set source level smua.source.output = smua.OUTPUT_ON --Enable output smub.source.output = smub.OUTPUT_ON --Enable output delay(0.001) --Delay l_comp_val = Check_Comp() --check compliance...
  • Page 84 APPenDIx A Scripts l_ic_meas = smua.measure.i() --Measure Ic if (l_target_ic < l_ic_meas) then --Compare measurement with target value l_high_ib = l_ib_source else l_low_ib = l_ib_source end --end if end --ifelse if l_ic_meas == nil then --If no measurement taken, initialize to 0 to avoid arithmetic --error in until statement below l_ic_meas = 0 end --if...
  • Page 85: Program 6B . Current Gain (Fast Method

    (IE). The gain for each emitter value is then printed. Required equipment: (1) Dual-channel Keithley Series 2600 System SourceMeter instrument (1) 2N5089 NPN Transistor Running this script creates functions that can be used to measure the gain characteristics of transistors.
  • Page 86 APPenDIx A Scripts --Returns gain values. --Global variables local l_irange = 100e-6 --Base current source range local l_vcmpl = 11 --Base source compliance local l_vrange = 40 --Collector-emitter voltage source range local l_icmpl = 100e-3 --Collector-emitter source compliance --Shared local variables local l_nplc = 1 --Integration rate of measurement --Local sweep variables local l_istart = istart --Base sweep start current...
  • Page 87 APPenDIx A Scripts end --if local l_istep = (l_istop - l_istart)/ (l_isteps - 1) --Current step size local l_isource_val = l_istart --Source value during sweep local l_i = 1 --Iteration variable --Data tables local l_base_curr = {} --Create data table for sourced current local l_emitter_curr = {} --Create data table for emitter current smua.reset() --Reset SMU smub.reset() --Reset SMU...
  • Page 88 APPenDIx A Scripts smua.source.output = smua.OUTPUT_OFF --Disable output smub.source.output = smub.OUTPUT_OFF --Disable output smua.source.levelv = 0 --Return source to bias level smub.source.leveli = 0 --Return source to bias level Print_Data(l_isteps, l_emitter_curr, l_base_curr) end--function DC_Gain_Fast() function Print_Data(isteps, emitter_curr, base_curr) --Print Data to output queue --Local Variables local l_isteps = isteps local l_i = 1 --Iteration variable...
  • Page 89: Program 7. Ac Current Gain

    (VCE). The base-emitter (IB) and collector-emitter (IC) currents are measured and the IB, IC, and AC gain values are printed. Required equipment: (1) Dual-channel Keithley Series 2600 System SourceMeter instrument (1) 2N5089 NPN transistor Running this script creates functions that can be used to perform a differential gain measurement on transistors.
  • Page 90 APPenDIx A Scripts local l_ib2 = ib2 --Ib 2 source value local l_nplc = 1 local l_ic_meas1 = 0 --Ic measurement local l_ic_meas2 = 0 --Ic measurement local l_beta_meas --Gain calculation variable --Default values and level check if (l_vce_source == nil) then --Use default value l_vce_source = 5 end --if if (l_ib1 == nil) then --Use default value...
  • Page 91 APPenDIx A Scripts --l_comp_val = Check_Comp() --check compliance if l_comp_val == true then --If unit is in compliance, end smua.source.output = smua.OUTPUT_OFF --Disable output smub.source.output = smub.OUTPUT_OFF --Disable output smua.source.levelv = 0 --Return source to 0 smub.source.leveli = 0 --Return source to 0 else l_ic_meas1 = smua.measure.i() --Measure Ic 1 smub.source.leveli = l_ib2 --Program new source value...
  • Page 92: Program 8 . Transistor Leakage (Iceo

    This program sweeps the voltage on the collector/emitter (VCE) of a BJT with an open base. The VCEO and ICEO values are then printed. Required equipment: (1) Single-channel Keithley Series 2600 System SourceMeter instrument (1) 2N3904NPN transistor Running this script creates functions that can be used to measure open base voltage and current characteristics of transistors.
  • Page 93 APPenDIx A Scripts --Global variables local l_irange = 100E-6 --Base current source range local l_vcmpl = 1 --Base source compliance local l_vrange = 40 --Collector-emitter voltage source range local l_icmpl = 100E-3 --Collector-emitter source compliance --Shared local variables local l_nplc = 1 --Integration rate of measurement --Local sweep variables local l_vstart = vstart --Collector-emitter sweep start voltage local l_vstop =...
  • Page 94 APPenDIx A Scripts errorqueue.clear() --Clear the error queue --Configure Collector/Emitter (SMUA) source and measure settings smua.source.func = smua.OUTPUT_DCVOLTS smua.source.autorangev = smua.AUTORANGE_ON --Enable source autorange smua.source.levelv = 0 --Source 0V smua.source.limiti = l_icmpl --Set compliance level smua.measure.autorangei = smua.AUTORANGE_ON --Enable measure autorange smua.measure.autozero = smua.AUTOZERO_AUTO smua.measure.nplc = l_nplc --Measurement integration rate smua.source.output = smua.OUTPUT_ON --Enable Output...
  • Page 95 APPenDIx A Scripts for l_i = 1, l_vsteps print(l_ce_volt[l_i], l_ce_curr[l_i]) end --for end --function Print_Data() --Iceo() A-42...
  • Page 96: Section 4. Fet Tests

    (VDS). The VDS and ID values at each VGS bias are then printed. Required equipment: (1) Dual-channel Keithley Series 2600 System SourceMeter instrument (1) SD210 N-Channel MOSFET Running this script creates functions that can be used to measure the common source characteristics of FETs.
  • Page 97 APPenDIx A Scripts local l_icmpl = 100E-3 -- --Shared local variables local l_nplc = 1 --Integration rate of measurement --Local sweep variables local l_vgsstart = vgsstart --Gate-source sweep start voltage local l_vgsstop = vgsstop --Gate-source sweep stop voltage local l_vgssteps = vgssteps --Number of steps in sweep local l_vdsstart = vdsstart --Drain-source sweep start voltage local l_vdsstop = vdsstop --Drain-source sweep stop voltage...
  • Page 98 APPenDIx A Scripts if (l_vdsstop == nil) then --Use default value l_vdsstop = 10 end --if if (l_vdsstop > 40) then --Coerce value l_vdsstop = 40 end --if if (l_vdssteps == nil) then --Use default value l_vdssteps = 100 end --if if (l_vdssteps >...
  • Page 99 APPenDIx A Scripts smub.measure.autozero = smub.AUTOZERO_AUTO smub.measure.nplc = l_nplc --Measurement integration rate smub.source.output = smub.OUTPUT_ON --Enable Output --Execute sweep for l_vgs_iteration = 1, l_vgssteps smub.source.levelv = l_vgssource_val l_vds_data[l_vgs_iteration] = {} --Create new row in table l_id_data[l_vgs_iteration] = {} --Create new row in table l_vgs_data[l_vgs_iteration] = smub.measure.v() --Measure gate-source voltage for l_vds_iteration = 1,l_vdssteps do if (l_vds_iteration == 1) then --Intialize start source value...
  • Page 100 APPenDIx A Scripts Print_Data(l_vgssteps,l_vdssteps, l_vds_data, l_id_data, l_vgs_data) end--function FET_Comm_Source() function Print_Data(vgssteps,vdssteps, vds_data,id_data, vgs_data) --Print Data to output queue --Local Variables local l_vgssteps = vgssteps local l_vdssteps = vdssteps local l_vgs_iteration = 1 --Iteration variable local l_vds_iteration = 1 --Iteration variable local l_vds_data = vds_data local l_id_data = id_data local l_vgs_data = vgs_data...
  • Page 101: Program 10. Transconductance

    The drain-source voltage (VDS), Transconductance (gfs), gate-source voltage (VGS), and drain-source current (ID) are returned. Required equipment: (1) Dual-channel Keithley Series 2600 System SourceMeter instrument (1) SD210 N-channel FET Running this script creates functions that can be used to create a transconductance test of FETs.
  • Page 102 APPenDIx A Scripts --drain-source (Vds) while SMUB performs a fixed voltage bias (Vgs)on the gate-source and the Ids is measured. --SMUB then steps to the next base current and the Ic is measured. --Returns measured Vds, Vgs, Id, gfs values are returned. --Global variables local l_icmpl = 100E-3 --Source compliance --Shared local variables...
  • Page 103 APPenDIx A Scripts end --if if (l_vds_bias > 10) then --Coerce value l_vds_bias = 10 end --if --Data tables local l_vgs = {} --Create data table for gate-source voltage local l_id = {} --Create data table for drain-source current local l_gfs = {} --Create data table for transconductance (gfs) smua.reset() --Reset SMU smub.reset() --Reset SMU errorqueue.clear() --Clear the error queue...
  • Page 104 APPenDIx A Scripts l_vgs[l_i] = smub.measure.v() --Measure Vgs l_id[l_i] = smua.measure.i() --Measure Id l_vgssource_val = l_vgssource_val + l_vgsstep --Calculate new source value if (l_i == l_vgssteps) then --Reinitialize voltage value after last iteration l_vgssource_val = l_vgsstart end --if smub.source.levelv = l_vgssource_val --Increment source end --for smua.source.output = smua.OUTPUT_OFF --Disable output smub.source.output = smub.OUTPUT_OFF --Disable output...
  • Page 105: Program 11. Threshold

    If the maximum number of iterations are reached, the program is aborted. Required equipment: (1) Dual-channel Keithley Series 2600 System SourceMeter instrument (1) SD210 N-Channel FET Running this script creates functions that can be used to create a threshold search of FETs.
  • Page 106 APPenDIx A Scripts Rev1: JAC 6.26.2007 ]]-- ------------------ Keithley TSP Function ------------------ function FET_Thres_Search(vdssource, lowvgs, highvgs, targetid) --Configure SMUA to source a user-defined voltage on --the drain-source (Vds) while SMUB sources a voltage on --the gate-source (Vgs). VGS is varied using a binary --search algorithm between a maximum and minimum Vgs value, and the drain-source current (Id) is measured.
  • Page 107 APPenDIx A Scripts errorqueue.clear() --Clear the error queue smua.measure.nplc = l_nplc --Measurement integration rate smub.measure.nplc = l_nplc --Measurement integration rate smua.source.func = smua.OUTPUT_DCVOLTS smua.source.autorangev = smua.AUTORANGE_ON --Enable source autorange smua.source.limiti = (100 * l_target_id) --Set compliance value smua.measure.autorangev = smua.AUTORANGE_ON --Enable measure autorange smub.source.func = smub.OUTPUT_DCVOLTS smub.source.autorangev = smub.AUTORANGE_ON --Enable source autorange smub.source.limiti = l_high_vgs...
  • Page 108 APPenDIx A Scripts l_comp_val = Check_Comp() --check compliance if l_comp_val == true then --If unit is in compliance, end smua.source.output = smua.OUTPUT_OFF --Disable output smub.source.output = smub.OUTPUT_OFF --Disable output smua.source.levelv = 0 --Return source to 0 smub.source.levelv = 0 --Return source to 0 else l_id_meas = smua.measure.i() --Measure Id if (l_target_id <...
  • Page 109: Program 11B . Threshold (Fast

    The absolute value of the measurements and sourced values are printed. Required equipment: (1) Dual-channel Keithley Series 2600 System SourceMeter instrument (1) SD210 N-channel FET Running this script creates functions that can be used to measure the threshold of FETs.
  • Page 110 - Send the entire program text as a string using standard GPIB Write calls. Rev1: JAC 6.26.2007 ]]-- ------------------ Keithley TSP Function ------------------ function FET_Thres_Fast(vdssource, istart, istop, isteps) --Configure SMUB to source a bias current --on the drain-source (Id) and SMUA performs a voltage sweep on the drain-source (Vds) from start to --stop in a user-defined number of steps.
  • Page 111 APPenDIx A Scripts l_istop = -1e-6 end --if if (l_istop > 0) then --Coerce value l_istop = -i_stop end --if if (l_isteps == nil) then --Use default value l_isteps = 10 end --if if (l_isteps > 100) then --Coerce value l_isteps = 100 end --if local l_istep = (l_istop - l_istart)/ (l_isteps - 1) --Current step size...
  • Page 112 APPenDIx A Scripts --Execute sweep for l_i = 1, l_isteps smub.source.leveli = l_isource_val delay(0.01) l_thres_volt[l_i] = smub.measure.v() --Measure threshold voltage (Vt) l_drain_curr[l_i] = smua.measure.i() --Measure drain current l_isource_val = l_isource_val + l_istep --Calculate new source value end--for smua.source.output = smua.OUTPUT_OFF --Disable output smub.source.output = smub.OUTPUT_OFF --Disable output smua.source.levelv = 0 --Return source to bias level smub.source.leveli = 0 --Return source to bias level...
  • Page 113: Section 5. Using Substrate Bias

    Slave: A single-channel instrument such as the Model 2601, 2611, or 2635. 1. Press the MENU key to access MAIN MENU. 2. Select the COMMUNICATION menu. (Skip this step if the Series 2600 instruments used have firmware Revision 1.4.0 or later installed.) 3.
  • Page 114 - Send the entire program text as a string using standard GPIB Write calls. Rev1: JAC 5.22.2007 ]]-- ------------------ Keithley TSP Function ------------------ function FET_Isb_Vgs(vdssource, vsbsource,vgsstart,vgsstop, vgssteps) --Configure node 1 SMUA to source drain-source --voltage (Vds), node 2 SMUA to apply a voltage bias on the substrate-source (Vsb)and perform a voltage sweep from --start to stop in user-defined steps using node 1 SMUB on the gate-source (Vgs).
  • Page 115 APPenDIx A Scripts l_vds_source = 1 end --if if (l_vds_source > 1) then --Coerce value l_vds_source = 1 end --if if (l_vsb_source == nil) then --Use default value l_vsb_source = -1 end --if if (l_vsb_source > 0 ) then --Coerce value l_vsb_source = -1 end --if if (l_vgs_start == nil) then --Use default value...
  • Page 116 APPenDIx A Scripts node[1].smub.reset() --Reset SMU node[2].smua.reset() --Reset SMU errorqueue.clear() --Clear the error queue --Configure drain-source SMU (TSP-Link Node[1] SMUA) source and measure settings node[1].smua.source.func = node[1].smua.OUTPUT_DCVOLTS node[1].smua.source.autorangev = node[1].smua.AUTORANGE_ON --Enable source autorange node[1].smua.source.levelv = l_vds_source node[1].smua.source.limiti = l_icmpl node[1].smua.measure.autorangev = node[1].smua.AUTORANGE_ON --Enable measure autorange node[1].smua.measure.nplc = l_nplc --Measurement integration rate --Configure gate-source SMU (TSP-Link Node[1] SMUB) source and measure settings...
  • Page 117: With Substrate Bias

    This program applies a bias to the substrate-source of an FET (VSB) and a staircase sweep on the gate-source voltage (VGS). At each VGS value, the drain-source voltage (VDS) is also swept linearly. At each point, the VDS and IDS are measured and printed. Required equipment: (1) Dual-channel Keithley Series 2600 System SourceMeter instrument A-64...
  • Page 118 Slave: A single-channel instrument such as the Model 2601, 2611, or 2635. 1. Press the MENU key to access MAIN MENU. 2. Select the COMMUNICATION menu. (Skip this step if the Series 2600 instruments used have firmware Revision 1.4.0 or later installed.) 3.
  • Page 119 - Send the entire program text as a string using standard GPIB Write calls. Rev1: JAC 6.18.2007 ]]-- --TODO: Update Node info ------------------ Keithley TSP Function ------------------ function FET_Comm_Source_Vsb(vgsstart, vgsstop, vgssteps, vdsstart, vdsstop, vdssteps, vsbsource) --Configure node 1 SMUB to source a bias voltage on the gate-source (Vgs), node 1 SMUA...
  • Page 120 APPenDIx A Scripts end --if if (l_vgsstop == nil) then --Use default value l_vgsstop = 10 end --if if (l_vgsstop > 10) then --Coerce value l_vgsstop = 10 end --if if (l_vgssteps == nil) then --Use default value l_vgssteps = 5 end --if if (l_vgssteps >...
  • Page 121 APPenDIx A Scripts if (l_vsbsource == nil) then --Use default value l_vsbsource = -1 end --if if (l_vsbsource > 0) then --Coerce value l_vsbsource = -l_vsbsource end --if if (l_vsbsource < -40) then --Coerce value l_vsbsource = -40 end --if --Data tables local l_vgs_data = {} --Create data table for sourced gate-source voltage local l_vds_data = {} --Create data table for drain-source voltage...
  • Page 122 APPenDIx A Scripts --Configure Substrate (node [2] SMUA) source and measure settings node[2].smua.source.func = node[2].smua.OUTPUT_DCVOLTS node[2].smua.source.autorangev = node[2].smua.AUTORANGE_ON --Enable source autorange node[2].smua.source.levelv = 0 node[2].smua.source.limiti = l_icmpl node[2].smua.measure.autorangei = node[2].smua.AUTORANGE_ON --Enable measure autorange node[2].smua.measure.autozero = node[2].smua.AUTOZERO_AUTO node[2].smua.measure.nplc = l_nplc --Measurement integration rate node[2].smua.source.output = node[2].smua.OUTPUT_ON --Enable Output --Enable Substrate Bias (node [2] SMUA) node[2].smua.source.levelv = l_vsbsource...
  • Page 123 APPenDIx A Scripts node[1].smua.source.levelv = l_vdssource_val --Increment source end --for l_vgssource_val = l_vgssource_val + l_vgsstep --Calculate new source value end--for node[1].smua.source.output = node[1].smua.OUTPUT_OFF --Disable output node[1].smub.source.output = node[1].smub.OUTPUT_OFF --Disable output node[2].smua.source.output = node[2].smua.OUTPUT_OFF --Disable output node[1].smua.source.levelv = 0 --Return source to bias level node[1].smub.source.leveli = 0 --Return source to bias level node[2].smua.source.levelv = 0 --Return source to bias level Print_Data(l_vgssteps,l_vdssteps, l_vds_data, l_id_data, l_vgs_data, l_vsbsource)
  • Page 124: With Substrate Bias

    Slave: A single-channel instrument such as the Model 2601, 2611, or 2635. 1. Press the MENU key to access MAIN MENU. 2. Select the COMMUNICATION menu. (Skip this step if the Series 2600 instruments used have firmware Revision 1.4.0 or later installed.) 3.
  • Page 125 - Send the entire program text as a string using standard GPIB Write calls. Rev1: JAC 7.23.2007 ]]-- ------------------ Keithley TSP Function ------------------ function BJT_Comm_Emit_Vsb(istart, istop, isteps, vstart, vstop, vsteps, vsbsource) --Configure node 1 SMUB to source a --bias current on the base and node 1 SMUA performs a voltage sweep on the Collector//Emitter from start to stop in a --user-defined number of steps.
  • Page 126 APPenDIx A Scripts local l_vstop = vstop --Collector-emitter sweep stop voltage local l_vsteps = vsteps --Number of steps in sweep --Default values and level check if (l_istart == nil) then --Use default value l_istart = 10E-6 end --if if (l_istart > 100E-6) then --Coerce value l_istart = 100E-6 end --if if (l_istop == nil) then --Use default value...
  • Page 127 APPenDIx A Scripts end --if if (l_vsteps > 2E+2) then --Coerce value l_vsteps = 2E+2 end --if local l_vstep = (l_vstop - l_vstart)/ (l_vsteps - 1) --Voltage step size local l_vsource_val = l_vstart --Source value during sweep local l_v = 1 --Iteration variable if (l_vsbsource == nil) then --Use default value l_vsbsource = 1 end --if...
  • Page 128 APPenDIx A Scripts node[1].smub.measure.autorangev = node[1].smub.AUTORANGE_ON --Enable measure autorange node[1].smub.measure.autozero = node[1].smub.AUTOZERO_AUTO node[1].smub.measure.nplc = l_nplc --Measurement integration rate node[1].smub.source.output = node[1].smub.OUTPUT_ON --Enable Output --Configure Substrate Bias (Node 2 SMUA) source settings node[2].smua.source.func = node[2].smua.OUTPUT_DCVOLTS node[2].smua.source.autorangev = node[2].smua.AUTORANGE_ON --Enable source autorange node[2].smua.source.levelv = 0 node[2].smua.source.limiti = l_icmpl node[2].smua.measure.autorangei = node[2].smua.AUTORANGE_ON --Enable measure...
  • Page 129 APPenDIx A Scripts l_vsource_val = l_vstart end --if node[1].smua.source.levelv = l_vsource_val --Increment source end --for l_isource_val = l_isource_val + l_istep --Calculate new source value end--for node[1].smua.source.output = node[1].smua.OUTPUT_OFF --Disable output node[1].smub.source.output = node[1].smub.OUTPUT_OFF --Disable output node[2].smua.source.output = node[2].smua.OUTPUT_OFF --Disable output node[1].smua.source.levelv = 0 --Return source to bias level node[1].smub.source.leveli = 0 --Return source to bias level node[2].smua.source.levelv = 0 --Return source to bias level...
  • Page 130 APPenDIx A Scripts --BJT_Comm_Emit_Vsb() A-77...
  • Page 131: Section 6. High Power Tests

    APPenDIx A Scripts Section 6. High Power Tests Program 15. High Current with Voltage Measurement --[[ KI2602Example_High_Current.tsp This program is intended to perform the following: 1. Set up both SMUs of a Model 2602 for current bias and measure voltage on specific intervals.
  • Page 132 APPenDIx A Scripts smua.source.rangei = l_sourcei --Set output level smub.source.rangei = l_sourcei --Set output level smua.source.limitv = l_cmpl --Set compliance level smub.source.limitv = l_cmpl --Set compliance level smua.measure.nplc = 1 --Set measurement aperture smub.measure.nplc = 1 --Set measurement aperture smua.measure.autozero = smua.AUTOZERO_AUTO --Set Autozero mode smub.measure.autozero = smub.AUTOZERO_AUTO --Set Autozero mode -- Setup SMUA buffer to store all the result(s) in and start testing.
  • Page 133: Current Measurement

    APPenDIx A Scripts Program 16. High Voltage with Current Measurement --[[ KI2602Example_High_Voltage.tsp This program is intended to perform the following: 1. Set up both SMUs of a Model 2602 for voltage bias and measure current on specific intervals. 2. Deliver up to 80V @ 1A (40V @ 1A per SMU) by wiring each SMU Voltage Source in series.
  • Page 134 APPenDIx A Scripts smub.source.rangev = l_sourcev --Set output level smua.source.limiti = l_cmpl --Set compliance level smub.source.limiti = l_cmpl --Set compliance level smua.measure.nplc = 1 --Set measurement aperture smub.measure.nplc = 1 --Set measurement aperture smua.measure.autozero = smua.AUTOZERO_AUTO --Set Autozero mode smub.measure.autozero = smub.AUTOZERO_AUTO --Set Autozero mode -- Setup SMUA buffer to store all the result(s) in and start testing.
  • Page 135 Specifications are subject to change without notice. All Keithley trademarks and trade names are the property of Keithley Instruments, Inc. All other trademarks and trade names are the property of their respective companies. G R E A T E R...
  • Page 136 Click below to find more Mipaper at www.lcis.com.tw Mipaper at www.lcis.com.tw...

Table of Contents