Presentation is loading. Please wait.

Presentation is loading. Please wait.

February 4, 2009Shukoor: MS Thesis Defense1 Fault Detection and Diagnostic Test Set Minimization Master’s Defense Mohammed Ashfaq Shukoor Dept. of ECE,

Similar presentations


Presentation on theme: "February 4, 2009Shukoor: MS Thesis Defense1 Fault Detection and Diagnostic Test Set Minimization Master’s Defense Mohammed Ashfaq Shukoor Dept. of ECE,"— Presentation transcript:

1 February 4, 2009Shukoor: MS Thesis Defense1 Fault Detection and Diagnostic Test Set Minimization Master’s Defense Mohammed Ashfaq Shukoor Dept. of ECE, Auburn University Thesis Advisor: Dr. Vishwani D. Agrawal Committee Members: Dr. Victor P. Nelson, Dr. Adit Singh Dept. of ECE, Auburn University

2 February 4, 2009Shukoor: MS Thesis Defense2 Outline  Problem Statement  Diagnostic Test Set Minimization - Introduction - Fault Diagnostic Table - Diagnostic ILP - Diagnostic Fault Independence - 2-phase Approach - Results - Conclusion & Future Work  Minimal Detection Test Set Generation - Dual ILP - Algorithm for Minimal Test Set Generation - Results - Conclusion & Future Work

3 February 4, 2009Shukoor: MS Thesis Defense3 Problem Statement To find minimal detection and diagnostic test sets for combinational circuits.

4 February 4, 2009Shukoor: MS Thesis Defense4 Diagnostic Test Set Minimization

5 February 4, 2009Shukoor: MS Thesis Defense5 Observed Behavior Diagnosis Result Location or Fault Diagnosis Algorithm Tests Defective Circuit Failure Analysis: Is the process of determining the cause of failure of a chip  Fault Diagnosis: Logical analysis using vectors to find the possible defect locations.  Physical Analysis / Defect Identification: Employs physical examination of the chip to locate and identify defects. Physical Analysis Introduction

6 February 4, 2009Shukoor: MS Thesis Defense6 Fault Diagnosis Fault Diagnosis:  Cause-effect: Based on fault models. Assumes the fault to be of a particular fault model (cause) and compares the observed faulty behavior with the simulations of the modeled faults to derive potential fault candidates. It can be, (1) static: uses pre-computed information (2) dynamic: fault simulation performed during diagnosis  Effect-cause: Not based on fault models. It examines the faulty behavior (effect) and derives suspected defect locations (cause) using path-tracing methods.

7 February 4, 2009Shukoor: MS Thesis Defense7 Fault Dictionary Based Diagnosis A fault dictionary is a database of the simulated test responses for all modeled faults in a fault list. Used by some diagnosis algorithms as it is fast : no simulation at time of diagnosis. Can be very large, however! Two most popular forms of dictionaries are: –Pass-Fail Dictionary –Full-Response Dictionary

8 February 4, 2009Shukoor: MS Thesis Defense8 Pass-Fail Dictionary For each vector store the list of all detectable faults. Total storage requirement: F  T bits, where F is number of faults and T is number of vectors. Faults Test Vectors t1t2t3t4t5 f1 f2 f3 f4 f5 f6 f7 f8 1001111110011111 0111001001110010 1111000111110001 0101100001011000 0110000101100001 Example: Fault Syndrome (Signature) ‘1’ → detected (fail) ‘0’ → not detected (pass)

9 February 4, 2009Shukoor: MS Thesis Defense9 Dictionary Diagnostic Characteristics Diagnostic Resolution: It is the average number of faults per syndrome. Diagnostic Resolution indicates how well faults are distributed among all syndromes Maximum Faults per Syndrome: It is the maximum number of faults associated with a syndrome in the dictionary. It indicates the worst distribution of faults among all syndromes. Conditionally Equivalent Fault Set: Faults with identical syndromes are grouped into a single set called an conditionally equivalent fault set.

