#L45

Q:  Can I measure pin-to-pin continuity?
 



Pin-to-Pin Continuity

The standard HiLevel continuity test simply tests for the protect diode on the DUT pins by forcing a voltage and observing the current (and vice-versa). But this may not always detect a pin-to-pin short, because if two device pins are shorted together, the net current through each diode does not change. Twice as much current is forced through the parallel combination of two diodes. Therefore the shorted circuit configuration will result in the expected voltage drop across each diode, yielding a passing continuity test. The problem can be solved by performing a continuity test on each pin while grounding the remaining pins, as illustrated below.


Pin-to-Pin Short Testing

By forcing current and measuring the voltage drop, a complete continuity test results can be done. A simple combination of set files and DC tests can implement this test technique for HILEVEL test systems. First, create a set file with all DUT pins defined as "DUT Output" pins. All the pins may be placed in one or many groups; you can use an existing set file and just change the pin direction for every group to "Output". Next, for all groups switch on the programmable loads feature with the commutation voltage set to 0V. The Programmable load current for both IOL and IOH should be set at the same value. This value is typically in the range of 800uA to 5mA, depending on DUT protective diode characteristics and the leakage current specs. It should be no less than 5 times the continuity test force current. By using programmable loads, the grounding circuit for all pins is created. Make sure to set all power supplies to 0V.

Use the DC PMU window to define the pin-to-pin continuity test. Set the test type to "Force Current Measure Voltage" (FIMV), give the test a name, and define the pin group for the test so that it contains all the device pins. Define the test conditions as "Run To Vector 0" and "DUT Power off". Set the force current at least twice the highest leakage current from all DUT pins, but no less than 100uA (actual current value depends on protective diodes characteristic). Set the Limit to 1V and pass condition to "Pass if above 200mV". Then save set file and the corresponding vector file, with only one vector included. The current settings rule is as follows:

I Prog. Loads >> I Force >> I max. leakage


The example set file and test results for a 74161 device is shown below:


$SetFile 'C:\ets123\74F161\74f161.set' $VectorFile 'C:\Ets123\74F161\74f161.TRN' $ProgramFile (none specified) $ScanFile (none specified) ;SysCh Pin# Name Grp Type(IOBS) 10 7 CEP 1 O ; C= 25.00 11 6 D3 1 O ; C= 25.00 12 5 D2 1 O ; C= 25.00 13 4 D1 1 O ; C= 25.00 14 3 D0 1 O ; C= 25.00 15 2 CLK 1 O ; C= 25.00 16 1 MR 1 O ; C= 25.00 25 9 PE 1 O ; C= 25.00 26 10 CET 1 O ; C= 25.00 27 11 Q3 1 O ; C= 25.00 28 12 Q2 1 O ; C= 25.00 29 13 Q1 1 O ; C= 25.00 30 14 Q0 1 O ; C= 25.00 31 15 TC 1 O ; C= 25.00 $PowerSupply 1 0.000 V $PowerSupply 2 0.000 V $PowerSupply 3 0.000 V $SequenceMode Sequencing ; $StopMode Halt ; $BreakOnMode Vector ; $DisplayMode Decimal ; $StopVector 90 $LastVector 90 $DualThreshold OFF $ShortForce -0.300 V $OpenForce -1.200 V $Frequency 10.000 MHz $TimeForPass 2000 $MultiSiteMode OFF $TimingStrobe 1 25.000% ; 25.0 ns $TimingStrobe 2 25.000% ; 25.0 ns $TimingStrobe 3 0.000% ; 0.0 ns $TimingStrobe 4 0.000% ; 0.0 ns $TimingStrobe 5 0.000% ; 0.0 ns $TimingStrobe 6 12.000% ; 12.0 ns $TimingStrobe 7 20.000% ; 20.0 ns $TimingStrobe 8 0.000% ; 0.0 ns $TimingStrobe 9 30.000% ; 30.0 ns $TimingStrobe 10 0.000% ; 0.0 ns $TimingStrobe 11 0.000% ; 0.0 ns $TimingStrobe 12 0.000% ; 0.0 ns $TimingStrobe 13 0.000% ; 0.0 ns $TimingStrobe 14 0.000% ; 0.0 ns $TimingStrobe 15 0.000% ; 0.0 ns $TimingStrobe 16 0.000% ; 0.0 ns $TimingStrobe 17 0.000% ; 0.0 ns $TimingStrobe 18 0.000% ; 0.0 ns $TimingStrobe 19 0.000% ; 0.0 ns $TimingStrobe 20 0.000% ; 0.0 ns $TimingStrobe 21 0.000% ; 0.0 ns $TimingStrobe 22 0.000% ; 0.0 ns $TimingStrobe 23 0.000% ; 0.0 ns $TimingStrobe 24 0.000% ; 0.0 ns $TimingStrobe 25 0.000% ; 0.0 ns $TimingStrobe 26 0.000% ; 0.0 ns $TimingStrobe 27 0.000% ; 0.0 ns $TimingStrobe 28 0.000% ; 0.0 ns $TimingStrobe 29 0.000% ; 0.0 ns $TimingStrobe 30 0.000% ; 0.0 ns $TimingStrobe 31 0.000% ; 0.0 ns $TimingStrobe 32 0.000% ; 0.0 ns $Group 1 GroupName 'ALLPINS' Display BINARY HeaderMode PinName PinFormat Output StimFormat NRZ StimStrobe 5; 0.0ns TrailingStimStrobe 5; 0.0ns InhibitStrobe 5; 0.0ns CompareStrobe 1; 25.0ns LowLogic 0% Of 1 # 0.000 V ; HighLogic 0% Of 1 # 4.800 V ; Threshold 0% Of 1 # 2.000 V ; Hi_Threshold 0% Of 1 # 0.000 V ; ProgrammableLoad ON IOL mA 5.000 IOH mA 5.000 CommutationVoltage 0% Of 1 # 0.000 V ; ParallelLoad OFF TerminationVoltage 0% Of 1 # 0.085 V ; $DcParameters ; Parameters pertaining to the DC PARAMETRIC UNIT TEST 1: ptopcont ShowMeasurementDetails ; ForceCurrentMeasureVoltage PowerOff RunToVector 0 (dec) ; ForceValue = 600.000 uA ; Limit = 1.000 V ; PassRange Between 0.400 V and 8.000 V ; DcPinGroup all_pins ; TEST 2: ; Undefined TEST 3: ; Undefined TEST 4: ; Undefined TEST 5: ; Undefined TEST 6: ; Undefined TEST 7: ; Undefined TEST 8: ; Undefined TEST 9: ; Undefined TEST 10: ; Undefined TEST 11: ; Undefined TEST 12: ; Undefined TEST 13: ; Undefined TEST 14: ; Undefined TEST 15: ; Undefined TEST 16: ; Undefined $DcPinGroups all_pins 10 11 12 13 14 15 16 25 26 27 28 29 30 31 ; output 27 28 29 30 31 ; $NullPinGroup 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; PinGroups with 'null name' $EndDcParameters $End
Setfile example for 74f161


