A PrimalDual Solution to Minimal Test Generation Problem
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 12 th IEEE VLSI Design and Test Symposium, 2008, Bangalore 22 December 2021 VDAT '08 1
Outline n n n n Test Minimization ILP Motivation Definitions Dual ILP Formulation Primal-Dual ILP based Algorithm Examples Results Conclusion 22 December 2021 VDAT '08 2
Problem Statement To find a minimal set of vectors to cover all stuck-at faults in a combinational circuit
Test Minimization ILP[1] minimize Subject to, vj integer [0, 1], vj is a variable assigned to each of the J vectors with the following meaning, 1, then is j =only akj • Ifisv 1 if thevector fault kj(1) is included detectedinbythe minimized vector j, elsevector it is 0 set • If vj = 0, then vector j is not included in the minimized vector set k = 1, 2, . . . , K (2) 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. 22 December 2021 VDAT '08 4
Motivation n When the test minimization is performed over an exhaustive set of vectors, the ILP solution is a minimum test set. n For most circuits exhaustive vector sets are impractical. n We need a method to find a non-exhaustive vector set for which the test minimization ILP will give a minimal test set. 22 December 2021 VDAT '08 5
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. 22 December 2021 VDAT '08 6
Independence Graph n n n Independence graph: Nodes are faults and edges represent pairwise independence relationships. Example: c 17[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) 1 2 3 4 5 11 6 7 8 9 10 [3] A. S. Doshi and V. D. Agrawal, “Independence Fault Collapsing, ” Proc. 9 th VLSI Design and Test Symp. , Aug. 2005, pp. 357 -364. 22 December 2021 VDAT '08 7
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 22 December 2021 VDAT '08 8
Primal and Dual Problems[4] n n 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.
Dual ILP Formulation maximize Subject to, fk integer [0, 1], 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 (4) fault set • If fk = 0, then fault k is not included in the minimized vector set j = 1, 2, . . . , J (5) k = 1, 2, . . . , K (6) 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. 22 December 2021 VDAT '08 10
Theorem 2: For a combinational circuit, suppose V 1 and V 2 are two vector sets such that and V 1 detects all detectable faults of the circuit. If CIFS(V 1) and CIFS(V 2) are the largest CIFS with respect to V 1 and V 2, respectively, then |CIFS(V 1)| ≥ |CIFS(V 2)|. Conditional Independence Graph for vector set V 1 1 2 3 4 Conditional Independence Graph for vector set V 2 5 1 2 3 4 5 11 6 7 8 9 11 10 6 8 9 10 |CIFS(V 2)| = 4 |CIFS(V 1)| = 5 22 December 2021 7 VDAT '08 11
Primal Dual ILP Algorithm for Test Minimization 1. 2. 3. 4. 5. 6. Generate an initial vector set Obtain diagnostic matrix Solve. Fault dual ILP to. Vector determine number ( j CIFS ) number ( k) 1 2 3 4. . . J Generate tests for CIFS 1 0 1 1 0. . . 1 Compact CIFS 4) 2 0 0(Repeat 1 0. steps. . 2. through. 1 3 1 ILP 0 for 0 final 1. vector. . . set. 0 Solve primal 22 December 2021 4 0 1 0 0 . . . . K 1 1 0 0 . . . 1 VDAT '08 12
Example 1: c 1355 Problem type Iteration number No. of vectors ATPG CPU s Fault sim. CPU s CIFS size Dual 1 2 3 114 507 903 0. 033 0. 085 0. 333 1. 517 2. 683 85 84 84 Primal 903 No. of min. vectors ILP CPU s 0. 24 0. 97 1. 91 84 3. 38 SUN Fire 280 R, 900 MHz Dual Core machine 22 December 2021 VDAT '08 13
Example 2: c 2670 Problem type Iteration number No. of vectors ATPG CPU s Fault sim. CPU s CIFS size 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 76 74 73 72 70 70 70 Primal 4200 No. of min. vectors ILP CPU s 1. 99 3. 22 7. 90 3. 69 5. 89 7. 43 7. 16 8. 45 9. 81 10. 90 12. 02 13. 44 70 316. 52 SUN Fire 280 R, 900 MHz Dual Core machine 22 December 2021 VDAT '08 14
Primal-Dual ILP Results ATPG and fault simulation Circuit Dual-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 4 b ALU 35 270 0. 36 5 12 1. 23 12 0. 78 c 17 5 6 0. 03 2 4 0. 07 4 0. 03 c 432 79 2036 1. 90 13 27 25. 04 30 2. 2 c 499 67 705 2. 41 4 52 2. 33 52 1. 08 c 880 109 1384 4. 11 15 13 635. 39 24 1001. 06* C 1355 114 903 2. 89 3 84 1. 21 84 3. 38 C 1908 183 1479 7. 00 4 106 10. 79 106 19. 47 C 2670 194 4200 34. 85 12 70 91. 9 70 316. 52 C 3540 245 3969 24. 76 9 84 622. 09 104 1007. 74* C 5315 215 1295 13. 83 5 39 510. 82 71 1004. 51* C 6288 54 361 10. 03 6 6 311. 03 16 1004. 3* C 7552 361 4929 114. 00 8 116 287. 65 127 1015. 06* * Execution terminated due to a time limit of 1000 s SUN Fire 280 R, 900 MHz Dual Core machine 22 December 2021 VDAT '08 15
Comparing primal-dual ILP solution with ILP-alone solution Lower ILP-alone minimization [5] Primal-dual minimization [this paper] Circuit Name bound on vectors Unopt. vectors LP CPU s Minimized vectors Unopt. vectors Total CPU s Minimized vectors 4 b ALU 12 2370 5. 19 12 270 2. 01 12 c 432 27 14822 82. 3 27 2036 27. 24 30 c 499 52 397 5. 3 52 705 3. 41 52 c 880 13 3042 306. 8 25 1812 1636. 45* 24 c 1355 84 755 16. 7 84 903 4. 59 84 c 1908 106 2088 97. 0 106 1479 30. 26 106 c 2670 44 8767 1568. 6* 71 4200 408. 42 70 c 3540 78 - - - 3969 1629. 83* 104 c 5315 37 - - - 1295 1515. 53* 71 c 6288 6 243 519. 7 18 361 1315. 33* 16 c 7552 65 2156 1530. 0* 148 4929 1302. 71* 127 * ILP execution was terminated due to a CPU time limit SUN Fire 280 R, 900 MHz Dual Core machine [5] K. R. Kantipudi and V. D. Agrawal, “On the Size and Generation of Minimal N-Detection Tests, ” Proc. 19 th International Conf. VLSI Design, 2006, pp. 425– 430. 22 December 2021 VDAT '08 16
A Linear Programming Approach with Recursive Rounding n Redefining the variables as real variables in the range [0. 0, 1. 0] n n 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]: 1. Obtain a relaxed LP solution. STOP if each variable in the solution is an integer 2. Round off the largest variable to 1 3. Remove any constraints that are now unconditionally satisfied 4. Go to Step 1 [6] K. R. Kantipudi and V. D. Agrawal, “A Reduced Complexity Algorithm for Minimizing N-Detect Tests, ” Proc. 20 th International Conf. VLSI Design, Jan. 2007, pp. 492– 497. 22 December 2021 VDAT '08 17
Time Complexities of Primal-Dual ILP and Primal_LP-Dual_ILP 22 December 2021 VDAT '08 18
Comparing primal_LP–dual_ILP solution with LP-alone solution Primal-dual minimization [this paper] Circuit Name Lower bound on vectors Unopt. vectors LP CPU s Minimized vectors Unopt. vectors Total CPU s Minimized vectors c 432 27 608 2. 00 36 983 5. 52 31 c 499 52 379 1. 00 52 221 1. 35 52 c 880 13 1023 31. 00 28 1008 227. 21 25 c 1355 84 755 5. 00 84 507 1. 95 84 c 1908 106 1055 8. 00 107 728 2. 50 107 c 2670 44 959 9. 00 84 1039 17. 41 79 c 3540 78 1971 197. 00 105 2042 276. 91 95 c 5315 37 1079 464. 00 72 1117 524. 53 67 c 6288 6 243 78. 00 18 258 218. 9 17 c 7552 65 2165 151. 00 145 2016 71. 21 139 LP-alone minimization [5] SUN Fire 280 R, 900 MHz Dual Core machine [5] K. R. Kantipudi and V. D. Agrawal, “A Reduced Complexity Algorithm for Minimizing N-Detect Tests, ” Proc. 20 th International Conf. VLSI Design, Jan. 2007, pp. 492– 497. 22 December 2021 VDAT '08 19
Conclusion n 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 n n 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. 22 December 2021 VDAT '08 20
Thank you … 22 December 2021 VDAT '08 21
- Slides: 21