10 February 4, 2009Shukoor: MS Thesis Defense10 Full-Response Dictionary Faults Output Responses t1t2t3t4t5 f1 f2 f3 f4 f5 f6 f7 f8 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 0 ‘1’ → detected ‘0’ → not detected Fault Syndrome For each vector, store the fault detection data for all outputs. Total storage requirement: F  T  O bits, where F is number of faults, T is number of vectors and O is number of outputs. Example:

11 February 4, 2009Shukoor: MS Thesis Defense11 Motivation for Diagnostic Test Set Minimization  The amount of data in a full-response dictionary is (F  T  O).  Previous work on dictionary compaction has been concentrated on managing the dictionary organization and encoding.  The data in the full-response dictionary can be optimized by minimizing the vectors in the diagnostic test set.

12 February 4, 2009Shukoor: MS Thesis Defense12 Fault Diagnostic Table  We compact the full-response dictionary into a diagnostic table, which contains information on detection and distinguishability of faults. Full-response Dictionary Fault Diagnostic Table Example: Consider a circuit with 2 outputs, having 8 faults that are detected and diagnosed by 5 test vectors

13 February 4, 2009Shukoor: MS Thesis Defense13 Diagnostic ILP Subject to constraints: Objective: minimize integer [0, 1], j = 1, 2,..., Jvjvj i = 1, 2,..., K (2) (4) (1) If v j = 1, then vector j is included in the minimized vector set If v j = 0, then vector j is not included in the minimized vector set K is the number of faults in a combinational circuit J is the number of vectors in the unoptimized vector set coefficient a ij is >= 1 only if the fault i is detected by vector j, else it is 0 k = 1, 2,..., K-1 p = k+1,..., K (3) Fault number ( k) Vector number ( j ) 1 2 3 4..... J 10 110.....1 21011.....2 31200.....0 42102.....3...................... K0509.....2

14 February 4, 2009Shukoor: MS Thesis Defense14 Independent Faults [1] : Two faults are independent if and only if they cannot be detected by the same test vector. T(f 1 ) T(f 2 ) f 1 and f 2 are independent f 1 and f 2 are not independent T(f 1 ) T(f 2 ) [1] S. B. Akers, C. Joseph, and B. Krishnamurthy, “On the Role of Independent Fault Sets in the Generation of Minimal Test Sets,” Proc. International Test Conf., 1987, pp. 1100–1107. Generalized Fault Independence (Vector Specific, Multiple Outputs): A pair of faults detectable by a vector set V is said to be independent with respect to vector set V, if there is no single vector that detects both the faults and produces an identical output response. Fault Independence

15 February 4, 2009Shukoor: MS Thesis Defense15 Fault detection Table Fault diagnostic Table (a) Independence Relation (b) Generalized Independence Relation Example

16 February 4, 2009Shukoor: MS Thesis Defense16 Effect of Generalized Independence Relation on the Constraint Set Sizes

17 February 4, 2009Shukoor: MS Thesis Defense17 Phase-1: Use existing ILP minimization techniques to obtain a minimal detection test set from the given unoptimized test set. Find the faults not diagnosed by the minimized detection test set. Phase-2: Run the diagnostic ILP on the remaining unoptimized test set to obtain a minimal set of vectors to diagnose the undistinguished faults from phase-1. Minimal detection test set of Phase-1 Minimal set of diagnostic vectors from Phase-2 Complete diagnostic test set 2-Phase Method

18 February 4, 2009Shukoor: MS Thesis Defense18 Comparison Between 1-Step Diagnostic ILP Run and 2-Phase Method Complete Diagnostic Test Set 4-b ALU c17 c432 c880

19 February 4, 2009Shukoor: MS Thesis Defense19 Results SUN Fire 280R, 900 MHz Dual Core machine ATPG – ATALANTA Fault Simulator – HOPE AMPL Package with CPLEX solver for formulating and solving Linear Programs

