Spectral RTL Test Generation for Gate-Level Stuck-at Faults

advertisement
Spectral RTL Test Generation
for Gate-Level Stuck-at Faults
Nitin Yogi and Vishwani D. Agrawal
Auburn University, Department of ECE,
Auburn, AL 36849, USA
Nov. 21, 2006
ATS'06
1
Outline
Need for High Level Testing
 Problem and Approach
 Spectral analysis and test generation
 RTL testing approach
 Experimental Results
 Conclusion

Nov. 21, 2006
ATS'06
2
Need for High Level Testing
 Motivations
Reduced
for high level testing:
test generation complexity
 Reduced
time and cost for test development
Early
resolution of testability issues
Difficulty of gate-level test generation for
black box cores with known functionality
Nov. 21, 2006
ATS'06
3
Problem and Approach

The problem is …
 Develop

an effective RTL ATPG method
And our approach is:
 Implementation-independent


characterization:
RTL test generation
Spectral analysis of RTL vectors
 Test
generated to cover faults in gate-level
implementation:


Nov. 21, 2006
Generation of spectral vectors
Fault simulation and vector compaction
ATS'06
4
Faults Modeled for an RTL Module
Inputs
Combinational
Logic
RTL
stuck-at
fault
sites
Outputs
FF
FF
A circuit is an interconnect of several RTL modules.
Nov. 21, 2006
ATS'06
5
Spectral Characterization of a Digital Bit-Stream
w0
• Walsh functions: a complete
orthogonal set of basis functions that can
represent any arbitrary bit-stream.
Walsh functions (order 8)
w1
• Walsh functions form the rows of a
Hadamard matrix.
w2
w3
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
time
Nov. 21, 2006
ATS'06
Example of Hadamard matrix
of order 8
6
Walsh Coefficients of a Bit-Stream

A bit-stream is correlated with each row of Hadamard matrix.

Highly correlated basis functions => retained as essential components
Others => noise.
Bit stream
to analyze
Correlating with Walsh functions by
multiplying with Hadamard matrix.
Hadamard Matrix
Nov. 21, 2006
ATS'06
Bit
stream
Spectral
coeffs.
Essential component
(others noise)
7
Bit-Stream Generation


Original spectrum

New spectrums are generated retaining essential components and adding
random noise.
New spectrums 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 noise
Perturbation
New spectrum
multiplying with
Hadamard matrix
Essential
component
retained
Nov. 21, 2006
Bits changed
New bit-stream
ATS'06
8
RTL Testing Approach
(Circuit Characterization)

RTL test generation:
 Test
vectors generated for RTL faults
(PIs, POs and inputs - outputs of RTL modules and
flip-flops.)

Spectral analysis:
 Test
sequences for each input bit-stream are analyzed
using Hadamard matrix.
 Amount of perturbation is determined by a gradually
increasing noise level.
Nov. 21, 2006
ATS'06
9
Power Spectrum: “Interrupt” Signal
Normalized Power
Essential
components
Noise
components
Spectral Coefficients
Nov. 21, 2006
PARWAN
Processor
Circuit
ATS'06
Random
level
(1/128)
10
Power Spectrum: “Ready” Signal
Normalized Power
Examples of
Essential
components
PARWAN
Processor
Circuit
Examples of
Noise
components
Random
level
(1/128)
Spectral Coefficients
Nov. 21, 2006
ATS'06
11
Power Spectrum: “DataIn[5]” Signal
PARWAN
Processor
Circuit
Normalized Power
Examples of
Essential
components
Examples of
Noise
components
Random
level
(1/128)
Spectral Coefficients
Nov. 21, 2006
ATS'06
12
Normalized Power
Power Spectrum: A Random Signal
Average
level
(1/128)
Spectral Coefficients
Nov. 21, 2006
ATS'06
13
Selecting Minimal Vector Sequences Using ILP

Fault simulation of new sequences



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}
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.
Nov. 21, 2006
ATS'06
14
Results: Circuit Characteristics




RTL Spectral ATPG technique applied to the following benchmarks:
 4 ITC’99 high level RTL circuits
 4 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 .
Nov. 21, 2006
ATS'06
15
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. (%)
240
224
76.16
530
256
74.09
RTL-ATPG results:
No. of
gate-level
faults
2380
RTL ATPG
Spectral Test Sets
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
Nov. 21, 2006
FlexTest Gate-level ATPG
** Area-optimized synthesis in Mentor’s Leonardo
ATS'06
16
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
Nov. 21, 2006
ATS'06
17
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
Nov. 21, 2006
ATS'06
18
Results
Circuit
name
No. of
gatelevel
faults
b01-A
RTL-ATPG spectral tests
FlexTest 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.
Nov. 21, 2006
ATS'06
19
Conclusion





Spectral RTL ATPG technique applied to ITC’99 and
ISCAS’89 benchmarks, and a processor circuit.
Vectors generated for RTL faults were spectrally
analyzed and new vectors generated through
perturbation.
In most cases, Spectral RTL ATPG gave similar or better
test coverage in shorter CPU time as compared to
sequential ATPG
Test generation using Spectral RTL ATPG brings with it
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
Nov. 21, 2006
ATS'06
20
Thank You !
Questions ?
Nov. 21, 2006
ATS'06
21
Download