Nitin Yogi NVIDIA Corporation, Santa Clara, CA 95050 Vishwani D. Agrawal Auburn University, Dept. of Elec. & Comp. Engg. Auburn, AL 36849, U.S.A. 20th April 2010 28th IEEE VLSI Test Symposium Santa Cruz, CA Introduction Propose an information and noise analysis method for digital signals using Hadamard transform. Analysis identifies information (spectrally structured) and noise (random) contents of the signal in relative measures. The analysis is useful in a variety of applications like test generation, BIST, test compression, etc. We illustrate its application to test generation. 4/20/2010 VTS'10, Santa Cruz, CA 2 Test Vectors and Bit-streams Outputs June 12, 2009 Input 3 Input 4 Input 5 1 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1 Nitin Yogi - Doctoral Defense Input J Input 2 Vector 8 → 1 0 1 1 0 0 1 1 . . . . . . . . . . . . . . . . 1 1 0 1 0 0 1 0 Time in clocks Vector 1 → Vector 2 → Vector 3 → Vector 4 → Vector 5 → Vector 6 → Vector 7 → Input 1 Circuit Under Test (CUT) A digital binary bitstream signal vector 3 Hadamard Transform • Hadamard transform transforms a digital signal from time domain to frequency-related domain. w0 • Uses Walsh functions, which are a complete orthogonal set of basis functions that can represent any arbitrary bit-stream. • Can be used for binary signals by using the representation {0,1} -> {-1,1} H(8) = 4/20/2010 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 Example of Hadamard matrix of order 8 Walsh functions (order 3) w1 w2 w3 w4 w5 w6 w7 time VTS'10, Santa Cruz, CA 4 Hadamard transformation Forward transformation (time domain to spectral domain): 1 S H ( N ) X N where: X H(N) S Time domain digital signal vector of stream of N bits Hadamard transform matrix of order N Hadamard transform (Walsh spectrum) of X Reverse transformation (spectral domain to time domain): 1 H ( N ) S X N 4/20/2010 VTS'10, Santa Cruz, CA 5 Properties of Hadamard Transform • Orthogonality and symmetry H ( N ) H ( N ) N I ( N ) T • Energy conservation N 1 X k 0 N 1 2 ( k ) S ( j ) 2 j 0 where: H(N) X S 4/20/2010 Hadamard transform matrix of order N Binary bit-stream vector in time domain Hadamard transform in spectral domain (Walsh spectrum) VTS'10, Santa Cruz, CA 6 Energy Analysis Total energy in a {-1,+1} binary signal of length N clocks in time domain: N 1 X k 0 N 1 2 (k ) (1) N k 0 Total energy in spectrum: N 1 N 1 j 0 k 0 2 2 S ( j ) X (k ) N 4/20/2010 VTS'10, Santa Cruz, CA 7 Analysis of random binary bit-streams Values of spectral components of random binary bit- streams can be approximated as Gaussian distribution Mean (µ) = 0 Standard deviation (σ) Equal to N (by energy conservation) 2 1 N 1 2 Sr ( j) Sr 1 N j 0 Equal to 0 (since mean = 0) where: Sr(j) jth spectral component of a random binary bit-stream of length N Sr 4/20/2010 2 Square of the mean of Sr(j) VTS'10, Santa Cruz, CA 8 Spectral coefficients of random bit-stream • • 500 samples of random binary bit-streams of length 64 were generated Distribution of values of spectral components analyzed Spectral components • Mean = 0.0035 ≈ 0 below a magnitude of • Standard deviation = 1.000425 ≈ 1 2σ or 3σ can be treated as noise components 3σ (99.73%) 2σ (95.45%) 1σ (68.27%) Frequency of occurrence 3500 3000 2500 2000 1500 1000 500 0 -4 -3 -2 -1 0 1 2 3 4 Amplitude 4/20/2010 VTS'10, Santa Cruz, CA 9 Generating spectral bit-streams 1. Perform Hadamard transform on binary bit-stream. 2. Filter out noise-like spectral components having magnitudes less than a spectral threshold (Energy conservation of the transfom transfers the energy of filtered components to noise). 3. Perform reverse Hadamard transform to obtain time- domain values in the range (-1,+1) for bits in the bitstream. 4. Time-domain values are normalized to range (0,1) and used as probabilities of logic 1 in new random bit-streams. 4/20/2010 VTS'10, Santa Cruz, CA 10 Generating spectral bit-streams Example {0,1} binary bit-stream 1 0 1 1 1 0 1 0 4/20/2010 {-1,+1} binary bit stream (X) Hadamard Matrix H(3) {0,1} converted to {-1,+1} 1 √8 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 VTS'10, Santa Cruz, CA 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 = Hadamard transform (S) 1 √8 2 6 -2 2 2 -2 -2 2 11 Example of generating spectral bit-streams Hadamard transform (S) of 8-bit binary bitstream 1 √8 1 1 1 1 1 1 1 1 1 -1 1 -1 1 -1 1 -1 1 1 -1 -1 1 1 -1 -1 2 6 -2 2 2 -2 -2 2 1 √8 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 0 6/√8 0 0 0 0 0 0 Time-domain Reverse transformation 4/20/2010 0 6/√8 0 0 0 0 0 0 Spectral threshold =2σ=2 VTS'10, Santa Cruz, CA 0.75 -0.75 0.75 -0.75 0.75 -0.75 0.75 -0.75 Unfiltered spectral component 0’s are filtered spectral coefficients Probabilities for generating bit-streams [X(k)+1] 2 0.875 0.125 0.875 0.125 0.875 0.125 0.875 0.125 Normalization for probabilities 12 Generated spectral bit-streams Original {0,1} binary bitstream Unfiltered spectral component 1 -1 1 1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 bit difference between original bitstream & unfiltered spectral component 4/20/2010 Randomly generated bit-streams from probabilities Probabilities for generating bit-stream 0.875 0.125 0.875 0.125 0.875 0.125 0.875 0.125 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 Generated bit-streams exhibit similar correlation with the unfiltered spectral component as the original bit-stream. Few bits changed by noise are shown in red. VTS'10, Santa Cruz, CA 13 Application of analysis Application of spectral information analysis: Test generation, BIST, Test data compression, etc. Illustration of effectiveness of analysis using test generation Test vectors generated for RTL faults (PIOs & flip- flops) Generate spectral vectors & fault grade on circuit Compare with random, weighted random & randomly perturbed vectors Analysis applied to ISCAS’89 benchmark circuits 4/20/2010 s1488, s5378 & s38417 VTS'10, Santa Cruz, CA 14 Spectral coefficients & power analysis for s1488 32 vectors were generated to detect RTL faults (PIOs & FFs) & analyzed using H(32) Inputs Spectral Coefficient Amplitude Power Noise Power Input 1 w0 w1 w13 w1 w19 w0 w22 w1 w5 w19 w23 w4 w22 w1 w5 w30 w4 w12 w22 0.75 0.5 -0.38 0.56 0.44 0.63 -0.38 -0.5 0.5 0.5 0.5 0.5 0.5 0.5 -0.38 0.38 0.38 0.38 0.38 0.56 0.25 0.14 0.32 0.19 0.39 0.14 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.14 0.14 0.14 0.14 0.14 0.44 Input 2 Input 3 Input 4 Input 5 Input 6 Input 7 Input 8 4/20/2010 VTS'10, Santa Cruz, CA 0.61 0.49 0.47 0 0.5 0.47 0.58 15 Gate level coverage for s1488 100 95 Spectral Test coverage (%) 90 RTL+Spectral 85 80 RTL+Random Pertb. (5%) 75 70 RTL+Weighted Random 65 60 RTL vector coverage = 56.45% RTL+Random Vecs. 55 0 500 1000 1500 Number of vectors 4/20/2010 VTS'10, Santa Cruz, CA 16 Gate level coverage for s5378 78 Spectral Test coverage (%) 77 76 RTL+Spectral 75 74 RTL+Random Pertb. (2%) 73 72 RTL+Weighted Random 71 70 RTL+Random Vecs. RTL vector coverage = 70.15% 69 0 2000 4000 6000 8000 10000 Number of vectors 4/20/2010 VTS'10, Santa Cruz, CA 17 Gate level coverage for for s38417 Test coverage (%) 60 50 Spectral 40 RTL+Spectral 30 RTL+Random Pertrb.(10%) RTL vector coverage = 29.47% 20 RTL+Weighted Random 10 RTL+Random vecs. 0 0 10000 20000 30000 40000 Number of vectors 4/20/2010 VTS'10, Santa Cruz, CA 18 Conclusion Proposed an information analysis framework to distinguish noise from signal content Illustrated effectiveness of method for the application of test generation The method can easily be extended to other applications like BIST and test compression. See, N. Yogi and V. D. Agrawal, “BIST/Test-Compressor Design using Combinational Test Spectrum,” Proc. 13th IEEE VLSI Design & Test Symp. (VDAT), July 2009, pp. 443-454. N. Yogi and V. D. Agrawal, “Sequential Circuit BIST Synthesis using Spectrum and Noise from ATPG Patterns” Proc. 17th IEEE Asian Test Symp. (ATS), Nov 2008, pp. 69-74. There is potential for further applications. 4/20/2010 VTS'10, Santa Cruz, CA 19 Thank you Questions please? 4/20/2010 VTS'10, Santa Cruz, CA 20 Test generation comparison with commercial tool Test generation: Circuit name RTL-ATPG spectral tests FlexTest gate-level ATPG Coverage (%) No. of vectors CPU* (secs) Coverage (%) No. of vectors CPU* (secs) s1488 95.65 512 103 98.42 470 131 s5378 76.49 2432 2088 76.79 835 4439 N. Yogi and V. D. Agrawal, “Spectral RTL Test Generation for Gate-Level Stuck-at Faults,” Proc. 15th IEEE Asian Test Symp. (ATS), Nov 2006, pp. 83-88. * Sun Ultra 5, 256MB RAM BIST: Circuit name FlexTest gate-level ATPG BIST gate-level fault coverage (%) Coverage (%) No. of vectors 64k random vectors 64k weighted random vectors Spectral BIST (64k vectors) s1488 97.31 736 92.13 97.11 97.11 s5378 77.06 739 74.39 76.84 78.28 s38417 49.62 55110 13.42 15.87 54.59 N. Yogi and V. D. Agrawal, “Sequential Circuit BIST Synthesis using Spectrum and Noise from ATPG Patterns,” Proc. 17th IEEE Asian Test Symp. (ATS), Nov 2008, pp. 69-74. 4/20/2010 VTS'10, Santa Cruz, CA 21