20 February 4, 2009Shukoor: MS Thesis Defense20 Circuit No. of Faults Fault Coverage % Test Minimization LP [1] Detection Test Set Diagnostic Characteristics No. of Unoptimized Vectors Minimal detection tests No. of Undiag. Faults No. of CEFS Maximum Faults per Syndrome 4b ALU2271002701243194 c1722100324632 c43252099.24203630153689 c49975099.247055228123 c880942100138424172834 c1355156699.499038411725315 c1908187099.52147910754324817 c2670263095.7442007083331611 c3540329196.013969957613138 c5315529198.9012956311855278 c6288771099.5636116241611226 c7552741998.25492412219668917 Phase-1: Finding Minimal Detection Test Set

21 February 4, 2009Shukoor: MS Thesis Defense21 Phase-2: Finding Additional diagnostic vectors using Diagnostic ILP Circuit No. of Unoptimized Vectors No. of Faults No. of Constraints Minimized vectors CPU s 4b ALU258433061.36 c17286321.07 c4322006153101213.03 c499653281021.09 c88013581724172.74 c1355113111721222.13 c1908819543186213.16 c26704058833383515.29 c35403874761146278.45 c5315123211854054215.35 c628834524165341250.13 c755248021966196319.35

22 February 4, 2009Shukoor: MS Thesis Defense22 Diagnostic Characteristics of Minimized Complete Diagnostic Test Set 1 Circuit 2 Total Vectors 3 No. of Faults 4 Uniquely Diagnosed Faults 5 No. of CEFS 6 Undiag. Faults (3 – 4) 7 No. of Syndromes (4 + 5) 8 Maximum Faults per Syndrome 9 Diagnostic Resolution 4b ALU18227 00 11.000 c17622 00 11.000 c43251520 488163250421.032 c49954750 726122473821.016 c88033942 8325511088721.132 c1355861566 397532116992931.686 c19081271870 1380238490161881.156 c26701212630 20272636032290111.149 c35401223291 2720234571303381.085 c53151055291 4496381795487741.085 c6288287710 569010092020669931.151 c7552153741955988481821644671.151

23 February 4, 2009Shukoor: MS Thesis Defense23 2-Phase vs. Previous Work Circuit Pass-Fail dictionary compaction [1] 2-Phase Approach [This work] Fault Coverage % Minimized Vectors Undisting. Fault Pairs CPU s Fault Coverage % Minimized Vectors Undisting. Fault Pairs CPU s c43297.5268930.198.6654150.94 c499----98.9554120.39 c88097.52631040.297.5642642.56 c135598.57888780.898.60807660.34 c190894.1213912082.195.691013990.49 c267084.407918382.884.24694498.45 c354094.49205158510.694.5213559017.26 c531598.83188157915.498.6212347225.03 c628899.56374491165999.56171013337.89 c755291.97198443833.892.32128128918.57 [1] Y. Higami and K. K. Saluja and H. Takahashi and S. Kobayashi and Y. Takamatsu, “Compaction of Pass/Fail-based Diagnostic Test Vectors for Combinational and Sequential Circuits,” Proc. ASPDAC, 2006, pp. 75-80.

24 February 4, 2009Shukoor: MS Thesis Defense24 Conclusion The compaction of a diagnostic test set is carried out without any loss in the diagnostic resolution of a full-response dictionary. We have formulated the diagnostic ILP which is an exact solution to minimize a diagnostic test set. The newly defined generalized independence relation between pairs of faults is very effective in reducing the number of faults that need to be distinguished. The 2-phase approach has polynomial time complexity and is effective in producing very compact diagnostic test sets.

25 February 4, 2009Shukoor: MS Thesis Defense25 Future Work Using the idea in [1] a fault dictionary for multiple fault models can be constructed and the 2-phase approach can be used to minimize the diagnostic vector set. A diagnostic ATPG can be constructed with a random and deterministic phase. [1] N. Yogi and V. D. Agrawal, “N-Model Tests for VLSI Circuits,” Proc. of 40th Southwestern Symp. on System Theory, 2008.

