Title: A PrimalDual 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
2Outline
- Test Minimization ILP
- Motivation
- Definitions
- Dual ILP Formulation
- Primal-Dual ILP based Algorithm
- Examples
- Results
- Conclusion
3Problem Statement
To find a minimal set of vectors to cover all
stuck-at faults in a combinational circuit
4Test 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
akj is 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. 380386.
5Motivation
- 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.
6Definitions
- 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. 11001107.
7Independence Graph
- Independence graph Nodes are faults and edges
represent pair-wise independence relationships.
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.
8Definitions (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 -
9Primal 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.
10Dual 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.
11- 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).
12Primal 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
13Example 1 c1355
SUN Fire 280R, 900 MHz Dual Core machine
14Example 2 c2670
SUN Fire 280R, 900 MHz Dual Core machine
15Primal-Dual ILP Results
Execution terminated due to a time limit of
1000 s
SUN Fire 280R, 900 MHz Dual Core machine
16Comparing primal-dual ILP solution with ILP-alone
solution
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. 425430.
17A 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 Algorithm6
- 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. 492497.
18Time Complexities of Primal-Dual ILP and
Primal_LP-Dual_ILP
19Comparing primal_LPdual_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. 492497.
20Conclusion
- 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.
21Thank you