Introduction to VLSI Testing KuenJong Lee Dept of

  • Slides: 41
Download presentation
Introduction to VLSI Testing 李昆忠 Kuen-Jong Lee Dept. of Electrical Engineering National Cheng-Kung University

Introduction to VLSI Testing 李昆忠 Kuen-Jong Lee Dept. of Electrical Engineering National Cheng-Kung University Tainan, Taiwan VLSI Testing Class

Problems to Think How are you going to test VLSI Testing • A 32

Problems to Think How are you going to test VLSI Testing • A 32 bit adder • A 32 bit counter • A 32 Mb cache memory • A 107 -transistor CPU • A 109 -transistor SOC Introduction. 2 NCKUEE-KJLEE

OUTLINE • Introduction • Fault modeling • Fault simulation • Test generation • Automatic

OUTLINE • Introduction • Fault modeling • Fault simulation • Test generation • Automatic test pattern generation (ATPG) • Design for testability • Built-in self test • Synthesis for testability • An example VLSI Testing Introduction. 3 NCKUEE-KJLEE

Basic Concept of Testing: To tell whether a circuit is good or bad VDD

Basic Concept of Testing: To tell whether a circuit is good or bad VDD 0 0 0/1 Related fields Verification: To verify the correctness of a design Diagnosis: To tell the faulty site Reliability: To tell whether a good system will work correctly or not after some time. Debug: To find the faulty site and try to eliminate the fault VLSI Testing Introduction. 4 NCKUEE-KJLEE

Why Studying Testing? • Economics! - Reduce test cost (enhance profit) w Automatic test

Why Studying Testing? • Economics! - Reduce test cost (enhance profit) w Automatic test equipment (ATE) is extremely expensive - Shorten time-to-market w Market dominating or sharing - Guarantee IC quality and reliability Rule of Ten: Cost to detect faulty IC increases by an order of magnitude VLSI Testing Defects detected in Wafer Packaged chip Board System Field Introduction. 5 Cost 0. 01 – 0. 1 – 10 10 – 1000 NCKUEE-KJLEE

Principle of Testing Input Patterns -1011 11 -00 -0 -101 --0 0 -101 Stored

Principle of Testing Input Patterns -1011 11 -00 -0 -101 --0 0 -101 Stored Correct Response Output Response Circuit under Test (CUT) 1 -001 0011 -1101 100101 -11 Comparator Test Result • Testing typically consists of - Applying set of test stimuli (input patterns, test vectors) to inputs of circuit under test (CUT), and - Analyzing output responses • The quality of the tested circuits will depend upon the thoroughness of the test vectors VLSI Testing Introduction. 6 NCKUEE-KJLEE

Importance of testing N = # transistors in a chip p = prob. (a

Importance of testing N = # transistors in a chip p = prob. (a transistor is faulty) Pf = prob. (the chip is faulty) Pf = 1 - (1 - p) N If p = 10 -6 N = 106 Pf = 63. 2% VLSI Testing Introduction. 7 NCKUEE-KJLEE

Introduction • Integrated Circuits (ICs) have grown in size and complexity since the late

Introduction • Integrated Circuits (ICs) have grown in size and complexity since the late 1950’s - Small Scale Integration (SSI) Medium Scale Integration (MSI) Large Scale Integration (LSI) Very Large Scale Integration (VLSI) • Moore’s Law: scale of ICs doubles every 18 months - Growing size and complexity poses many and new testing challenges VLSI Testing Introduction. 8 VLSI M LSI S S S I I NCKUEE-KJLEE

Importance of Testing • Moore’s Law results from decreasing feature size (dimensions) - from

Importance of Testing • Moore’s Law results from decreasing feature size (dimensions) - from 10 s of m to 10 s of nm for transistors and interconnecting wires • Operating frequencies have increased from 100 KHz to several GHz • Decreasing feature size increases probability of defects during manufacturing process - A single faulty transistor or wire results in faulty IC - Testing required to guarantee fault-free products VLSI Testing Introduction. 9 NCKUEE-KJLEE

Difficulties in Testing • Fault may occur anytime - Design Process Package Field •

Difficulties in Testing • Fault may occur anytime - Design Process Package Field • Fault may occur at any place Vdd Vss • VLSI circuit are large - Most problems encountered in testing are NP-complete • VLSI Testing I/O access is limited Introduction. 10 NCKUEE-KJLEE