26 February 4, 2009Shukoor: MS Thesis Defense26 Minimal Detection Test Set Generation

27 February 4, 2009Shukoor: MS Thesis Defense27 Detection Test Set Compaction Static Compaction Done after test generation. No modification to ATPG needed. Result dependent on the quality of original test set. Example: Reverse order fault simulation, vector merging, etc Dynamic Compaction Done during test generation. Level of compaction is independent of original test set. Example: Process every partially-done ATPG vector immediately.

28 February 4, 2009Shukoor: MS Thesis Defense28 A Known Method: Test Minimization ILP [1] Subject to conditions: Objective: minimize integer [0, 1], j = 1, 2,..., Jvjvj k = 1, 2,..., K (2) (3) (1) [1] P. Drineas and Y. Makris, “Independent Test Sequence Compaction through Integer Programming,” Proc. International Conf. Computer Design, 2003, pp. 380–386. v j is a variable assigned to each of the J vectors with the following meaning: If v j = 1, then vector j is included in the minimized vector set If v j = 0, then vector j is not included in the minimized vector set K is the number of faults in a combinational circuit J is the number of vectors in the unoptimized vector set coefficient a kj is 1 only if the fault k is detected by vector j, else it is 0 Fault number ( k) Vector number ( j ) 1 2 3 4..... J 10 110.....1 20010.....1 31001.....0 40100.....0...................... K1100.....1

29 February 4, 2009Shukoor: MS Thesis Defense29 Motivation When test minimization is performed over an exhaustive set of vectors, the ILP solution is the smallest possible test set. For most circuits exhaustive vector sets are impractical. We need a method to find a non-exhaustive vector set for which the test minimization ILP will give a minimal test set.

30 February 4, 2009Shukoor: MS Thesis Defense30 Definitions Independent Faults [2] : Two faults are independent if and only if they cannot be detected by the same test vector. [2] S. B. Akers, C. Joseph, and B. Krishnamurthy, “On the Role of Independent Fault Sets in the Generation of Minimal Test Sets,” Proc. International Test Conf., 1987, pp. 1100–1107. Independent Fault Set (IFS) [2] : An IFS contains faults that are pair-wise independent. Size of the largest IFS is a lower bound on test set size. T(f 1 ) T(f 2 ) f 1 and f 2 are independent f 1 and f 2 are not independent T(f 1 ) T(f 2 )

31 February 4, 2009Shukoor: MS Thesis Defense31 Independence Graph Independence graph: Nodes are faults and and an edge between two nodes means that the corresponding faults are independent. Example: c17 [3]. The largest Independent Fault Set (IFS) is a maximum clique in the graph. [3] A. S. Doshi and V. D. Agrawal, “Independence Fault Collapsing,” Proc. 9th VLSI Design and Test Symp., Aug. 2005, pp. 357-364. 1245 6789 3 10 11 1245 6789

32 February 4, 2009Shukoor: MS Thesis Defense32 Primal and Dual Problems [4] An optimization problem in an application may be viewed from either of two perspectives, the primal problem or the dual problem These two problems share a common set of coefficients and constants. If the primal minimizes one objective function of one set of variables then its dual maximizes another objective function of the other set of variables Duality theorem states that if the primal problem has an optimal solution, then the dual also has an optimal solution, and the optimized values of the two objective functions are equal. [4] G. Strang, Linear Algebra and Its Applications, Fort Worth: Harcourt Brace Javanovich College Publishers, third edition, 1988.

33 February 4, 2009Shukoor: MS Thesis Defense33 maximize Subject to, integer [0, 1], k = 1, 2,..., Kfkfk j = 1, 2,..., J (5) (6) (4) f k is a variable assigned to each of the K faults with the following meaning, If f k = 1, then fault k is included in the fault set If f k = 0, then fault k is not included in the fault set Dual ILP Formulation Fault number ( k) Vector number ( j ) 1 2 3 4..... J 10 110.....1 20010.....1 31001.....0 40100.....0...................... K1100.....1

