Title: Nitin Yogi and Vishwani D. Agrawal
1Optimizing Tests for Multiple Fault Models
- Nitin Yogi and Vishwani D. Agrawal
- Auburn University
- Department of ECE
- Auburn, AL 36849, USA
2Outline
- Multiple fault models
- Importance
- Minimization problem
- Multiple Fault Model Test Minimization
- Minimization of total number of vectors
- Minimizing IDDQ measurements
- Results
- Combined ILP model
- Results
- Hybrid LP-ILP method
- Results
- Conclusion
3Multiple Fault Models
- Importance
- Each fault model targets specific defects
- Sematech study (Nigh et. al. VTS97) concluded
- To detect most defects, tests for all fault
models need to included - Combine test sets covering different fault models
- Concatenating test sets - number of vectors grows
rapidly - Minimization problem
- Obtain minimized test set for considered fault
models - Take advantage of vectors detecting faults in
multiple fault models - Fault simulator/ATPG handles only one fault model
at a time - Need for a new minimization approach
4Conventional Test Vector Minimization (one fault
model at a time)
Circuit Type of vecs Mentor Fastscan vectors Mentor Fastscan vectors Fault Cov. ()
Circuit Type of vecs Un-minimized Minimized Fault Cov. ()
c3540 Stuck-at 167 130 96.00
c3540 IDDQ(pseudo stuck-at) 53 45 99.09
c3540 Transition 299 229 96.55
c3540 Total 519 404 -
s5378 Stuck-at 150 145 99.30
s5378 IDDQ(pseudo stuck-at) 71 70 85.75
s5378 LOS 319 293 98.31
s5378 LOC 256 242 90.05
s5378 Total 796 750 -
5Multiple Fault Model Test Minimization
- Obtain fault dictionary by fault simulations
- Determine faults detected by each vector
- F faults for all considered fault models
- N vectors generated for all considered fault
models - ILP test minimization
- Set of integer 0,1 variables tj one for
each vector - tj 0 drop vector tj 1 select vector
- Set of constraints ck one for each fault
- Example for kth fault detected by vectors u, v
and w ck tu tv tw 1 - Objective function
- Minimize ? tj j 1 to N
6Finding vectors for IDDQ measurements
- Given minimized set of n vectors, define
- Integer 0,1 variables tj one for each
vector - tj 0 drop vector j tj 1 select vector j
- Constraints ck one for each IDDQ fault
- Example for kth IDDQ fault detected by vectors
u, v and w ck tu tv tw 1 - Objective function
- Minimize ? tj j 1 to n
7Multiple fault model test minimization
Circuit No. of vectors / IDDQ meas. Mentor Fastscan Mentor Fastscan ILP ILP
Circuit No. of vectors / IDDQ meas. Original Optimized Vecs / IDDQ CPU(s)
Circuit No. of vectors / IDDQ meas. Vecs / IDDQ Vecs / IDDQ Vecs / IDDQ CPU(s)
c3540 Vectors 519 404 225 41
c3540 IDDQ 53 45 39 694
s5378 Vectors 796 750 320 148
s5378 IDDQ 71 70 84 14
CPU time limit of 5000 exceeded
Need to further reduce IDDQ meas.
SUN Sparc Ultra 10, four CPU machine with 4.0
GB shared RAM
8Combined ILP
- Define two integer 0, 1 variables
- tj , ij one for each vector j 1 to N
- tj 0 drop vector j
- tj 1 select vector j
- ij 0 no IDDQ measurement for vector j
- ij 1 measure IDDQ for vector j
9Combined ILP (cont.)
- Constraints ck
- For kth fault detected by vectors u, v and w
ck tu tv tw 1 - iu iv iw 1 tu iu
tv iv tw iw
Only if jth fault is an IDDQ fault
10Combined ILP (cont.)
- Objective function
- Minimize ? tj W ? ij
- N total number of vectors
- tj variables to select vectors (IDDQ or
non-IDDQ) - ij variables to select IDDQ measurements
- W weighting factor
- How strongly to minimize IDDQ vectors
N
N
j 1
j 1
11Results Combined ILP
Ckt No. of vecs. / IDDQ meas. Two-step ILP Two-step ILP Combined ILP Combined ILP Combined ILP Combined ILP Combined ILP Combined ILP
Ckt No. of vecs. / IDDQ meas. Vecs / IDDQ CPU (s) W 0.1 W 0.1 W 1 W 1 W 10 W 10
Ckt No. of vecs. / IDDQ meas. Vecs / IDDQ CPU (s) Vecs / IDDQ CPU (s) Vecs / IDDQ CPU (s) Vecs / IDDQ CPU (s)
c3540 Vecs 225 41 225 5044 226 5047 247 5047
c3540 IDDQ 39 694 40 5044 41 5047 37 5047
s5378 Vecs 320 148 320 2314 326 5154 353 5161
s5378 IDDQ 84 14 78 2314 73 5154 64 5161
CPU time limit of 5000 exceeded
Need for reducing CPU time
SUN Sparc Ultra 10, four CPU machine with 4.0
GB shared RAM
12Hybrid LP ILP
- Approximate solution to ILP
- Algorithm
- All variables redefined as real 0,1 real
variables (LP model) - Loop
- Solve LP
- Round variables tj , ij to add constraints
- Round to 0 if ( 0.0 lt variables 0.1)
- Round to 1 if ( 0.9 variables lt 1.0)
- Exit loop if no variables are rounded
- Reconvert variables to 0,1 integers and solve
ILP
13Results - Hybrid LP - ILP minimization
Ckt. No. of vecs. / IDDQ meas. Combined ILP model Combined ILP model Combined ILP model Combined ILP model Combined ILP model Combined ILP model Combined ILP model Combined ILP model Combined ILP model Combined ILP model Combined ILP model Combined ILP model
Ckt. No. of vecs. / IDDQ meas. ILP solution ILP solution ILP solution ILP solution ILP solution ILP solution Hybrid LP ILP solution Hybrid LP ILP solution Hybrid LP ILP solution Hybrid LP ILP solution Hybrid LP ILP solution Hybrid LP ILP solution
Ckt. No. of vecs. / IDDQ meas. W 0.1 W 0.1 W 1 W 1 W 10 W 10 W 0.1 W 0.1 W 1 W 1 W 10 W 10
Ckt. No. of vecs. / IDDQ meas. Vecs / IDDQ CPU (s.) Vecs / IDDQ CPU (s.) Vecs / IDDQ CPU (s.) Vecs / IDDQ CPU (s.) Vecs / IDDQ CPU (s.) Vecs / IDDQ CPU (s.)
c3540 Vecs 225 5044 226 5047 247 5047 225 167 226 189 248 516
c3540 IDDQ 40 5044 41 5047 37 5047 41 167 39 189 34 516
s5378 Vecs 320 2314 326 5154 353 5161 320 529 326 617 353 793
s5378 IDDQ 78 2314 73 5154 64 5161 80 529 72 617 63 793
CPU time limit of 5000 exceeded
Order of magnitude reduction in CPU time
SUN Sparc Ultra 10, four CPU machine with 4.0
GB RAM shared among 4 CPUs
14How good is Hybrid Optimization?
Circuit Weight (W) Minimized (vectors W x IDDQ measurements) Minimized (vectors W x IDDQ measurements) Minimized (vectors W x IDDQ measurements)
Circuit Weight (W) Lower Bound ILP Hybrid LP ILP
c3540 0.1 227.94 229 229.1
c3540 1 257.82 267 265
c3540 10 499.97 617 588
s5378 0.1 326.76 327.8 328
s5378 1 392.28 399 398
s5378 10 910.68 993 983
CPU time limit of 5000 exceeded
15Conclusion
- Proposed technique
- Minimizes test vectors for multiple fault models
- Minimizes IDDQ measurements.
- Cost Trade-off
- Vector Length and IDDQ measurements
- Hybrid LP ILP procedure reduces time complexity
of the solution
16- Thank You!
- Any questions please ?