Title: A Primal-Dual Solution to Minimal Test Generation Problem
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
January 6, 2015
VDAT '08
1
2Problem Statement
To find a minimal set of vectors to cover all
stuck-at faults in a combinational circuit
3A Known Method Test Minimization ILP1
- 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 akj is 1 only if the fault k is
detected by vector j, else it is 0
Subject to conditions
(2)
Fault number ( k) Vector number ( j ) 1 2 3 4 . . . . . J Vector number ( j ) 1 2 3 4 . . . . . J Vector number ( j ) 1 2 3 4 . . . . . J Vector number ( j ) 1 2 3 4 . . . . . J Vector number ( j ) 1 2 3 4 . . . . . J Vector number ( j ) 1 2 3 4 . . . . . J Vector number ( j ) 1 2 3 4 . . . . . J Vector number ( j ) 1 2 3 4 . . . . . J Vector number ( j ) 1 2 3 4 . . . . . J 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
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. 380386.
January 6, 2015
3
VDAT '08
4Motivation
- 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.
January 6, 2015
4
VDAT '08
5Definitions
- 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. 11001107.
January 6, 2015
5
VDAT '08
6Independence Graph
- Independence graph Nodes are faults and and an
edge between two nodes means that the
corresponding faults are independent. Example
c173. - 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.
January 6, 2015
6
VDAT '08
7New 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 -
January 6, 2015
7
VDAT '08
8Primal and Dual Problems4
- 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.
9Dual 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.
January 6, 2015
9
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).
January 6, 2015
10
VDAT '08
11Primal 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
January 6, 2015
11
VDAT '08
12Example 1 c1355
Problem type Iteration number No. of vectors ATPG CPU s Fault sim. CPU s CIFS size No. of min. vectors ILP 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
SUN Fire 280R, 900 MHz Dual Core machine
January 6, 2015
12
VDAT '08
13Example 2 c2670
Problem type Iteration number No. of vectors ATPG CPU s Fault sim. CPU s CIFS size No. of min. vectors ILP 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
SUN Fire 280R, 900 MHz Dual Core machine
January 6, 2015
13
VDAT '08
14Comparing primal_LPdual_ILP solution with
LP-alone solution
Circuit Name Lower bound on vectors LP-alone minimization 5 LP-alone minimization 5 LP-alone minimization 5 Primal-dual minimization this paper Primal-dual minimization this paper 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
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
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. 492497.
January 6, 2015
14
VDAT '08
15Conclusion
- 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.
January 6, 2015
15
VDAT '08
16Thank you
January 6, 2015
16
VDAT '08