34 February 4, 2009Shukoor: MS Thesis Defense34 New Definitions Conditionally Independent Fault Set (CIFS): For a given vector set, a subset of all detectable faults in which no pair of faults can be detected by the same vector, is called a conditionally independent fault set (CIFS). Conditionally Independent Faults: Two faults, detectable by vector set V, are conditionally independent with respect to the vector set V if no vector in the set detects both faults. Conditional Independence Graph: An independence graph in which the independence relations between faults are relative to a vector set is called a conditional independence graph Theorem 1: A solution of the dual ILP of 4, 5 and 6 provides a largest conditionally independent fault set (CIFS) with respect to the vector set V.

35 February 4, 2009Shukoor: MS Thesis Defense35 Theorem 2: For a combinational circuit, suppose V1 and V2 are two vector sets such that and V1 detects all detectable faults of the circuit. If CIFS(V1) and CIFS(V2) are the largest CIFS with respect to V1 and V2, respectively, then |CIFS(V1)| ≥ |CIFS(V2)|. 1245 678910 11 3 |CIFS(V1)| = 5 Conditional Independence Graph for vector set V1 12345 678910 11 |CIFS(V2)| = 4 Conditional Independence Graph for vector set V2

36 February 4, 2009Shukoor: MS Thesis Defense36 Primal Dual ILP Algorithm for Test Minimization 1.Generate an initial vector set to detect all (or most) faults 2.Obtain detection matrix (conditional independence graph) by fault simulation without fault dropping 3.Solve dual ILP to determine CIFS. Go to 6 if CIFS has converged 4.Augment vector set by additional tests for CIFS 5.Go to step 2 6.Solve primal ILP for final compacted vector set

37 February 4, 2009Shukoor: MS Thesis Defense37 Problem type Iteration number No. of vectors ATPG CPU s Fault sim. CPU s CIFS size No. of min. vectors ILP CPU s Dual 123123 114 507 903 0.033 0.085 0.333 1.517 2.683 85 84 0.24 0.97 1.91 Primal903843.38 Example 1: c1355 SUN Fire 280R, 900 MHz Dual Core machine

38 February 4, 2009Shukoor: MS Thesis Defense38 Problem type Iteration number No. of vectors ATPG CPU s Fault sim. CPU s CIFS size No. of min. vectors ILP CPU s Dual 1 2 3 4 5 6 7 8 9 10 11 12 194 684 1039 1424 1738 2111 2479 2836 3192 3537 3870 4200 2.167 1.258 1.176 1.168 1.136 1.128 1.112 1.086 1.073 1.033 1.048 1.033 3.670 5.690 6.895 8.683 10.467 12.333 14.183 15.933 17.717 19.267 20.983 22.600 102 82 79 78 76 74 73 72 70 1.99 3.22 7.90 3.69 5.89 7.43 7.16 8.45 9.81 10.90 12.02 13.44 Primal420070316.52 Example 2: c2670 SUN Fire 280R, 900 MHz Dual Core machine

39 February 4, 2009Shukoor: MS Thesis Defense39 Primal-Dual ILP Results Circuit ATPG and fault simulationDual-ILP solution Primal-ILP solution with time-limit Initial vectors Final vectors CPU s No. of iterations CIFS size CPU s Minimized vectors CPU s 4b ALU352700.365121.23120.78 c17560.03240.0740.03 c4327920361.90132725.04302.2 c499677052.414522.33521.08 c88010913844.111513635.39241001.06* c13551149032.893841.21843.38 c190818314797.00410610.7910619.47 c2670194420034.85127091.970316.52 c3540245396924.76984622.091041007.74* c5315215129513.83539510.82711004.51* c62885436110.0366311.03161004.3* c75523614929114.008116287.651271015.06* * Execution terminated due to a time limit of 1000 s SUN Fire 280R, 900 MHz Dual Core machine

