nov. 21, 2006ats'06 1 spectral rtl test generation for gate-level stuck-at faults nitin yogi...
Post on 18-Dec-2015
219 views
TRANSCRIPT
Nov. 21, 2006 ATS'06 1
Spectral RTL Test Generation for Gate-Level Stuck-at Faults
Nitin Yogi and Vishwani D. AgrawalAuburn University, Department of ECE,
Auburn, AL 36849, USA
ATS'06 2Nov. 21, 2006
Outline
Need for High Level Testing Problem and Approach Spectral analysis and test generation RTL testing approach Experimental Results Conclusion
ATS'06 3Nov. 21, 2006
Need for High Level Testing
Motivations for high level testing:Reduced test generation complexity
Reduced time and cost for test developmentEarly resolution of testability issuesDifficulty of gate-level test generation for
black box cores with known functionality
ATS'06 4Nov. 21, 2006
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:
Generation of spectral vectors Fault simulation and vector compaction
ATS'06 5Nov. 21, 2006
Faults Modeled for an RTL Module
CombinationalLogic
FF
FF
Inputs Outputs
RTL stuck-at fault sites
A circuit is an interconnect of several RTL modules.
ATS'06 6Nov. 21, 2006
Spectral Characterization of a Digital Bit-Stream
1 1 1 1 1 1 1 11 -1 1 -1 1 -1 1 -11 1 -1 -1 1 1 -1 -11 -1 -1 1 1 -1 -1 11 1 1 1 -1 -1 -1 -11 -1 1 -1 -1 1 -1 11 1 -1 -1 -1 -1 1 11 -1 -1 1 -1 1 1 -1
H8 =
w0
w1
w2
w3
w4
w5
w6
w7
Wal
sh f
unct
ions
(or
der
8)
• Walsh functions: a complete orthogonal set of basis functions that can represent any arbitrary bit-stream.
• Walsh functions form the rows of a Hadamard matrix.
Example of Hadamard matrix of order 8time
ATS'06 7Nov. 21, 2006
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.
Essential component (others noise)
Hadamard Matrix
Bit stream
Spectral coeffs.
ATS'06 8Nov. 21, 2006
Bit-Stream Generation 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
multiplying withHadamard matrix
Ori
gin
al s
pec
tru
m
Essential component
retainedNew bit-stream
Bits changed
New spectrum
ATS'06 9Nov. 21, 2006
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.
ATS'06 10Nov. 21, 2006
Power Spectrum: “Interrupt” Signal
Spectral Coefficients
Nor
mal
ized
Pow
er
Essential components
Noise components
Randomlevel
(1/128)
PARWANProcessorCircuit
ATS'06 11Nov. 21, 2006
Power Spectrum: “Ready” Signal
Randomlevel
(1/128)
Examples of Essential
components
Examples of Noise
components
Nor
mal
ized
Pow
er
Spectral Coefficients
PARWANProcessorCircuit
ATS'06 12Nov. 21, 2006
Power Spectrum: “DataIn[5]” Signal
Randomlevel
(1/128)
Nor
mal
ized
Pow
er
Spectral Coefficients
Examples of Essential
components
Examples of Noise
components
PARWANProcessorCircuit
ATS'06 13Nov. 21, 2006
Power Spectrum: A Random SignalN
orm
aliz
ed P
ower
Averagelevel
(1/128)Spectral Coefficients
ATS'06 14Nov. 21, 2006
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.
ATS'06 15Nov. 21, 2006
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:
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.
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
ATS'06 16Nov. 21, 2006
Results for b11-A**
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
* Sun Ultra 5, 256MB RAM ** Area-optimized synthesis in Mentor’s Leonardo
No. of gate-level
faults
RTL ATPG
Spectral Test SetsFlexTest Gate-level ATPG
Gate level cov. (%)
Number of vectors
CPU* seconds
Gate level cov. (%)
Number of vectors
CPU* seconds
2380 88.84 768 737 84.62 468 1866
RTL characterization:
RTL-ATPG results:
ATS'06 17Nov. 21, 2006
b11-A Circuit
0
10
20
30
40
50
60
70
80
90
100
1 10 100 1000 10000
Number of Vectors
Te
st
Co
ve
rag
e (
%) RTL spectral
ATPG
Gate-levelATPG
Randomvectors
RTL faultvectors
ATS'06 18Nov. 21, 2006
PARWAN processor
0
10
20
30
40
50
60
70
80
90
100
1 10 100 1000 10000
No. of Vectors
Te
st
co
ve
rag
e (
%)
RTL spectralATPG
Gate-levelATPG
Randomvectors
RTL faultvectors
ATS'06 19Nov. 21, 2006
ResultsCircuit name
No. of gate-level faults
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 (%)
b01-A 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.
ATS'06 20Nov. 21, 2006
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