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
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
February 4, 2009Shukoor: MS Thesis Defense3 Problem Statement To find minimal detection and diagnostic test sets for combinational circuits.
February 4, 2009Shukoor: MS Thesis Defense4 Diagnostic Test Set Minimization
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
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.
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
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 f Example: Fault Syndrome (Signature) ‘1’ → detected (fail) ‘0’ → not detected (pass)
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.
February 4, 2009Shukoor: MS Thesis Defense10 Full-Response Dictionary Faults Output Responses t1t2t3t4t5 f1 f2 f3 f4 f5 f6 f7 f ‘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:
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.
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
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 ) J K
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
February 4, 2009Shukoor: MS Thesis Defense15 Fault detection Table Fault diagnostic Table (a) Independence Relation (b) Generalized Independence Relation Example
February 4, 2009Shukoor: MS Thesis Defense16 Effect of Generalized Independence Relation on the Constraint Set Sizes
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
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
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
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 ALU c c c c c c c c c c c Phase-1: Finding Minimal Detection Test Set
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 ALU c c c c c c c c c c c
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 ALU c c c c c c c c c c c
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 c c c c c c c c c c [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
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.
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.
February 4, 2009Shukoor: MS Thesis Defense26 Minimal Detection Test Set Generation
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.
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 ) J K
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.
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 )
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
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.
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 ) J K
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.
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)| |CIFS(V1)| = 5 Conditional Independence Graph for vector set V |CIFS(V2)| = 4 Conditional Independence Graph for vector set V2
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
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 Primal Example 1: c1355 SUN Fire 280R, 900 MHz Dual Core machine
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 Primal Example 2: c2670 SUN Fire 280R, 900 MHz Dual Core machine
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 ALU c c c c * c c c c * c * c * c * * Execution terminated due to a time limit of 1000 s SUN Fire 280R, 900 MHz Dual Core machine
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 c c c c c c c c c c [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
February 4, 2009Shukoor: MS Thesis Defense41 Circuit Relaxed Primal / Dual LP Optimized Value Primal ILP Optimized Value Dual ILP Optimized Value 4-Alu c c c c *14 c c c c *84 c *39 c *6 c *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.
February 4, 2009Shukoor: MS Thesis Defense42 Problem with Primal-Dual Algorithm sa1 sa0 x x x sa1 sa0 x x x sa Minimized Vector Set ATPG Vectors
February 4, 2009Shukoor: MS Thesis Defense43 Possible Solution sa1 sa0 x x x sa1 sa0 x x x x x 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 x x x x x x x x x x x x Minimized Vector Set
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
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.
February 4, 2009Shukoor: MS Thesis Defense46 Thank you …