Spectral Testing of Digital Circuits An Embedded Tutorial Vishwani D. Agrawal Agere Systems Murray Hill, NJ 07974, USA http://cm.bell-labs.com/cm/cs/who/va January 11, 2002 02/01/20 Spectral Testing 1 Basic Idea Meaningful inputs (e.g., test vectors) of a circuit are not random. Input signals must have spectral characteristics that are different from white noise (random vectors). 02/01/20
Spectral Testing 2 References: Books A. V. Oppenheim, R. W. Schafer and J. R. Buck, Discrete-Time Signal Processing, Englewood Cliffs, New Jersey, Prentice Hall, 1999. M. A. Thornton, R. Drechsler and D. M. Miller, Spectral Techniques in VLSI CAD, Boston: Kluwer Academic Publishers, 2001. 02/01/20 Spectral Testing 3 References: Papers
A. K. Susskind, Testing by Verifying Walsh Coefficients, IEEE Trans. Comp., vol. C-32, pp. 198-201, Feb. 1983. T.-C. Hsiao and S. C. Seth, The Use of RademacherWalsh Spectrum in Random Compact Testing, IEEE Trans. Comp., vol. C-33, pp. 934-937, Oct. 1984. A. Giani, S. Sheng, M. S. Hsiao and V. D. Agrawal, Efficient Spectral Techniques for Sequential ATPG, Proc. IEEE Design & Test (DATE) Conf., March 2001, pp. 204-208. A. Giani, S. Sheng, M. S. Hsiao and V. D. Agrawal, Novel Spectral Methods for Built-In Self-Test in a System-on-aChip Environment, Proc. 19th IEEE VLSI Test Symp., Apr.-May 2001, pp. 163-168. 02/01/20 Spectral Testing 4 Statistics of Test Vectors 100% coverage Tests: a 00011 b 01100 c 10101
a b c Test vectors are not random: 1. Correlation: a = b, frequently. 2. Weighting: c has more 1s than a or b. 02/01/20 Spectral Testing 5 Spectrum of a Bit-Stream Hadamard matrix of order k gives bases for bit-streams of length 2k. Example: k=2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -1
1 1 1 H(k) x C 02/01/20 = 2 -2 -2 -2 1 0 0 0 = k.B Spectral Testing 6 Filtering Noise
Determine coefficient matrices for the input bit-streams. Eliminate minor (small) coefficients. Multiply modified coefficients with Hadamard matrix to obtain the filtered bit-streams. 02/01/20 Spectral Testing 7 Spectral ATPG Initial vectors (random) Fault simulation and vectorcompaction Fault coverage ? Add filtered vectors to test set
low Compute spectral coefficients 02/01/20 Spectral Testing ok Stop 8 ATPG RESULTS Circuit name HITEC Det vec CPU s Strategate Det vec CPU s
s5378 3231 912 1104 3639 11571 2268 b12 - - - Proptest Det vec CPU s Spectral ATPG Det vec CPU s 3643 672 36 3643 734 44 1488 33113 9659 1470 3697 28
1645 4464 24 CPU: Ultra Sparc 10 HITEC: Nierman and Patel, EDAC91 Strategate: Hsiao et al., ACMTDAES00 Proptest: Guo et al., DAC99 02/01/20 Spectral Testing 9 ATPG for b12 Faults detected 1800 Spectral ATPG 1600 1400 Proptest 1200 1000
0 2 3 4 5 6 Number of iterations 02/01/20 Spectral Testing 10 Spectral Self-Test Compute spectral coefficients for given test vectors. Save major coefficients.
Generate tests by multiplying saved coefficients with Hadamard matrix. TPG may be implemented in software or hardware. 02/01/20 Spectral Testing 11 SOC Self-Test Application Detected faults Circuit name Total faults Weighted-random patterns Ideal Rounded Spectral patterns
s5378 4603 3127 3083 3596 b12 3102 663 636 1621 Number of patterns = 70,000 02/01/20 Spectral Testing
12 Conclusion A vector sequence is efficiently represented by its spectral coefficients. Spectral analysis is useful in ATPG and BIST. Spectral TPG synthesis is an open problem. A digital circuit is a filter: Output spectrum for random inputs is the impulse 02/01/20 response. Analysis of impulse response may lead to suitable input spectrum for test and verification. Spectral Testing 13