40 February 4, 2009Shukoor: MS Thesis Defense40 Circuit Name Lower bound on vectors LP-alone minimization [5]Primal-dual minimization [this paper] Unopt. vectors LP CPU s Minimized vectors Unopt. vectors Total CPU s Minimized vectors c432276082.00369835.5231 c499523791.00522211.3552 c88013102331.00281008227.2125 c1355847555.00845071.9584 c190810610558.001077282.50107 c2670449599.0084103917.4179 c3540781971197.001052042276.9195 c5315371079464.00721117524.5367 c6288624378.0018258218.917 c7552652165151.00145201671.21139 [5] K. R. Kantipudi and V. D. Agrawal, “A Reduced Complexity Algorithm for Minimizing N- Detect Tests,” Proc. 20th International Conf. VLSI Design, Jan. 2007, pp. 492–497. Comparing primal_LP–dual_ILP Solution with LP-alone Solution

41 February 4, 2009Shukoor: MS Thesis Defense41 Circuit Relaxed Primal / Dual LP Optimized Value Primal ILP Optimized Value Dual ILP Optimized Value 4-Alu12.0012 c174.0044 c43229.063027 c49952.0052 c88019.5324*14 c135584.0084 c1908106.00106 c267070.0070 c354086.0795*84 c531552.6363*39 c62888.4016*6 c7552116.00119*116 Primal ILP Value Dual ILP Value Relaxed LP Value Optimized value of the relaxed primal /dual LP provides a lower bound on the number of vectors and an upper bound on the largest CIFS size. * LP based recursive rounding [5] Analysis of Duality for Integer Linear Programs [5] K. R. Kantipudi and V. D. Agrawal, “A Reduced Complexity Algorithm for Minimizing N-Detect Tests,” Proc. 20th International Conf. VLSI Design, Jan. 2007, pp. 492–497.

42 February 4, 2009Shukoor: MS Thesis Defense42 Problem with Primal-Dual Algorithm sa1 sa0 x x x sa1 sa0 x x x sa1 1 2 1 1 0 0 1 0 0 1 1 0 0 0 1 1 Minimized Vector Set 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 ATPG Vectors

43 February 4, 2009Shukoor: MS Thesis Defense43 Possible Solution sa1 sa0 x x x sa1 sa0 x x 0 1 1 1 0 1 x x x 0 1 1 1 0 1 x sa1 1 2 Use primal-dual algorithm with partially specified vectors. The resulting minimal test set is further compacted by vector merging. Compacted Vector Set 0 1 1 1 0 1 0 1 1 1 0 1 x x x 0 1 1 x x x 1 0 1 0 1 1 x x x 1 0 1 x x x Minimized Vector Set

44 February 4, 2009Shukoor: MS Thesis Defense44 Conclusion A new algorithm based on primal dual ILP is introduced for test optimization. The dual ILP helps in obtaining proper vectors, which then can be optimized by the primal ILP. According to Theorem 2, CIFS must converge to IFS as the vector set approaches the exhaustive set. We should explore strategies for generating vectors for the dual problem in order to have the CIFS quickly converge to IFS before vector set becomes exhaustive. Primal-dual algorithm can be used with partially specified vectors. The resulting minimal test set is further compacted by vector merging. Future Work

45 February 4, 2009Shukoor: MS Thesis Defense45 Publications: [1] M. A. Shukoor and V. D. Agrawal, “A Primal-Dual Solution to the Minimal Test Generation Problem,” in Proc. 12 th VLSI Design and Test Symp., July 2008, pp. 269–279. [2] M. A. Shukoor and V. D. Agrawal, “A 2-Phase Approach for Minimal Diagnostic Test Set Generation”, in Proc. 14 th IEEE European Test Symp., May 2009.

46 February 4, 2009Shukoor: MS Thesis Defense46 Thank you …


Download ppt "February 4, 2009Shukoor: MS Thesis Defense1 Fault Detection and Diagnostic Test Set Minimization Master’s Defense Mohammed Ashfaq Shukoor Dept. of ECE,"

Similar presentations


Ads by Google