A Primal-Dual Solution to Minimal Test Generation Problem

A Primal-Dual Solution to Minimal Test Generation Problem

Télécharger la présentation

A Primal-Dual Solution to Minimal Test Generation Problem

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

1. A Primal-Dual Solution to Minimal Test Generation Problem Mohammed Ashfaq Shukoor Vishwani D. Agrawal Auburn University, Department of Electrical and Computer Engineering Auburn, AL 36849, USA 12th IEEE VLSI Design and Test Symposium, 2008, Bangalore November 16, 2014 VDAT '08 VDAT '08 1

2. Problem Statement To find a minimal set of vectors to cover all stuck-at faults in a combinational circuit VDAT '08

3. vj A Known Method: Test Minimization ILP[1] • vj is a variable assigned to each of the J vectors with the following meaning: • If vj = 1, then vector j is included in the minimized vector set • If vj= 0, then vector j is not included in the minimized vector set Objective: minimize (1) constant akjis 1 only if the fault k is detected by vector j, else it is 0 Subject to conditions: (2) k = 1, 2, . . . , K integer [0, 1], j = 1, 2, . . . , J (3) K is the number of faults in a combinational circuit J is the number of vectors in the unoptimized vector set [1]P. Drineas and Y. Makris, “Independent Test Sequence Compaction through Integer Programming,” Proc. International Conf. Computer Design, 2003, pp. 380–386. November 16, 2014 3 VDAT '08 VDAT '08

4. 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. November 16, 2014 4 VDAT '08 VDAT '08

5. Definitions Independent Faults [2]: Two faults are independent if and only if they cannot be detected by the same test vector. T(f2) T(f2) T(f1) T(f1) f1 and f2 are not independent f1 and f2 are independent Independent Fault Set (IFS) [2]: An IFS contains faults that are pair-wise independent. [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. November 16, 2014 5 VDAT '08 VDAT '08

6. 3 1 2 4 5 1 2 4 5 11 6 7 8 9 10 6 7 8 9 Independence Graph • Independence graph: Nodes are faults and and an edge between two nodes means that the corresponding faults are independent. Example: c17[3]. • An Independent Fault Set (IFS) is a maximum clique in the graph. • Size of IFS is a lower bound on test set size (Akers et al., ITC-87) [3]A. S. Doshi and V. D. Agrawal, “Independence Fault Collapsing,” Proc. 9th VLSI Design and Test Symp., Aug. 2005, pp. 357-364. November 16, 2014 6 VDAT '08 VDAT '08

7. New Definitions 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. 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). 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 November 16, 2014 7 VDAT '08 VDAT '08

8. 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. VDAT '08

9. (4) maximize Subject to, (5) j = 1, 2, . . . , J (6) fk integer [0, 1], k = 1, 2, . . . , K Dual ILP Formulation • fk is a variable assigned to each of the K faults with the following meaning, • If fk = 1, then fault k is included in the fault set • If fk = 0, then fault k is not included in the fault set 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. November 16, 2014 9 VDAT '08 VDAT '08

10. Conditional Independence Graph for vector set V1 Conditional Independence Graph for vector set V2 1 2 3 4 5 3 1 2 4 5 11 11 6 7 8 9 10 6 7 8 9 10 |CIFS(V2)| = 4 |CIFS(V1)| = 5 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)|. November 16, 2014 10 VDAT '08 VDAT '08

11. Primal Dual ILP Algorithm for Test Minimization • Generate an initial vector set to detect all (or most) faults • Obtain diagnostic matrix (conditional independence graph) by fault simulation without fault dropping • Solve dual ILP to determine CIFS. Go to 6 if CIFS has converged • Augment vector set by additional tests for CIFS • Go to step 2 • Solve primal ILP for final compacted vector set November 16, 2014 11 VDAT '08 VDAT '08

12. Example 1: c1355 SUN Fire 280R, 900 MHz Dual Core machine November 16, 2014 12 VDAT '08 VDAT '08

13. Example 2: c2670 SUN Fire 280R, 900 MHz Dual Core machine November 16, 2014 13 VDAT '08 VDAT '08

14. Comparing primal_LP–dual_ILP solution with LP-alone solution SUN Fire 280R, 900 MHz Dual Core machine [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. November 16, 2014 14 VDAT '08 VDAT '08

15. 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. Future Work • 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. • A useful application of the dual ILP and the conditionally independent fault set (CIFS), we believe, is in fault diagnosis. We hope to explore that in the future. November 16, 2014 15 VDAT '08 VDAT '08

16. Thank you … November 16, 2014 16 VDAT '08 VDAT '08