a primal-dual solution to minimal test generation problem

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

Upload: wynter-haney

Post on 31-Dec-2015

32 views

Category:

Documents


0 download

DESCRIPTION

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. November 16, 2014. VDAT '08. 1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 1April 19, 2023 VDAT '08 1

A Primal-Dual Solution to Minimal Test Generation Problem

Auburn University, Department of Electrical and Computer Engineering Auburn, AL 36849, USA

Mohammed Ashfaq Shukoor Vishwani D. Agrawal

12th IEEE VLSI Design and Test Symposium, 2008, Bangalore

Page 2: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 2

Problem Statement

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

Page 3: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 3April 19, 2023 VDAT '08 3

A Known Method: Test Minimization ILP[1]

Subject to conditions:

J

jjv

1Objective: minimize

11

J

jjkjva

integer [0, 1], j = 1, 2, . . . , J vj

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.

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

K is the number of faults in a combinational circuit

J is the number of vectors in the unoptimized vector set

constant akj is 1 only if the fault k is detected by vector j, else it is 0

Faultnumber ( k)

Vector number ( j )1 2 3 4 . . . . . J

1 0 1 1 0 . . . . . 1

2 0 0 1 0 . . . . . 1

3 1 0 0 1 . . . . . 0

4 0 1 0 0 . . . . . 0

. . . . . . . . . . .

. . . . . . . . . . .

K 1 1 0 0 . . . . . 1

Page 4: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 4April 19, 2023 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.

Page 5: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 5April 19, 2023 VDAT '08 5

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

T(f1) T(f2)

f1 and f2 are independent f1 and f2 are not independent

T(f1) T(f2)

Page 6: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 6April 19, 2023 VDAT '08 6

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.

1 2 4 5

6 7 8 9

3

10

11

1 2 4 5

6 7 8 9

Page 7: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 7April 19, 2023 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

Page 8: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 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.

Page 9: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 9April 19, 2023 VDAT '08 9

Dual ILP Formulation

K

kkf

1maximize

Subject to,

11

K

kkkj fa

integer [0, 1], k = 1, 2, . . . , K fk

j = 1, 2, . . . , J (5)

(6)

(4)

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.

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

Page 10: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 10April 19, 2023 VDAT '08 10

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

21 VV

1 2 4 5

6 7 8 9 10

11

3

|CIFS(V1)| = 5

Conditional Independence Graph for vector set V1

1 2 3 4 5

6 7 8 9 10

11

|CIFS(V2)| = 4

Conditional Independence Graph for vector set V2

Page 11: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 11April 19, 2023 VDAT '08 11

Primal Dual ILP Algorithm for Test Minimization

1. Generate an initial vector set to detect all (or most) faults

2. Obtain diagnostic 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

Page 12: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 12April 19, 2023 VDAT '08 12

Problem type

Iteration number

No. of vectors

ATPG

CPU s

Fault sim.

CPU s

CIFS

sizeNo. of min.

vectorsILP

CPU s

Dual

1

2

3

114

507

903

0.033

0.085

0.085

0.333

1.517

2.683

85

84

84

0.24

0.97

1.91

Primal 903 84 3.38

Example 1: c1355

SUN Fire 280R, 900 MHz Dual Core machine

Page 13: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 13April 19, 2023 VDAT '08 13

Problem type

Iteration number

No. of vectors

ATPG

CPU s

Fault sim.

CPU s

CIFS

sizeNo. of min.

vectorsILP

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

76

74

73

72

70

70

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

Primal 4200 70 316.52

Example 2: c2670

SUN Fire 280R, 900 MHz Dual Core machine

Page 14: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 14April 19, 2023 VDAT '08 14

Comparing primal_LP–dual_ILP solution with LP-alone solution

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

c432 27 608 2.00 36 983 5.52 31

c499 52 379 1.00 52 221 1.35 52

c880 13 1023 31.00 28 1008 227.21 25

c1355 84 755 5.00 84 507 1.95 84

c1908 106 1055 8.00 107 728 2.50 107

c2670 44 959 9.00 84 1039 17.41 79

c3540 78 1971 197.00 105 2042 276.91 95

c5315 37 1079 464.00 72 1117 524.53 67

c6288 6 243 78.00 18 258 218.9 17

c7552 65 2165 151.00 145 2016 71.21 139

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

SUN Fire 280R, 900 MHz Dual Core machine

Page 15: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 15April 19, 2023 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.

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.

Future Work

Page 16: A Primal-Dual Solution to Minimal Test Generation Problem

April 19, 2023 VDAT '08 16April 19, 2023 VDAT '08 16

Thank you …