1, 2 - Auburn University

advertisement
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
March 23, 2016
VDAT '08
1
Outline








Test Minimization ILP
Motivation
Definitions
Dual ILP Formulation
Primal-Dual ILP based Algorithm
Examples
Results
Conclusion
March 23, 2016
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]
J
minimize
v
j 1
Subject to,
J
a
kj v j
1
j
vj is a variable assigned to each of the J
vectors with the following meaning,
1, then
vector
isis included
akj• Ifisvj1=only
if the
fault kj(1)
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)
j 1
vj  integer [0, 1],
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.
March 23, 2016
VDAT '08
4
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.
March 23, 2016
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.
March 23, 2016
VDAT '08
6
Independence Graph



Independence graph: Nodes are faults and edges represent pairwise 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)
1
2
3
4
5
11
6
7
8
9
10
[3] A. S. Doshi and V. D. Agrawal, “Independence Fault Collapsing,” Proc. 9th VLSI Design
and Test Symp., Aug. 2005, pp. 357-364.
March 23, 2016
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
March 23, 2016
VDAT '08
8
Primal and Dual




[4]
Problems
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
K
maximize
f
k 1
Subject to,
K
a
k 1
kj
fk  1
fk  integer [0, 1],
k
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.
March 23, 2016
VDAT '08
10
Theorem 2: For a combinational circuit, suppose V1 and V2 are
two vector sets such that V 1  V 2 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)|.
Conditional Independence Graph
for vector set V1
1
2
3
4
Conditional Independence Graph
for vector set V2
5
1
2
3
4
5
11
6
7
8
9
11
10
6
8
9
10
|CIFS(V2)| = 4
|CIFS(V1)| = 5
March 23, 2016
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
SolveFault
dual ILP toVector
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
March 23, 2016
4
0
1
0
0
.
.
.
.
.
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
K
1
1
0
0
.
.
.
.
.
1
VDAT '08
12
Example 1: c1355
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.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 280R, 900 MHz Dual Core machine
March 23, 2016
VDAT '08
13
Example 2: c2670
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 280R, 900 MHz Dual Core machine
March 23, 2016
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
4b ALU
35
270
0.36
5
12
1.23
12
0.78
c17
5
6
0.03
2
4
0.07
4
0.03
c432
79
2036
1.90
13
27
25.04
30
2.2
c499
67
705
2.41
4
52
2.33
52
1.08
c880
109
1384
4.11
15
13
635.39
24
1001.06*
C1355
114
903
2.89
3
84
1.21
84
3.38
C1908
183
1479
7.00
4
106
10.79
106
19.47
C2670
194
4200
34.85
12
70
91.9
70
316.52
C3540
245
3969
24.76
9
84
622.09
104
1007.74*
C5315
215
1295
13.83
5
39
510.82
71
1004.51*
C6288
54
361
10.03
6
6
311.03
16
1004.3*
C7552
361
4929
114.00
8
116
287.65
127
1015.06*
* Execution terminated due to a time limit of 1000 s
SUN Fire 280R, 900 MHz Dual Core machine
March 23, 2016
VDAT '08
15
Comparing primal-dual ILP solution with ILP-alone solution
ILP-alone minimization [5]
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
4b ALU
12
2370
5.19
12
270
2.01
12
c432
27
14822
82.3
27
2036
27.24
30
c499
52
397
5.3
52
705
3.41
52
c880
13
3042
306.8
25
1812
1636.45*
24
c1355
84
755
16.7
84
903
4.59
84
c1908
106
2088
97.0
106
1479
30.26
106
c2670
44
8767
1568.6*
71
4200
408.42
70
c3540
78
-
-
-
3969
1629.83*
104
c5315
37
-
-
-
1295
1515.53*
71
c6288
6
243
519.7
18
361
1315.33*
16
c7552
65
2156
1530.0*
148
4929
1302.71*
127
* ILP execution was terminated due to a CPU time limit
SUN Fire 280R, 900 MHz Dual Core machine
[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.
March 23, 2016
VDAT '08
16
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]:
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. 20th International Conf. VLSI Design, Jan. 2007, pp. 492–497.
March 23, 2016
VDAT '08
17
Time Complexities of Primal-Dual ILP and
Primal_LP-Dual_ILP
CPU s
Number of Vectors
1800
140
1600
120
1400
100
1200
80
1000
Primal-DualILP
ILP
Primal-Dual
Primal LP - Dual ILP
Primal_LP-Dual_ILP
800
60
600
40
400
20
200
00
c17
c880 C1908
C1355 C2670
C1908 C3540
C2670 C3540
C7552
c432 c432
c880 c499C1355
C5315 C5315
C6288C6288
C7552
ISCAS85
Benchmark Circuits
ISCAS85
Benchmark
Circuits
March 23, 2016
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
Minimize
d 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
LP-alone minimization [5]
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.
March 23, 2016
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.
March 23, 2016
VDAT '08
20
Thank you …
March 23, 2016
VDAT '08
21
Download