How to do testing From designer’s point of view: • Circuit modeling • Fault

How to do testing From designer’s point of view: • Circuit modeling • Fault modeling Modeling • Logic simulation • Fault simulation • Test generation ATPG • Design for test • Built-in self test Testable design • Synthesis for testability VLSI Testing Introduction. 11 NCKUEE-KJLEE

Circuit Modeling • Functional model--- logic function - f(x 1, x 2, . .

Circuit Modeling • Functional model--- logic function - f(x 1, x 2, . . . )=. . . - Truth table • Behavioral model--- functional + timing - f(x 1, x 2, . . . )=. . . , Delay = 10 • Structural model--- collection of interconnected components or elements A B E 1 0 C D VLSI Testing 1 0 G 0 F Introduction. 12 NCKUEE-KJLEE

Levels of Structural Description • Switch level • Circuit level VDD C C 4

Levels of Structural Description • Switch level • Circuit level VDD C C 4 B VDD C 1 C 3 C 2 E • Gate level A B • Higher/ System level E G C D VLSI Testing F Introduction. 13 NCKUEE-KJLEE

Fault Modeling • The effects of physical defects • Most commonly used fault model:

Fault Modeling • The effects of physical defects • Most commonly used fault model: Single stuck-at fault A B E G C D F A s-a-1 B s-a-1 A s-a-0 B s-a-0 C s-a-1 D s-a-1 C s-a-0 D s-a-0 E s-a-1 F s-a-1 E s-a-0 F s-a-0 G s-a-1 G s-a-0 14 faults • Other fault models: - Break faults, Bridging faults, Transistor stuck-open faults, Transistor stuck-on faults, Delay faults VLSI Testing Introduction. 14 NCKUEE-KJLEE

Fault Coverage (FC) FC = # faults detected # faults in fault list Example:

Fault Coverage (FC) FC = # faults detected # faults in fault list Example: a b 1 0 0 1 0 Test {(0, 0)} {(0, 1)} {(1, 1)} {(0, 0), (1, 1)} {(1, 0), (0, 1), (1, 1)} VLSI Testing 6 stuck-at faults ( a 0, a 1, b 0, b 1, c 0, c 1 ) c 1 faults detected c 1 a 1, c 1 a 0, b 0, c 1 all Introduction. 15 FC 16. 67% 33. 33% 50. 00% 66. 67% 100. 00% NCKUEE-KJLEE

Wafer Yield (Chip Yield, Yield) Good Chip Faulty Chip Defects Wafer yield = 12/22

Wafer Yield (Chip Yield, Yield) Good Chip Faulty Chip Defects Wafer yield = 12/22 = 0. 55 VLSI Testing Wafer yield = 17/22 = 0. 77 Introduction. 16 NCKUEE-KJLEE

Testing and Quality IC Fabrication Shipped Parts Testing Yield: Fraction of good parts Rejects

Testing and Quality IC Fabrication Shipped Parts Testing Yield: Fraction of good parts Rejects Quality: Defective parts per million (DPM) • Quality of shipped parts is a function of yield Y and the test (fault) coverage T • Defect level (DL, reject rate in textbook): fraction of shipped parts that are defective VLSI Testing Introduction. 17 NCKUEE-KJLEE

Defect Level, Yield & Fault Coverage DL ~ = 1 - Y (1 -T)

Defect Level, Yield & Fault Coverage DL ~ = 1 - Y (1 -T) Yield (Y) 50% 75% 90% 95% 99% 90% 90% VLSI Testing DL: defect level Y: yield T: fault coverage Fault Coverage (T) 90% 90% 90% 95% 99. 9% Introduction. 18 DPM (DL) 67, 000 28, 000 10, 000 5, 000 1, 000 100 NCKUEE-KJLEE

Logic simulation • To determine how a good circuit should work • Given input

Logic simulation • To determine how a good circuit should work • Given input vectors, determine the normal circuit response A B C B D C G F E C CC 1 A I CC 2 B RB CDE C JE IR IF H D VLSI Testing Introduction. 19 E NCKUEE-KJLEE

Fault simulation • To determine the behavior of faulty circuits E s. a. 0

Fault simulation • To determine the behavior of faulty circuits E s. a. 0 A 1 0 B 0 C 0 D 1/0 1 F 1/0 1 G 1 • Given a test vector, determine all faults that are detected by this test vector. Example: VLSI Testing A 1 B 1 0 C Introduction. 20 Test vector (1 1) detects { a 0, b 0, c 1} NCKUEE-KJLEE

Test generation • Given a fault, identify a test to detect this fault 1

Test generation • Given a fault, identify a test to detect this fault 1 Example: 0 1/0 A B D 1 1/0 F 1 C 0 E To detect D s-a-0, D must be set to 1. Thus A=B=1. To propagate fault effect to the primary output E must be 1. Thus C must be 0. Test vector: A=1, B=1, C=0 VLSI Testing Introduction. 21 NCKUEE-KJLEE

Automatic Test Pattern Generation Ÿ ATPG: Given a circuit, identify a set of test

Automatic Test Pattern Generation Ÿ ATPG: Given a circuit, identify a set of test vectors to detect all faults under consideration. Input circuit Form fault list More faults? No Exit Yes Fault dropping Select a fault Test generation Fault simulation VLSI Testing Introduction. 22 NCKUEE-KJLEE

Difficulties in Test Generation 1. Reconvergent fanout A 0 B 1 C VLSI Testing

Difficulties in Test Generation 1. Reconvergent fanout A 0 B 1 C VLSI Testing 0/1 1 s-a-1 0 Cannot detect the fault D 1 0/1 1 F Fault detected 0 E Introduction. 23 NCKUEE-KJLEE

Difficulties in Test Generation (cont. ) 2. Sequential test generation PIs Combinational part Y

Difficulties in Test Generation (cont. ) 2. Sequential test generation PIs Combinational part Y Y VLSI Testing J K CK Introduction. 24 POs clk NCKUEE-KJLEE

Testable Design • Design for testability (DFT) • ad hoc techniques • Scan design

Testable Design • Design for testability (DFT) • ad hoc techniques • Scan design • Boundary Scan • Built-In Self Test (BIST) • Random number generator (RNG) • Signature Analyzer (SA) • Synthesis for Testability VLSI Testing Introduction. 25 NCKUEE-KJLEE

Example of ad hoc Techniques Insert test points MUX T/N VLSI Testing Introduction. 26

Example of ad hoc Techniques Insert test points MUX T/N VLSI Testing Introduction. 26 NCKUEE-KJLEE

Scan Design Original design Modified design POs PIs POs Combinational logic SO FF SFF

Scan Design Original design Modified design POs PIs POs Combinational logic SO FF SFF FF VLSI Testing SFF T/N Introduction. 27 SI NCKUEE-KJLEE

Scan Cell Design D Q Q DI SI CK N/T (SE) Q DI MUX

Scan Cell Design D Q Q DI SI CK N/T (SE) Q DI MUX DI D Q Q, SO CK Q, SO DI F F SI F FT F + FT Most cell libraries now have scan cells! VLSI Testing Introduction. 28 NCKUEE-KJLEE

Scan Register Combinational Circuits SO Q D Q D SI SI SI Q D

Scan Register Combinational Circuits SO Q D Q D SI SI SI Q D SI SE CLK VLSI Testing Introduction. 29 NCKUEE-KJLEE

Boundary Scan I/O Pad Boundary scan cell Boundary scan path TRST* TDI Sout Misc.

Boundary Scan I/O Pad Boundary scan cell Boundary scan path TRST* TDI Sout Misc. registers TMS TCK TDO VLSI Testing APPLICATION LOGIC T A P M U X Instruction register BIST register Bypass register Scan register Sin TRST*: Test rest (Optional) TDI: Test data input TD 0: Test data output TCK: Test clock TMS: Test mode select Introduction. 30 NCKUEE-KJLEE

Boundary Scan (Cont. ) TRST* TDI Sout APPLICATION LOGIC TDI Sout Misc. registers TMS

Boundary Scan (Cont. ) TRST* TDI Sout APPLICATION LOGIC TDI Sout Misc. registers TMS TCK BIST register Bypass register TCK Scan register M U X TDO TMS Instruction register T A P Sin TDO T A P TDI Sout APPLICATION LOGIC Scan register Sin TDI Sout T A P M U X APPLICATION LOGIC Misc. registers TMS VLSI Testing BIST register Bypass register M U X Misc. registers TDO Instruction register TRST* TCK APPLICATION LOGIC Misc. registers Instruction register BIST register Bypass register TCK Scan register Sin Introduction. 31 TDO T A P M U X Instruction register BIST register Bypass register Scan register Sin NCKUEE-KJLEE

Built-In-Self Test (BIST) Ÿ Places the job of device testing inside the device itself

Built-In-Self Test (BIST) Ÿ Places the job of device testing inside the device itself Ÿ Generates its own stimulus and analyzes its own response mux circuit under test BIST Controller biston VLSI Testing Introduction. 32 to system Response Analyzer pattern generator from system good/fail bistdone NCKUEE-KJLEE

Built-In-Self Test (BIST) (Cont. ) • Two major tasks - Test pattern generation -

Built-In-Self Test (BIST) (Cont. ) • Two major tasks - Test pattern generation - Test result compaction • Usually implemented by linear feedback shift register F/F VLSI Testing F/F Introduction. 33 F/F NCKUEE-KJLEE

Random Number Generator (RNG) F/F · 0001 1000 0100 0010 1001 1100 0110 1011

Random Number Generator (RNG) F/F · 0001 1000 0100 0010 1001 1100 0110 1011 0101 1010 1101 1110 1111 0011 0001 (repeat) 1. Generate “pseudo” random patterns 2. Period is 2 n - 1 VLSI Testing Introduction. 34 NCKUEE-KJLEE

Signature Analyzer (SA) Input sequence 10101111 (8 bits) Time 0 1. . 5 6

Signature Analyzer (SA) Input sequence 10101111 (8 bits) Time 0 1. . 5 6 7 8 + 1 Input stream Register contents 10101111 00000 1010111 10000. . 101 01111 10 00010 1 00001 00101 Remainder VLSI Testing 2 Introduction. 35 + 3 4 + 5 Z Output stream Initial state 1 01 101 Quotient NCKUEE-KJLEE

Signature Analyzer (SA) (cont. ) • A LFSR performs polynomial division • Probability of

Signature Analyzer (SA) (cont. ) • A LFSR performs polynomial division • Probability of aliasing error = 1/2 n (n: # of FFs) VLSI Testing Introduction. 36 NCKUEE-KJLEE

Memory BIST Architecture Before After di addr Memory Module data sys_di data sys_addr sys_wen

Memory BIST Architecture Before After di addr Memory Module data sys_di data sys_addr sys_wen clk q hold_l Memory rst_l Module test_h si se wen VLSI Testing Introduction. 37 so NCKUEE-KJLEE

rst_l clk hold_l test_h di addr wen Memory Module compress_h clk rst si se

rst_l clk hold_l test_h di addr wen Memory Module compress_h clk rst si se data Compressor sys_addr sys_d isys_wen Algorithm-Based Pattern Generator Memory BIST Architecture (Cont. ) q so BIST Circuitry VLSI Testing Introduction. 38 NCKUEE-KJLEE

CPU Test Control Architecture Scan_i Scan path Scan_o Scan_en logic rst_l clk hold_l test_h

CPU Test Control Architecture Scan_i Scan path Scan_o Scan_en logic rst_l clk hold_l test_h Bist Memory control bist_si bist decoder compressor bist_so scan decoder MUX bist_se TDO int_scan mbist decoder TDI IR TCK TMS VLSI Testing TAP Controller Introduction. 39 NCKUEE-KJLEE

Problems re-thinking • A 32 -bit adder --- ATPG • A 32 -bit counter

Problems re-thinking • A 32 -bit adder --- ATPG • A 32 -bit counter --- Design for testability + ATPG • A 32 MB Cache memory --- BIST • A 107 -transistor CPU --- All test techniques • An SOC VLSI Testing Introduction. 40 NCKUEE-KJLEE

Conclusions • • Testing is becoming a major factor in design optimization Conventionally, the

Conclusions • • Testing is becoming a major factor in design optimization Conventionally, the designer often optimize one of the three attributes: speed, area, and power. At present, a fourth attribute is considered: Testability. Two major fields in testing Ø ATPG --- Fault simulation --- Test generation Ø Testable design --- Design for testability --- Built-in self-test --- Synthesis for testability VLSI Testing Introduction. 41 NCKUEE-KJLEE