Transcript slides

A Reduced Complexity Algorithm for
Minimizing N-Detect Tests
Kalyana R. Kantipudi
Vishwani D. Agrawal
Department of Electrical and Computer Engineering
Auburn University, AL 36849 USA
20th Intl Conf. on VLSI Design, Bangalore, Jan 6-10th, 2006
Jan 6-10th, 2007
VLSI Design 2007
1
Motivation for This Work
• Ability of N-detect tests to improve the defect coverage.
• Easy assimilation of N-detect tests into the normal test
generation strategy.
• Main limitation of N-detect tests is their size.
• Inability of ILP based method to produce a time-bound
optimal solution.
• Inability of previous test minimization strategies in
finding minimal tests for c6288 benchmark.
Jan 6-10th, 2007
VLSI Design 2007
2
Outline
• ILP based N-detect test minimization
• Previous LP based methods
• Recursive rounding based approach
• The 3V3F example
• Minimal tests for c6288
• Results
• Conclusions
Jan 6-10th, 2007
VLSI Design 2007
3
ILP-Based N-Detect Test Minimization [1]
• Use any N-detect test generation approach to obtain a
set of k vectors which detect every fault at least N times.
• Use diagnostic fault simulation to get the vector subset Tj
for each fault j.
• Assign integer variable ti to ith vector such that,
• ti = 1 if ith vector is included in the minimal set.
• ti = 0 if ith vector is not included.
[1] K. R. Kantipudi and V. D. Agrawal, “On the Size and Generation
of Minimal N-Detection Tests,” Proc. VLSI Design’06.
Jan 6-10th, 2007
VLSI Design 2007
4
Objective and Constraints of ILP
k
Objective : minimize  t i
i 1
Constraints :
t   N ,  faults
i
vectori  T j
j
j
Where, Nj is the multiplicity of detection for the jth fault.
Nj can be selected for each individual fault based on some
criticality criteria or on the capability of the initial vector set.
ILP always generates an optimal solution for the given set
of test vectors.
Jan 6-10th, 2007
VLSI Design 2007
5
A Linear Programming Approach
• Though ILP guarantees an optimal solution, it takes
exponential time to generate the solution.
• Time bounded ILP solutions deviate from optimality.
• LP takes polynomial time (sometimes in linear time) to
generate a solution.
• Redefining the variables tis as real variables in the range
[0.0,1.0] converts the ILP problem into a linear one.
• The problem now remains to convert it into an ILP
solution.
 The optimal value of the relaxed-LP of the ILP minimization
problem is a lower bound on the value of the optimal integer
solution to the problem.
Jan 6-10th, 2007
VLSI Design 2007
6
Previous Solutions (Randomized rounding)
• The real variables are treated as probabilities.
• A random number xi uniformly distributed over the
range [0.0,1.0] is generated for each variable ti.
• If ti ≥ xi then ti is rounded to 1, otherwise rounded to 0.
• If the rounded variables satisfy the constraints, then the
rounded solution is accepted.
• Otherwise, rounding is again performed starting from
the original LP solution.
Jan 6-10th, 2007
VLSI Design 2007
7
Limitations of Randomized Rounding
• Consider three faults f1,f2 and f3, and three vectors.
• We assign a real variable ti to vector i.
• Now the single detection problem is specified as:
t3
 Minimize t1 + t2 + t3
1
 Subject to constraints,
f1 : t1 + t2 ≥ 1
LP Solution
f2 : t2 + t3 ≥ 1
(0.5,0.5,0.5)
f3 : t3 + t1 ≥ 1
t2
0
1
• The number of tests is much larger
1
than the size of the minimal test set.
t1
• The randomized rounding becomes a random search.
Jan 6-10th, 2007
VLSI Design 2007
8
Recursive Rounding (New Method)
• Step 1: Obtain an LP solution.
Stop if each ti is either 0.0 or 1.0
• Step 2: Round the largest ti and fix its value to 1.0
If several ti’s have the largest value, arbitrarily
set only one to 1.0. Go to Step 1.
 Maximum number of LP runs is bounded by the final
minimized test set size.
 Final set is guaranteed to cover all faults.
 This method takes polynomial time even in the worst case.
 LP provides a lower bound on solution.
