ELEC 5970-001/6970-001(Fall 2005) Special Topics in Electrical Engineering Low-Power Design of Electronic Circuits Test Power Vishwani D. Agrawal James J. Danaher Professor Department of Electrical and Computer Engineering Auburn University http://www.eng.auburn.edu/~vagrawal vagrawal@eng.auburn.edu 11/17/05 ELEC 5970-001/6970-001 Lecture 20 1 Test Power Problem • A circuit is designed for certain function. Its design must allow the power consumption necessary to execute that function. • Power buses are laid out to carry the maximum current necessary for the function. • Heat dissipation of package conforms to the average power consumption during the intended function. 11/17/05 ELEC 5970-001/6970-001 Lecture 20 2 Testing Differs from Function Other chips System inputs System outputs VLSI chip system Functional inputs 11/17/05 Functional outputs ELEC 5970-001/6970-001 Lecture 20 3 Basic Mode of Testing Packaged or unpackaged device under test (DUT) DUT output for comparison with expected response stored in ATE VLSI chip Test vectors: Pre-generated and stored in ATE 11/17/05 Clock Power Automatic Test Equipment (ATE): Control processor, vector memory, timing generators, power module, response comparator ELEC 5970-001/6970-001 Lecture 20 4 Functional Inputs vs. Test Vectors • Functional inputs: • Functionally meaningful signals • Generated by circuitry • Restricted set of inputs • May have been optimized to reduce logic activity and power 11/17/05 • Test vectors: • Functionally irrelevant signals • Generated by software to test faults • Can be random or pseudorandom • May be optimized to reduce test time; can have high logic activity • May use testability logic for test application ELEC 5970-001/6970-001 Lecture 20 5 An Example VLSI chip in system operation 3-bit random vectors Binary to decimal converter 8-bit 1-hot VLSI chip vectors system VLSI chip under test High activity 8-bit test vectors from ATE 11/17/05 VLSI chip ELEC 5970-001/6970-001 Lecture 20 6 Reducing Comb. Test Power 1 V1 V2 V3 V4 V5 1 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 10 input transitions V1 3 4 V2 3 3 2 V4 2 1 V3 1 V5 2 Traveling salesperson problem (TSP): Find the shortest distance closed path (or cycle) to visit all nodes exactly once. V1 V3 V5 V4 V2 1 0 0 0 1 5 input transitions 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 11/17/05 ELEC 5970-001/6970-001 Lecture 20 7 Traveling Salesperson Problem • A. V. Aho, J. E. Hopcroft anf J. D. Ullman, Data Structures and Algorithms, Reading, Massachusetts: Addison-Wesley, 1983. • E. Horowitz and S. Sahni, Fundamentals of Computer Algorithms, Computer Science Press, 1984. 11/17/05 ELEC 5970-001/6970-001 Lecture 20 8 Scan Testing Primary inputs Primary outputs Combinational logic Scan-out SO Scan enable SE Scan-in SI 11/17/05 Scan flipflops D D SI ELEC 5970-001/6970-001 Lecture 20 1 0 SO mux D’ SE DFF D’ 9 Example: State Machine Functional transitions S1 S5 S4 S2 S3 Reduced power state encoding S1 = 000 S2 = 011 S3 = 001 S4 = 010 S5 = 100 11/17/05 State transition Comb. Input changes 000 → 001 1 000 → 100 1 011 → 010 1 001 → 011 1 010 → 000 1 100 → 010 2 ELEC 5970-001/6970-001 Lecture 20 10 Scan Testing of State Machine Primary inputs Combinational logic Primary outputs Test transitions State transition Comb. Input changes FF=0 100 → 010 2 FF=0 010 → 101 3 FF=1 101 → 010 3 Scan-out 100 Scan-in 010 11/17/05 ELEC 5970-001/6970-001 Lecture 20 11 Low Power Scan Flip-Flop SO SI D DFF 1 D’ SI 0 mux D mux SO DFF D’ SE SE Scan FF cell 11/17/05 Low power scan FF cell ELEC 5970-001/6970-001 Lecture 20 12 Built-In Self-Test (BIST) Linear feedback shift register (LFSR) BIST Controller Pseudo-random patterns Circuit under test (CUT) Circuit responses Multiple input signature register (MISR) Clock C. E. Stroud, A Designer’s Guide to Built-In Self-Test, Boston: Kluwer Academic Publishers, 2002. 11/17/05 ELEC 5970-001/6970-001 Lecture 20 13 Test Scheduling Example R1 R2 M1 M2 R3 R4 A datapath 11/17/05 ELEC 5970-001/6970-001 Lecture 20 14 BIST Configuration 1: Test Time M1 MISR1 LFSR2 M2 Test power LFSR1 T2: test for M2 T1: test for M1 MISR2 Test time 11/17/05 ELEC 5970-001/6970-001 Lecture 20 15 BIST Configuration 2: Test Power M1 MISR1 LFSR2 M2 Test power R1 T1: test for M1 T2: test for M2 MISR2 Test time 11/17/05 ELEC 5970-001/6970-001 Lecture 20 16 Testing of MCM and SOC • Test resources: Typically registers and multiplexers that can be reconfigured as test pattern generators (e.g., LFSR) or as output response analyzers (e.g., MISR). • Test resources (R1, . . . ) and tests (T1, . . . ) are identified for the system to be tested. • Each test is characterized for test time, power dissipation and resources it requires. 11/17/05 ELEC 5970-001/6970-001 Lecture 20 17 Resource Allocation Graph T1 R1 11/17/05 R2 T2 R3 T3 R4 T4 R5 T5 R6 ELEC 5970-001/6970-001 Lecture 20 R7 T6 R8 R9 18 Test Compatibility Graph (TCG) T1 (2, 100) T6 (1, 100) T2 (1,10) T5 (2, 10) T3 (1, 10) Power Pmax = 4 11/17/05 Test time T4 (1, 5) Tests that form a clique can be performed concurrently. ELEC 5970-001/6970-001 Lecture 20 19 Test Scheduling Algorithm • Identify all possible cliques in TCG: • • • • • C1 = {T1, T3, T5} C2 = {T1, T3, T4} C3 = {T1, T6} C4 = {T2, T5} C5 = {T2, T6} • Break up clique sets into power compatible sets (PCS), that satisfy the power constraint. 11/17/05 ELEC 5970-001/6970-001 Lecture 20 20 Test Scheduling Algorithm . . . • PCS (Pmax = 4), tests within a set are ordered for decreasing test length: • • • • • C1 = {T1, T3, T5} → (T1, T3), (T1, T5), (T3, T5) C2 = {T1, T3, T4} → (T1, T3, T4) C3 = {T1, T6} → (T1, T6) C4 = {T2, T5} → (T2, T5) C5 = {T2, T6} → (T2, T6) • Expand PCS into subsets of decreasing test lengths. Each subset is an independent test session, consisting of tests that can be concurrently applied. • Select test sessions to cover all tests such that the added time of selected sessions is minimum. 11/17/05 ELEC 5970-001/6970-001 Lecture 20 21 TS Algorithm: Cover Table Test sessions T1 (T1, T3, T4) X (T1, T5) X (T1, T6) X (T2, T6) T2 (T3, T4) T4 X X T6 X X X 100 X 100 X 100 X 10 X 10 X 10 X X Length 100 X (T5) (T4) T5 X (T3, T5) (T2, T5) T3 10 5 Selected sessions are (T3,T4), (T2, T5) and (T1, T6). Test time = 120. 11/17/05 ELEC 5970-001/6970-001 Lecture 20 22 A System Example: ASIC Z* RAM 2 Time=61 Power=241 ROM 1 Time=102 Power=279 RAM 3 Time=38 Power=213 ROM 2 Time=102 Power=279 Random logic 1, time=134, power=295 Random logic 2, time=160, power=352 RAM 4 Time=23 Power=96 RAM 1 Time=69 Power=282 Reg. file Time = 10 Power=95 *Y. Zorian, “A Distributed Control Scheme for Complex VLSI Devices,” Proc. VLSI Test Symp., April 1993, pp. 4-9. 11/17/05 ELEC 5970-001/6970-001 Lecture 20 23 Test Scheduling for ASIC Z 1200 Reg. file Power limit = 900 Power 900 600 RAM 2 RAM 3 Random logic 1 ROM 1 300 RAM 1 Random logic 2 ROM 2 RAM 4 0 200 300 400 Test time 331 •R. M. Chou, K. K. Saluja and V. D. Agrawal, “Scheduling Tests for VLSI Systems under Power Constraints,” IEEE Trans. VLSI Systems, vol. 5, no. 2, pp. 175-185, June 1997. 11/17/05 100 ELEC 5970-001/6970-001 Lecture 20 24 References • N. Nicolici and B. M. Al-Hashimi, PowerConstrained Testing of VLSI Circuits, Boston: Kluwer Academic Publishers, 2003. • E. Larsson, Introduction to Advanced System-on-Chip Test Design and Optimization, Springer 2005. 11/17/05 ELEC 5970-001/6970-001 Lecture 20 25