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

2. Outline • Test Minimization ILP • Motivation • Definitions • Dual ILP Formulation • Primal-Dual ILP based Algorithm • Examples • Results • Conclusion VDAT '08

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

4. (1) Subject to, minimize (2) k = 1, 2, . . . , K integer [0, 1], j = 1, 2, . . . , J (3) vj 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 akjis 1 only if the fault k is detected by vector j, else it is 0 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. VDAT '08

5. Motivation • When the test minimization is performed over an exhaustive set of vectors, the ILP solution is a minimum 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. VDAT '08

6. Definitions Independent Faults [2]: Two faults are independent if and only if they cannot be detected by the same test vector. 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. VDAT '08

7. 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 edges represent pair-wise independence relationships. 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. VDAT '08

8. Definitions (contd.) Conditionally Independent Faults: Two faults that are detectable by a 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 VDAT '08

9. 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.

10. (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 minimized vector 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. VDAT '08

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

12. Primal Dual ILP Algorithm for Test Minimization • Generate an initial vector set • Obtain diagnostic matrix • Solve dual ILP to determine CIFS • Generate tests for CIFS • Compact CIFS (Repeat steps 2 through 4) • Solve primal ILP for final vector set VDAT '08

13. Example 1: c1355 SUN Fire 280R, 900 MHz Dual Core machine VDAT '08

14. Example 2: c2670 SUN Fire 280R, 900 MHz Dual Core machine VDAT '08

15. Primal-Dual ILP Results * Execution terminated due to a time limit of 1000 s SUN Fire 280R, 900 MHz Dual Core machine VDAT '08

16. Comparing primal-dual ILP solution with ILP-alone solution SUN Fire 280R, 900 MHz Dual Core machine * ILP execution was terminated due to a CPU time limit [5] K. R. Kantipudi and V. D. Agrawal, “On the Size and Generation of Minimal N-Detection Tests,” Proc. 19th International Conf. VLSI Design, 2006, pp. 425–430. VDAT '08

17. A Linear Programming Approach with Recursive Rounding • Redefining the variables as real variables in the range [0.0,1.0] converts the ILP problem into a linear one. • Use the recursive rounding technique [6] to round off the real variables to integers. • This is a polynomial time solution, but an absolute optimality is not guaranteed. Recursive Rounding Algorithm[6]: • Obtain a relaxed LP solution. STOP if each variable in the solution is an integer • Round off the largest variable to 1 • Remove any constraints that are now unconditionally satisfied • Go to Step 1 [6] 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. VDAT '08

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

19. 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. • The high complexity primal ILP can be transformed into an LP and recursive rounding can be used to obtain an integer solution in polynomial time. 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. VDAT '08

20. Thank you … VDAT '08