High-Level Test Generation for Gate-level Fault Coverage Auburn University

advertisement
High-Level Test Generation
for Gate-level Fault Coverage
Nitin Yogi and Vishwani D. Agrawal
Auburn University
Department of ECE
Auburn, AL 36849
May 11, 2006
High-Level Spectral ATPG
1
Outline
• Need for High Level Testing
• Problem and Approach
• Spectral analysis and generation of test
sequences
• RTL testing approach
• Experimental Results
• Conclusion
May 11, 2006
High-Level Spectral ATPG
2
Seems interesting !
But is it feasible ?
Need for High Level Testing
• Motivations for high level testing:
– Low testing complexity
– Low testing times and costs
– Early detection of testability issues during
design phase at high level or RTL
– Difficulty of gate-level test generation for black
box cores with known functionality
May 11, 2006
High-Level Spectral ATPG
3
That’s fine !
But does it work ?
Problem and Approach
• The problem is …
– Develop synthesis-independent ATPG methods using
RTL circuit description.
• And our approach is:
– Implementation-independent characterization:
• RTL test generation
• Characterization of RTL vectors for spectral components and
the noise level for each PI of the circuit.
– Test generation for gate-level implementation:
• Generation of spectral vectors
• Fault simulation and vector compaction
May 11, 2006
High-Level Spectral ATPG
4
RTL Faults
Inputs
Combinational
Logic
RTL
stuck-at
fault
sites
Outputs
FF
FF
May 11, 2006
High-Level Spectral ATPG
5
OK…so its just another
Walsh Functions and
way of representing
information
Hadamard Spectrum
w0
Walsh functions (order 8)
w1
w2
w3
• Walsh functions form an orthogonal and
complete set of basis functions that can
represent any arbitrary bit-stream.
• Walsh functions are the rows of the
Hadamard matrix.
• Example of Hadamard matrix of order 8:
H8 = 1 1 1 1 1 1 1 1
1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 1
1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 1 -1
w4
w5
w6
w7
May 11, 2006
High-Level Spectral ATPG
6
Characterizing a Bit-Stream
• A bit-stream is correlated with each row of Hadamard matrix.
• Highly correlated basis Walsh functions are retained as essential
components and others are regarded as noise.
Bit stream
to analyze
Correlating with Walsh functions by
multiplying with Hadamard matrix.
Hadamard Matrix
May 11, 2006
High-Level Spectral ATPG
Bit
stream
Spectral
coeffs.
Essential component
(others noise)
7
OK…so you are
refining the bit stream
Test Vector Generation
•
•
•
Spectrum for new bit-streams consists of the essential components and
added random noise.
Essential component plus noise spectra are converted into bit-streams by
multiplying with Hadamard matrix.
Any number of bit-streams can be generated; all contain the same essential
components but differ in their noise spectrum.
Perturbation
Spectral
components
Generation of test vectors by
multiplying with Hadamard matrix
Essential
component
retained
May 11, 2006
New test vector
High-Level Spectral ATPG
8
RTL Testing Approach
(Circuit Characterization)
• RTL test generation:
– Test vectors are generated for RTL faults
(PIs, POs and inputs - outputs of flip-flops.)
• Spectral analysis:
– Test sequences for each input are analyzed using Hadamard
matrix.
– Essential components are currently determined by comparing
their power Hi2 with the average power per component M2.
– Condition to pick-out essential components:
Ηi
2
M
2
 K where K is a constant
