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