built in self test
play

Built-in Self-test November 2, 2012 1 Introduction Test - PowerPoint PPT Presentation

Built-in Self-test November 2, 2012 1 Introduction Test generation and response evaluation done on-chip. Only a few external pins to control BIST operation. Additional hardware overhead. Additional hardware overhead. Offers


  1. Built-in Self-test November 2, 2012 1

  2. Introduction • Test generation and response evaluation done on-chip. • Only a few external pins to control BIST operation. • Additional hardware overhead. • Additional hardware overhead. • Offers a number of benefits. November 2, 2012 2

  3. BIST Motivation • Useful for field test and diagnosis: – Less expensive than a local automatic test equipment • Software tests for field test and diagnosis: – Low hardware fault coverage – Low diagnostic resolution – Slow to operate • Hardware BIST benefits: – Lower system test effort – Improved system maintenance and repair – Improved component repair – Better diagnosis November 2, 2012 3

  4. BIST – Basic Idea Test Generator CHIP Circuit Under Test (CUT) Response Compressor BIST Basics

  5. BIST Architecture TEST TEST CONTROLLER ROM M Pattern Circuit Circuit Response Response Generator Generator U = Compactor under X test Good / PI Bad PO � Note: BIST cannot test wires and transistors: � From PI pins to input MUX � From POs to output pins November 2, 2012 5

  6. BIST Costs – Chip area overhead for: • Test controller • Hardware pattern generator / response compactor • Testing of BIST hardware – Pin overhead • At least 1 pin needed to activate BIST operation – Performance overhead – Performance overhead • Extra path delays due to BIST – Yield loss • Due to increased chip area – Reliability reduction • Due to increased area – Increased BIST hardware complexity • Happens when BIST hardware is made testable November 2, 2012 6

  7. BIST Benefits • Faults tested: – Single combinational / sequential stuck-at faults – Delay faults – Single stuck-at faults in BIST hardware • BIST benefits – Reduced testing and maintenance cost – Lower test generation cost – Reduced storage / maintenance of test patterns – Simpler and less expensive ATE – Can test many units in parallel – Shorter test application times – Can test at functional system speed November 2, 2012 7

  8. BIST Techniques • Stored Vector Based – Microinstruction support – Stored in ROM • Algorithmic Hardware Test Pattern Generators Generators – Counter :: exhaustive, pseudo-exhaustive – Linear Feedback Shift Register – Cellular Automata BIST Basics - LFSR

  9. Exhaustive Pattern Generation • Shows that every state and transition works • For n -input circuits, requires all 2 n vectors • Impractical for n > 20 November 2, 2012 9

  10. Pseudo-Exhaustive Method • Partition large circuit into fanin cones – Backtrace from each PO to PIs influencing it – Test fanin cones in parallel • An illustrative example (next slide): – No. of tests reduced from 2 8 = 256 to 2 5 x 2 = 64 – No. of tests reduced from 2 8 = 256 to 2 5 x 2 = 64 November 2, 2012 10

  11. Pseudo-Exhaustive Pattern Generation November 2, 2012 11

  12. Random Pattern Testing • Generate pseudo-random patterns as test input vectors. • Evaluate fault coverage through fault simulation. • Motivation: • Motivation: – Test length may be larger. – Faster test generation. • Used to get tests for 60-80% of faults, then switch to ATPG for rest. • Some circuits may be random pattern resistant . November 2, 2012 12

  13. 100% % Fault Coverage Number of test vectors November 2, 2012 13

  14. P R P G C U T Response Evaluation November 2, 2012 14

  15. Linear Feedback Shift Register (LFSR) November 2, 2012 15

  16. What is LFSR? • A simple hardware structure based on shift register. – Linear feedback circuit. • Has a number of useful applications: – Pseudo-random number generation – Pseudo-random number generation – Response compression – Error checking (Cyclic Redundancy Code) – Data compression November 2, 2012 16

  17. Two types of LFSR Type 1 Type 2 + + D 1 D 2 D 3 D 4 D 1 D 2 D 3 D 4 • Unit delay – D Flip flop • Modulo 2 adder – XOR gate • Modulo 2 multiplier – Connection

  18. General Type-1 LFSR November 2, 2012 18

  19. LFSR Example D D D 2 D 4 3 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 + 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 D 1 D 2 D 3 D 4 1 0 1 0 0 1 0 1 1 0 1 1 f ( x ) = x 4 + x 1 + 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0

  20. LFSR - Recurrence Relation ... + + + g 1 g 2 g n-1 ... D 1 D 2 D 3 D n-1 D n I s I s a -1 a -1 a -2 a -2 a -3 ... a -3 ... a -n+1 a -n+1 a -n a -n C s a m-1 a m-2 a m-3 ... a m-n+1 a m-n ∞ � m G x ( ) = a x • Generating Function m m = 0 n • Characteristic polynomial i � f x ( ) = c x + 1 i i 1 =

  21. LFSR - Recurrence Relation (continue) n a m = � c i a m-i i = 1 ∞ = � a m x m G ( x ) m = 0 n n = � � c i a m-i x m = � c i x i � a m-i x m-i ∞ ∞ = � � c i a m-i x = � c i x � a m-i x m = 0 i = 1 m = 0 i = 1 n ∞ = � c i x i [ a -i x -i +...+ a - 1 x - 1 + � a m x m ] m = 0 i = 1 n = � c i x i [ a -i x -i +...+ a - 1 x - 1 + G ( x ) ] i = 1

  22. LFSR - Recurrence Relation (continue) n n � � ( ) � − − 1 i i i � G ( x ) = c x G ( x ) + c x a x + + a x i i − i − 1 i = 1 i = 1 n � ( ) i − i − 1 � c x a x + + a x − − i i 1 � = 1 i G ( x ) = n � � i 1 + c x i i = 1 n � ( ) i − i − 1 � c x a x + + a x i − i − 1 i = 1 ( ) = G x f ( x ) 1 � � if a = a = = a = 0 and a = 1 G ( x ) = − 1 − 2 − n + 1 − n f ( x ) G ( x ) is function of initial state and g ( x )

  23. LFSR - Definitions • If the sequence generated by an n-stage LFSR has period 2 n -1, then it is called a maximum-length sequence or m-sequence. • The characteristic polynomial associated with maximum-length sequence is called a with maximum-length sequence is called a primitive polynomial. • An irreducible polynomial is one that cannot be factored; i.e., it is not divisible by any other polynomial other than 1 and itself.

  24. Example Primitive Polynomials � x 3 + x + 1 1 0 � � � 3: 4: 1 0 5: 2 0 6: 1 0 7: 1 0 8: 6 5 1 0 16: 5 3 2 0 32: 28 27 1 0 64: 4 3 1 0 November 2, 2012 24

  25. LFSR - Theories • If the initial state of an LFSR is a -1 = a -2 = ... = a 1-n = 0, a -n = 1 then the LFSR sequence { a m } is periodic with a period that is the smallest integer k for which f(x) divides (1+x k ). • An irreducible polynomial f(x) satisfying the following two conditions is a primitive polynomial : – It has an odd number of terms including the 1 term. – If its degree n is greater than 3, then f(x) must divide ( 1 + x k ), where k = 2 n –1 BIST Basics - LFSR

  26. Properties of m-sequences The period of {a n } is p=2 n -1, that is, a p+I = a i , for all i 1. ≥ 0. ≥ ≥ ≥ 2. Starting from any nonzero state, the LFSR that generates {a n } goes through all 2 n -1 states before repeating. 3. 3. The number of 1’s differs from the number of 0’s by The number of 1’s differs from the number of 0’s by one. 4. If a window of width n is slid along an m-sequence, then each of the 2 n -1 nonzero binary n-tuples is seen exactly once in a period. 5. In every period of an m -sequence, one-half the runs have length 1, one-fourth have length 2, one-eighth have length 3, and so on. November 2, 2012 26

  27. Randomness Properties of m-sequence • m-sequences generated by LFSRs are called pseudo random sequence. – The autocorrelation of any output bit is very close to zero. – The correlation of any two output bits is very – The correlation of any two output bits is very close to zero. BIST Basics - LFSR

  28. LFSR as Pseudo-Random Pattern Generator • Standard LFSR – Produces patterns algorithmically – repeatable. – Has most of desirable randomness properties. • Need not cover all 2 n input combinations. • Long sequences needed for good fault • Long sequences needed for good fault coverage. November 2, 2012 28

  29. Weighted Pseudo-Random Pattern Generation ����� �� 1 • If p (1) at all PIs is 0.5, p F (1) = 0.5 8 = • If p (1) at all PIs is 0.5, p F (1) = 0.5 = 256 256 1 255 p F (0) = 1 – = 256 256 • Will need enormous # of random patterns to test a stuck-at 0 fault on F. • We must not use an ordinary LFSR to test this. • IBM holds patents on weighted pseudo-random pattern generator in ATE. November 2, 2012 29

  30. • LFSR p (1) = 0.5 • Solution: – Add programmable weight selection and complement LFSR bits to get p (1)’s other than 0.5. 0.5. • Need 2-3 weight sets for a typical circuit. • Weighted pattern generator drastically shortens pattern length for pseudo- random patterns. November 2, 2012 30

  31. Weighted Pattern Generator w 1 w 2 Inv . p ( output ) w 1 w 2 p ( output ) Inv . 0 0 0 ½ 1 0 1/8 0 0 0 1 ½ 1 0 7/8 1 0 1 0 ¼ 1 1 1/16 0 0 1 1 3/4 1 1 15/16 1 November 2, 2012 31

  32. How to compute weights? • Assume p(1) of primary output(s) to be 0.5. • Systematically backtrace and compute the p(1) values of all other lines. • Finally obtain the p(1) values of the • Finally obtain the p(1) values of the primary input lines. November 2, 2012 32

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend