High power system sourcemeter instrument (800 pages)
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...
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 .
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 .
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 .
. 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...
. 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 .
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 .
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...
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 .
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 .
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 .
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 •...
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...
(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 .
– 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-...
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 .
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()’...
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 .
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, •...
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 .
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 .
• 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 .
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...
. 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...
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 .
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 .
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 •...
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...
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...
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,...
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 •...
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 ;...
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 .
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 .
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 .
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 .
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 .
• 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 . •...
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:...
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)
--[[ 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(“”)
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...
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...
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...
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...
(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()
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 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...
(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...
(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...
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 =...
(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...
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...
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 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 <...
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...
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...
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...
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...
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.
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...
Need help?
Do you have a question about the Series 2600 and is the answer not in the manual?
Questions and answers