– The process starts with the highest magnitude component and is
repeated till the criteria is not satisfied.
May 11, 2006
High-Level Spectral ATPG
9
Circuit b01: Coefficient Analysis
(Vectors for RTL faults obtained from delay optimized circuit)
25
Magnitudes of 32 Hadamard Coeffs. for 3 inputs of b01
20
Examples of
noise
components
15
Magnitude
10
5
Input 1
0
Input 2
Reset
-5
-10
-15
-20
Examples of
essential
components
May 11, 2006
-25
C0
C2
C4 C6
C8 C10 C12 C14 C16 C18 C20 C22 C24 C26 C28 C30
Coefficients
High-Level Spectral ATPG
10
OK…I got that…..
What about the
RESULTS !!!
Selecting Minimal Vector Sequences Using ILP
• A set of perturbation vector sequences
{V1, V2, .. , VM} are generated.
• Vector sequences are fault simulated and faults detected by
each is obtained.
• Compaction problem: Find minimum set of vector
sequences which cover all the detected faults.
• Minimize Count{V1, … ,VM} to obtain compressed seq. {V1,… ,VC}
where {V1, … ,VC}  {V1, … , VM}
Count{V1, … ,VC} ≤ Count{V1, … ,VM}
Fault Coverage{V1, … ,VC} = Fault Coverage{V1, … ,VM}
• Compaction problem is formulated as an Integer Linear
Program (ILP) [1].
[1] P. Drineas and Y. Makris, “Independent Test Sequence Compaction
through Integer Programming," Proc. ICCD’03, pp. 380-386.
May 11, 2006
High-Level Spectral ATPG
11
Experimental Results
•
RTL Spectral ATPG technique applied to the following benchmarks:
– three ITC’99 high level RTL circuits
– four ISCAS’89 circuits.
– PARWAN processor (Z. Navabi, VHDL: Analysis and Modeling of Digital Systems, McGraw-Hill, 1993.)
•
Characteristics of benchmark circuits:
•
•
Circuit
benchmark
PIs
POs
FFs
b01
ITC’99
2
2
5
b09
ITC’99
1
1
28
b11
ITC’99
7
6
31
b14
ITC’99
34
54
239
s1488
ISCAS’89
8
19
6
s5378
ISCAS’89
36
49
179
s9234
ISCAS’89
37
39
211
s35932
ISCAS’89
36
320
1728
PARWAN
processor
11
23
53
ATPG for RTL faults and fault simulation performed using commercial sequential ATPG tool
Mentor Graphics FlexTest.
Results obtained on Sun Ultra 5 machines with 256MB RAM .
May 11, 2006
High-Level Spectral ATPG
12
Results for b11-A
RTL characterization:
No. of RTL
faults
Number of
Vectors
RTL test cov.
(%)
CPU*
seconds
No. of spec.
components
Gate level
test cov. (%)
of RTL vecs.
240
224
76.16
530
256
74.09
RTL-ATPG results:
No. of
gatelevel
faults
2380
RTL ATPG
Spectral Test Sets
Gate-level ATPG
Gate
level cov.
(%)
Number of
vectors
CPU*
seconds
Gate level
cov. (%)
Number of
vectors
CPU*
seconds
88.84
768
737
84.62
468
1866
* Sun Ultra 5, 256MB RAM
May 11, 2006
High-Level Spectral ATPG
13
b11-A Circuit
100
90
Test Coverage (%)
80
RTL spectral
ATPG
70
60
Gate-level
ATPG
50
Random
vectors
40
30
RTL fault
vectors
20
10
0
1
10
100
1000
10000
Number of Vectors
May 11, 2006
High-Level Spectral ATPG
14
PARWAN processor
100
90
Test coverage (%)
80
RTL spectral
ATPG
70
60
Gate-level
ATPG
50
Random
vectors
40
30
RTL fault
vectors
20
10
0
1
10
100
1000
10000
No. of Vectors
May 11, 2006
High-Level Spectral ATPG
15
Results
Circuit
name
No. of
gatelevel
faults
b01-A
RTL-ATPG spectral tests
Gate-level ATPG
Random inputs
Cov.
(%)
No. of
vectors
CPU
(secs)
Cov.
(%)
No. of
vectors
CPU
(secs)
No. of
vectors
Cov
(%)
228
99.57
128
19
99.77
75
1
640
97.78
b01-D
290
98.77
128
19
99.77
91
1
640
95.80
b09-A
882
84.68
640
730
84.56
436
384
3840
11.71
b09-D
1048
84.21
768
815
78.82
555
575
7680
6.09
b11-A
2380
88.84
768
737
84.62
468
1866
3840
45.29
b11-D
3070
89.25
1024
987
86.16
365
3076
3840
41.42
b14
25894
85.09
6656
5436
68.78
500
6574
12800
74.61
s1488
4184
95.65
512
103
98.42
470
131
1600
67.47
s5378
15584
76.49
2432
2088
76.79
835
4439
3840
67.10
s5378*
15944
73.59
1399
718
73.31
332
22567
2880
62.77
s9234
28976
17.36
64
721
20.14
6967
18241
160
15.44
s9234*
29400
49.47
832
2734
48.74
12365
4119
2176
33.06
s35932
103204
95.70
256
1801
95.99
744
3192
320
50.70
PARWAN
5380
89.11
1344
1006
87.11
718
3626
6400
76.63
* Reset input added.
May 11, 2006
High-Level Spectral ATPG
16
Conclusion
• Spectral RTL ATPG technique applied to three ITC’99
and four ISCAS’89 benchmarks, and a processor circuit.
• Results indicate promise in further development of the
Spectral RTL ATPG technique.
• Test generation using Spectral RTL ATPG brings with it
all the benefits of high level testing
• Techniques that will enhance Spectral ATPG are:
– Efficient RTL ATPG
– Accurate determination and use of noise components
– Better compaction algorithms
• Future work: Spectral characterization of functional
vectors.
May 11, 2006
High-Level Spectral ATPG
17
Thank You !
Questions ?
May 11, 2006
High-Level Spectral ATPG
18
Download