Lower Bound ≤ exact ILP solution ≤ recursive LP solution
Absolute optimality is not guaranteed.
Jan 6-10th, 2007
VLSI Design 2007
9
The 3V3F Example
• Step 1:
t3
LP gives t1 = t2 = t3 = 0.5
1
• Step 2:
We arbitrarily set t1 = 1.0
Non-optimum
solution
• Step 1:
Gives t2 = 1, t3 = 0 ■
or t2 = 0, t3 = 1 ■
or t2 = t3 = 0.5
LP Solution
(0.5,0.5,0.5)
0
t2
1
1
• Step 2: (last case)
Step 1
We arbitrarily set t2 = 1.0
Step 2
• Step 1: Gives t3 = 0
Jan 6-10th, 2007
ILP solutions
(optimum)
VLSI Design 2007
t1
10
Minimal Tests for Array Multipliers
• There exists a huge difference
between its theoretical lower bound
of six and its practically achieved test
set of size 12.
• A 15 x 16 matrix of full-adders (FA) A B
and half-adders (HA).
F
A
A B
• To make use of its recursive
structure and apply
F
n-2
3
A
A B
linear programming
F
F
techniques.
P2n-1P2n-2
Jan 6-10th, 2007
n-2
2
1 H
1 A
F
A
1 F
2 A
A0
B2
P2
F
A
1 F
3 A
A0
B3
P3
A
H
A
Pn+1
Pn
VLSI Design 2007
H
A
A1B0
P1
n-1 2
A
n-2
1
H
A
n-1 1
n-1 n-1
A2B0
An-1B0
11
A0B0
P
A0 0
B1
Tests for c6288: 16-Bit Multiplier
• Known results (Hamzaoglu and Patel, IEEE-TCAD,
2000):
• Theoretical lower bound = 6 vectors
• Smallest known set = 12 vectors, 306 CPU s
• Our results:
• Up to four-bit multipliers need six vectors
• Five-bit multiplier requires seven vectors
• c6288
– 900 vectors constructed from optimized vector sets of smaller
multipliers
– ILP, 10 vectors in two days of CPU time
– Recursive LP, lower bound = 7, optimized set = 12, in 301 CPU s
Jan 6-10th, 2007
VLSI Design 2007
12
Comparison of ILP and Recursive LP
180
160
21
18
120
100
15
80
12
60
9
40
6
20
0
3
3
4
5
6
7
8
9
10
Bit Multiplier (Bits)
Jan 6-10th, 2007
VLSI Design 2007
11
12
Test Set Size (Vectors)
140
CPU Seconds
LP CPU
Secs
24
ILP CPU
Secs
LP Set size
ILP Set
size
Time
bound ILP
Set size
1000 sec
13
Sizes of 5-Detect Tests for ISCAS85 Circuits
900
Test Set Size (Vectors)
800
700
600
LB from LP
LP/Randomized
500
LP/Recursive
ILP Vecs
400
300
200
100
0
99
c4
Jan 6-10th, 2007
80
c8
67
c2
0
54
c3
0
31
c5
5
VLSI Design 2007
28
c6
8
55
c7
2
14
CPU Time to Minimize 5-Detect Tests
881
140
20008
34740
CPU Seconds
120
100
80
LP/Randomized
LP/Recursive
ILP CPU s
60
40
20
0
99
c4
Jan 6-10th, 2007
80
c8
67
2
c
0
54
3
c
0
31
5
c
5
28
6
c
VLSI Design 2007
8
55
7
c
2
15
Optimized 15-detect Tests
Circuit Unopti.
Name
Vecs
LP/recursive
Rounding
ILP [1]
Heuristic[2]
Vect.
CPU s
Vect.
CPU s
Vect.
CPU s
L.B.
c432
14882
430
83.5
430
444.8
505
292.1
405
c499
1850
780
17.8
780
24.9
793
153.2
780
c880
4976
322
94.5
321
521.4
338
229.6
195
c1355
2341
1260
41.2
1260
52.1
1274
5674.6
1260
c1908
6609
1590
150.4
1590
191
1648
1563.9
1590
c2670
8767
1248
380.6
1248
607.8*
962
9357.6
660
c3540
4782
1407
239.6
1411
1223.7
-
-
1200
c5315
4318
924
494.3
924
1368.4*
-
-
555
c6288
731
134
250.5
134
1206.3
144
1813.8
90
c7552
6995
2371
359.1
2370
346.1**
-
-
975
[1] K R Kantipudi and V D Agrawal, Proc. VLSI Design, 2006
[2] Lee, Cobb, Dworak, Grimaila and Mercer, Proc. DATE, 2002
Jan 6-10th, 2007
VLSI Design 2007
16
Conclusion
• Single and N-detection tests can be efficiently minimized
by the new procedure.
• The quality of the result from recursive rounding LP is
close to that of ILP.
• The 10 vector test set for c6288 signifies the
shortcomings of present test set minimization
techniques.
• The recursive rounding LP method has numerous other
applications where ILP is traditionally used and is found
to be expensive.
Jan 6-10th, 2007
VLSI Design 2007
17
Thank You . . .
Jan 6-10th, 2007
VLSI Design 2007
18