ELEC 5270/6270 Fall 2007 Low-Power Design of Electronic Circuits Test Power Vishwani D. Agrawal James J. Danaher Professor Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL 36849 vagrawal@eng.auburn.edu http://www.eng.auburn.edu/~vagrawal/COURSE/E6270_Fall07/course.html Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 1 Power Considerations in Design 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. Layout design and verification must account for “hot spots” and “voltage droop” – delay, coupling noise, weak signals. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 2 Testing Differs from Functional Operation Other chips System inputs System outputs VLSI chip system Functional outputs Functional inputs Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 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 Copyright Agrawal, 2007 Clock Power Automatic Test Equipment (ATE): Control processor, vector memory, timing generators, power module, response comparator ELEC6270 Fall 07, Lecture 9 4 Functional Inputs vs. Test Vectors Functional inputs: Test vectors: Functionally meaningful signals Generated by circuitry Restricted set of inputs May have been optimized to reduce logic activity and power Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 Functionally irrelevant signals Generated by software to test modeled 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 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 Copyright Agrawal, 2007 VLSI chip ELEC6270 Fall 07, Lecture 9 6 Comb. Circuit Power Optimization Given a set of test vectors Reorder vectors to minimize the number of transitions at primary inputs 01010101 00110011 00001111 11 transitions Combinational circuit (tested by exhaustive vectors) 01111000 Rearranged vector set 00110011 00011110 Copyright Agrawal, 2007 produces 7 transitions ELEC6270 Fall 07, Lecture 9 7 Reducing Comb. Test Power Original tests: 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 Reordered tests: V1 V3 V5 V4 V2 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 5 input transitions Copyright Agrawal, 2007 1 V1 3 4 V2 3 3 2 2 V4 1 V3 1 V5 2 Traveling salesperson problem (TSP) finds the shortest distance closed path (or cycle) to visit all nodes exactly once. But, we need an open loop solution. ELEC6270 Fall 07, Lecture 9 8 Open-Loop TSP 1 3 V1 0 V0 0 0 0 2 3 V4 4 V2 2 1 3 V3 1 V5 2 0 Add a node V0 at distance 0 from all other nodes. Solve TSP for the new graph. Delete V0 from the solution. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 9 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. B. R. Hunt, R. L. Lipsman, J. M. Rosenberg, K. R. Coombes, J. E. Osborn and G. J. Stuck, A Guide to MATLAB for Beginners and Experienced Users, Cambridge University Press, 2006. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 10 Scan Testing Primary inputs Primary outputs Combinational logic Scan-out SO Scan enable SE Scan-in SI Copyright Agrawal, 2007 Scan flipflops D D SI 1 0 SO mux D’ DFF D’ SE ELEC6270 Fall 07, Lecture 9 11 Example: State Machine Functional state transitions S5 S4 Functional transitions S1 S2 S3 Reduced power state encoding S1 = 000 S2 = 011 S3 = 001 S4 = 010 S5 = 100 Copyright Agrawal, 2007 State transition Comb. State input changes/clock 000 → 001 1 000 → 100 1 011 → 010 1 001 → 011 1 010 → 000 1 100 → 010 2 ELEC6270 Fall 07, Lecture 9 12 Scan Testing of State Machine Primary inputs Combinational logic Primary outputs Scan transitions State transition Per clock state changes 100 → 010 2 FF=0 010 → 101 3 FF=1 101 → 010 3 Scan-out 100 FF=0 Scan-in 010 Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 13 Low Power Scan Flip-Flop SO SI D DFF 1 D’ SI 0 mux D mux SO DFF D’ SE SE Scan FF cell Copyright Agrawal, 2007 Low power scan FF cell ELEC6270 Fall 07, Lecture 9 14 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: Springer, 2002. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 15 Test Scheduling Example R1 R2 M1 M2 R3 R4 A datapath Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 16 BIST Configuration 1: Test Time M1 MISR1 LFSR2 Test power LFSR1 M2 T2: test for M2 T1: test for M1 MISR2 Test time Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 17 BIST Configuration 2: Test Power M1 MISR1 LFSR2 Test power R1 M2 T1: test for M1 T2: test for M2 MISR2 Test time Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 18 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. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 19 Resource Allocation Graph T1 R1 R2 Copyright Agrawal, 2007 T2 R3 T3 R4 T4 R5 T5 R6 ELEC6270 Fall 07, Lecture 9 R7 T6 R8 R9 20 Test Compatibility Graph (TCG) T1 (2, 100) T6 (1, 100) T2 (1,10) T5 (2, 10) T3 (1, 10) Power Test time T4 (1, 5) Pmax = 4 Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 Tests that form a clique can be performed concurrently. 21 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. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 22 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) Greedy solution: 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, starting from the shortest-time PCS, to cover all tests. Remove redundant PCS from the selected sessions. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 23 TS Algorithm: Cover Table Test session T1 (T1, T3, T4) X (T1, T5) X (T1, T6) X (T2, T6)* T2 (T3, T4) T4 X X T5 T6 X X X X X X 100 X 100 10 X 10 10 X (T4)* 100 X X (T5)* Length 100 X (T3, T5) (T2, T5) T3 10 5 •Dropped as redundant sessions. •Selected sessions are (T3,T4), (T2, T5) and (T1, T6). Test time = 120. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 24 An ILP Solution to Cover Problem Test session Integer 0,1 variable T1 (T1, T3, T4) S1 X (T1, T5) S2 X (T1, T6) S3 X (T2, T6) S4 (T3, T5) S5 (T2, T5) S6 (T3, T4) S7 (T5) S8 (T4) S9 Constraints: Copyright Agrawal, 2007 T2 T3 T4 T5 T6 Length X X 100 X X X X X 100 X 100 X 100 X 10 X 10 X 10 X X 10 5 S1+S2+S3 ≥ 1 implies T1 is covered S4+S6 ≥ 1 implies T2 is covered similar constraints to cover T3, T4, T5 and T6 ELEC6270 Fall 07, Lecture 9 25 An ILP Solution (Cont.) Test session Si: Integer 0,1 variable T1 (T1, T3, T4) S1 X (T1, T5) S2 X (T1, T6) S3 X (T2, T6) S4 (T3, T5) S5 (T2, T5) S6 (T3, T4) S7 (T5) S8 (T4) S9 9 Minimize ∑ (Li × Si) i=1 Copyright Agrawal, 2007 T2 T3 T4 X X T5 T6 Length, Li 100 X X X X X 100 X 100 10 X 10 10 X ILP solution: X X X X 100 10 5 S3=S6=S7 = 1 S1=S2=S4=S5=S8=S9 = 0 Test length = 120 ELEC6270 Fall 07, Lecture 9 26 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. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 27 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. Copyright Agrawal, 2007 100 ELEC6270 Fall 07, Lecture 9 28 References N. Nicolici and B. M. Al-Hashimi, PowerConstrained Testing of VLSI Circuits, Boston: Springer, 2003. E. Larsson, Introduction to Advanced System-on-Chip Test Design and Optimization, Springer 2005. Copyright Agrawal, 2007 ELEC6270 Fall 07, Lecture 9 29