Here is an example of test results for pins 10 and 11 shorted together. Note that the test fails for both of the pins (highlighted in green).

      ---- Device# 2 ----

Test 'ptopcont':    *** Failed ***
 LowLimit: 0.400 V,  HighLimit: 8.000 V,  Compliance: 1.000 V
 Chan   Pin     Name            Status          Forced          Measured
  10	7	CEP        	Passed  	600.000 uA 	583.426 mV
  11	6	D3         	Passed  	600.000 uA 	1.365 V
  12	5	D2         	Passed  	600.000 uA 	1.360 V
  13	4	D1         	Passed  	600.000 uA 	1.360 V
  14	3	D0         	Passed  	600.000 uA 	1.360 V
  15	2	CLK        	Passed  	600.000 uA 	811.098 mV
  16	1	MR         	Passed  	600.000 uA 	1.360 V
  25	9	PE         	Passed  	600.000 uA 	1.360 V
  26	10	CET        	Failed  	600.000 uA 	29.096 mV
  27	11	Q3         	Failed  	600.000 uA 	29.096 mV
  28	12	Q2         	Passed  	600.000 uA 	835.845 mV
  29	13	Q1         	Passed  	600.000 uA 	835.845 mV
  30	14	Q0         	Passed  	600.000 uA 	835.845 mV
  31	15	TC         	Passed  	600.000 uA 	835.845 mV

Test results for pins 10 and 11 shorted


System channels 26 and 27 (DUT pins 10 and 11) measure far less current than do the passing pins. On the next page, see test results in which all of the device pins are passing (no short).

Example result for all pins passing:

        ---- Device# 3 ----

Test 'ptopcont':    $ Passed $
 LowLimit: 0.400 V,  HighLimit: 8.000 V,  Compliance: 1.000 V
 Chan   Pin     Name            Status          Forced          Measured
  10	7	CEP        	Passed  	600.000 uA 	578.477 mV
  11	6	D3         	Passed  	600.000 uA 	1.360 V
  12	5	D2         	Passed  	600.000 uA 	1.360 V
  13	4	D1         	Passed  	600.000 uA 	1.365 V
  14	3	D0         	Passed  	600.000 uA 	1.360 V
  15	2	CLK        	Passed  	600.000 uA 	811.098 mV
  16	1	MR         	Passed  	600.000 uA 	1.365 V
  25	9	PE         	Passed  	600.000 uA 	1.360 V
  26	10	CET        	Passed  	600.000 uA 	1.360 V
  27	11	Q3         	Passed  	600.000 uA 	830.895 mV
  28	12	Q2         	Passed  	600.000 uA 	835.845 mV
  29	13	Q1         	Passed  	600.000 uA 	835.845 mV
  30	14	Q0         	Passed  	600.000 uA 	835.845 mV
  31	15	TC         	Passed  	600.000 uA 	835.845 mV

Test results with all pins passing
 
See also:
Q'nApp L1 on the PinList function
Q'nApp L35 on the Programmable Loads, DCPMU

QL45.zip is a zipped Word file of this Q'nApp.
 
 

Click your browser's Back button to return to the Q'nApps index.


© 2003 HILEVEL Technology Inc.