1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University

Slides:



Advertisements
Similar presentations
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 31/22alt1 Lecture 31 System Test (Lecture 22alt in the Alternative Sequence) n Definition n Functional.
Advertisements

Apr. 20, 2001VLSI Test: Bushnell-Agrawal/Lecture 311 Lecture 31 System Test n Definition n Functional test n Diagnostic test  Fault dictionary  Diagnostic.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
Fault Equivalence Number of fault sites in a Boolean gate circuit is = #PI + #gates + # (fanout branches) Fault equivalence: Two faults f1.
CMP238: Projeto e Teste de Sistemas VLSI Marcelo Lubaszewski Aula 2 - Teste PPGC - UFRGS 2005/I.
5/13/2015 Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Built-in Self-test.
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
Copyright 2001, Agrawal & BushnellDay-1 AM-3 Lecture 31 Testing Analog & Digital Products Lecture 3: Fault Modeling n Why model faults? n Some real defects.
Copyright 2005, Agrawal & BushnellVLSI Test: Lecture 21alt1 Lecture 21alt BIST -- Built-In Self-Test (Alternative to Lectures 25, 26 and 27) n Definition.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 71 Lecture 7 Fault Simulation n Problem and motivation n Fault simulation algorithms n Serial n Parallel.
Testability Virendra Singh Indian Institute of Science Bangalore
EE466: VLSI Design Lecture 17: Design for Testability
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4b1 Design for Testability Theory and Practice Lecture 4b: Fault Simulation n Problem and motivation.
COE 571 Digital System Testing An Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman.
Spring 08, Apr 17 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 System Test Vishwani D. Agrawal James J. Danaher.
Design for Testability Theory and Practice Lecture 11: BIST
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 251 Lecture 25 Built-In Self-Testing Pattern Generation and Response Compaction n Motivation and economics.
Test de Circuitos Integrados
Design for Testability
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11 Lecture 1 Introduction n VLSI realization process n Verification and test n Ideal and real tests.
Lecture 5 Fault Simulation
Spring 08, Mar 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 VLSI Test Principles Vishwani D. Agrawal James.
Lecture 5 Fault Modeling
Copyright 2001, Agrawal & BushnellDay-2 PM Lecture 121 Design for Testability Theory and Practice Lecture 12: System Diagnosis n Definition n Functional.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 51 Lecture 5 Fault Modeling n Why model faults? n Some real defects in VLSI and PCB n Common fault.
EE141 Chapter 1 Introduction.
1 Introduction VLSI Testing. 2 Overview First digital products (mid 1940's) Complexity:low MTTF:hours Cost:high Present day products (mid 1980's) Complexity:high.
Lecture 27 Memory and Delay-Fault Built-In Self-Testing
Testing of Logic Circuits. 2 Outline  Testing –Logic Verification –Silicon Debug –Manufacturing Test  Fault Models  Observability and Controllability.
ELEN 468 Lecture 251 ELEN 468 Advanced Logic Design Lecture 25 Built-in Self Test.
ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.
EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
5/24/2016 Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Defects, Failures and Faults.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Fault Modeling.
EE 447/EE547 1 VLSI DESIGN Lecture 10 Design for Testability.
Testimise projekteerimine: Labor 2 BIST Optimization
Introduction to CMOS VLSI Design Test. CMOS VLSI DesignTestSlide 2 Outline  Testing –Logic Verification –Silicon Debug –Manufacturing Test  Fault Models.
Modern VLSI Design 3e: Chapter 5,6 Copyright  2002 Prentice Hall PTR Adapted by Yunsi Fei Topics n Sequential machine (§5.2, §5.3) n FSM construction.
Testing of integrated circuits and design for testability J. Christiansen CERN - EP/MIC
Unit I Testing and Fault Modelling
Chapter 7. Testing of a digital circuit
Washington State University
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS Built-In Self-Test (BIST) - 1.
Testing of Digital Systems: An Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
Linear Feedback Shift Register. 2 Linear Feedback Shift Registers (LFSRs) These are n-bit counters exhibiting pseudo-random behavior. Built from simple.
Fault Models, Fault Simulation and Test Generation Vishwani D. Agrawal Department of ECE, Auburn University Auburn, AL 36849, USA
Section 1  Quickly identify faulty components  Design new, efficient testing methodologies to offset the complexity of FPGA testing as compared to.
EE434 ASIC & Digital Systems Partha Pande School of EECS Washington State University
CS/EE 3700 : Fundamentals of Digital System Design
Jan. 26, 2001VLSI Test: Bushnell-Agrawal/Lecture 51 Lecture 5 Fault Modeling n Why model faults? n Some real defects in VLSI and PCB n Common fault models.
TOPIC : Introduction to Faults UNIT 2: Modeling and Simulation Module 1 : Logical faults due to physical faults.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 51 Lecture 5 Fault Modeling n Why model faults? n Some real defects in VLSI and PCB n Common fault.
1 Modeling Synchronous Logic Circuits Debdeep Mukhopadhyay Associate Professor Dept of Computer Science and Engineering NYU Shanghai and IIT Kharagpur.
Lecture 5: Design for Testability. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 12: Design for Testability2 Outline  Testing –Logic Verification –Silicon.
VLSI Testing Lecture 14: System Diagnosis
Hardware Testing and Designing for Testability
VLSI Testing Lecture 14: Built-In Self-Test
Motivation and economics Definitions
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
VLSI Testing Lecture 15: System Diagnosis
ELEC Digital Logic Circuits Fall 2014 Logic Testing (Chapter 12)
Lecture 5 Fault Modeling
Sungho Kang Yonsei University
VLSI Testing Lecture 3: Fault Modeling
Lecture 26 Logic BIST Architectures
ELEC Digital Logic Circuits Fall 2015 Logic Testing (Chapter 12)
Test Data Compression for Scan-Based Testing
Motivation and economics Definitions
Presentation transcript:

1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University

2 Fault Modeling

3 Why Model Faults? I/O function tests inadequate for manufacturing (functionality versus component and interconnect testing) Real defects (often mechanical) too numerous and often not analyzable A fault model identifies targets for testing A fault model makes analysis possible Effectiveness measurable by experiments

4 Functional Vs Structural Testing Consider testing of a ten-input AND function We apply an input pattern Output is 0 More than one inferences possible Functional test is necessary for verification The purpose of manufacturing test is to find any faults caused due to manufacturing defects

5 Common Fault Models Single stuck-at faults Transistor open and short faults Memory faults PLA faults (stuck-at, cross-point, bridging) Functional faults (processors) Delay faults (transition, path) Analog faults

6 Stuck-at Fault The circuit is modeled as an interconnection of Boolean gates Each connecting line can have two types of faults  Stuck-at-1 (s-a-1) & Stuck-at-0 (s-a-0)  A circuit with n lines can have 3^n-1 possible stuck line combinations  An n-line circuit can have at most 2n single stuck-at faults

7 Single Stuck-at Fault Three properties define a single stuck-at fault Only one line is faulty The faulty line is permanently set to 0 or 1 The fault can be at an input or output of a gate Example: XOR circuit has 12 fault sites ( ) and 24 single stuck-at faults a b c d e f 1 0 g h i 1 s-a-0 j k z 0(1) 1(0) 1 Test vector for h s-a-0 fault Good circuit value Faulty circuit value

8 Fault Equivalence Number of fault sites in a Boolean gate circuit = #PI + #gates + # (fan-out branches). Fault equivalence: Two faults f1 and f2 are equivalent if all tests that detect f1 also detect f2. If faults f1 and f2 are equivalent then the corresponding faulty functions are identical. Fault collapsing: All single faults of a logic circuit can be divided into disjoint equivalence subsets, where all faults in a subset are mutually equivalent. A collapsed fault set contains one fault from each equivalence subset.

9 Equivalence Rules sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 AND NAND OR NOR WIRE NOT FANOUT

10 Equivalence Example sa0 sa1 Faults removed by equivalence collapsing 20 Collapse ratio = =

11 Fault Dominance If all tests of some fault F1 detect another fault F2, then F2 is said to dominate F1. Dominance fault collapsing: If fault F2 dominates F1, then F2 is removed from the fault list. When dominance fault collapsing is used, it is sufficient to consider only the input faults of Boolean gates. See the next example. If two faults dominate each other then they are equivalent.

12 Dominance Example s-a-1 F1 s-a-1 F All tests of F2 Only test of F1 s-a-1 s-a-0 A dominance collapsed fault set

13 Dominance Example sa0 sa1 Faults in blue removed by equivalence collapsing 15 Collapse ratio = = Faults in green removed by dominance collapsing

14 Dominance Fault Collapsing An n-input Boolean gate requires (n+1) single stuck-at faults to be modeled. To collapse faults of a gate, all faults from the output can be eliminated retaining one type (s-a-1 for AND and NAND; S-A-0 for OR and NOR) of fault on each input and the other type (s-a-0 for AND and NAND; s-a-1 for OR and NOR) on any one of the inputs The output faults of the NOT gate, and the wire can be removed as long as both faults on the input are retained.

15 Multiple Stuck-at Faults A multiple stuck-at fault means that any set of lines is stuck-at some combination of (0,1) values. The total number of single and multiple stuck-at faults in a circuit with k single fault sites is 3 k -1. A single fault test can fail to detect the target fault if another fault is also present, however, such masking of one fault by another is rare. Statistically, single fault tests cover a very large number of multiple faults.

16 Transistor (Switch) Faults MOS transistor is considered an ideal switch and two types of faults are modeled: Stuck-open -- a single transistor is permanently stuck in the open state. Stuck-short -- a single transistor is permanently shorted irrespective of its gate voltage. Detection of a stuck-open fault requires two vectors. Detection of a stuck-short fault requires the measurement of quiescent current (I DDQ ).

17 Stuck-Open Example Two-vector s-op test can be constructed by ordering two s-at tests A B V DD C pMOS FETs nMOS FETs Stuck- open (Z) Good circuit states Faulty circuit states Vector 1: test for A s-a-0 (Initialization vector) Vector 2 (test for A s-a-1)

18 Stuck-Short Example A B V DD C pMOS FETs nMOS FETs Stuck- short (X) Good circuit state Faulty circuit state Test vector for A s-a-0 I DDQ path in faulty circuit

19 Basic Principle of I DDQ Testing –Measure I DDQ current through V ss bus

20 DFT

21 DFT

22 SCAN DESIGN We already know this!

23 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

24 Costly Test Problems Alleviated by BIST Increasing chip logic-to-pin ratio – harder observability Increasingly dense devices and faster clocks Increasing test generation and application times Increasing size of test vectors stored in ATE Expensive ATE needed for 1 GHz clocking chips Hard testability insertion – designers unfamiliar with gate- level logic, since they design at behavioral level In-circuit testing no longer technically feasible Shortage of test engineers Circuit testing cannot be easily partitioned

25 Typical Quality Requirements 98% single stuck-at fault coverage 100% interconnect fault coverage Reject ratio – 1 in 100,000

26 BIST Architecture

27 Economics – BIST Costs  Chip area overhead for: Test controller Hardware pattern generator Hardware response compacter Testing of BIST hardware  Pin overhead -- At least 1 pin needed to activate BIST operation  Performance overhead – extra path delays due to BIST  Yield loss – due to increased chip area or more chips In system because of BIST  Reliability reduction – due to increased area  Increased BIST hardware complexity – happens when BIST hardware is made testable

28 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

29 Pattern Generation Store in ROM – too expensive Exhaustive Pseudo-exhaustive Pseudo-random (LFSR) – Preferred method Binary counters – use more hardware than LFSR Modified counters Test pattern augmentation  LFSR combined with a few patterns in ROM

30 Pseudo-Random Pattern Generation Standard Linear Feedback Shift Register (LFSR)  Produces patterns algorithmically – repeatable  Has most of desirable random # properties Need not cover all 2 n input combinations Long sequences needed for good fault coverage

31 Matrix Equation for Standard LFSR X 0 (t + 1) X 1 (t + 1). X n-3 (t + 1) X n-2 (t + 1) X n-1 (t + 1) h h h h …… …………… ……… h n h n-1 X 0 (t) X 1 (t). X n-3 (t) X n-2 (t) X n-1 (t) = X (t + 1) = T s X (t) (T s is companion matrix)

32 LFSR Implements a Galois Field  Galois field (mathematical system):  Addition operator is XOR (  )  T s companion matrix:  1 st column 0, except nth element which is always 1 (X 0 always feeds X n-1 )  Rest of row n – feedback coefficients h i  Rest is identity matrix I – means a right shift Near-exhaustive (maximal length) LFSR  Cycles through 2 n – 1 states (excluding all-0)  1 pattern of n 1’s, one of n-1 consecutive 0’s 

33 Standard n-Stage LFSR Implementation Autocorrelation – any shifted sequence same as original in 2 n-1 – 1 bits, differs in 2 n-1 bits If h i = 0, that XOR gate is deleted

34 Example of LFSR Clock tickQ0Q1Q2 Q0Q1Q

35 Example of LFSR S0S1S

36 LFSR Theory Cannot initialize to all 0’s – hangs If X is initial state, progresses through states X, T s X, T s 2 X, T s 3 X, … Described by characteristic polynomial: f (x) = |T s – I X | = 1 + h 1 x + h 2 x 2 + … + h n-1 x n-1 + x n

37 Example External XOR LFSR Characteristic polynomial f (x) = 1 + x + x 3 (read taps from right to left)

38 External XOR LFSR Pattern sequence for example LFSR (earlier): Always have 1 and x n terms in polynomial Never repeat an LFSR pattern more than 1 time –Repeats same error vector, cancels fault effect X 0 (t + 1) X 1 (t + 1) X 2 (t + 1) X 0 (t) X 1 (t) X 2 (t) = X0X1X2X0X1X …

39 Generic Modular LFSR

40 Modular Internal XOR LFSR Described by companion matrix T m = T s T Internal XOR LFSR – XOR gates in between D flip-flops Equivalent to standard External XOR LFSR  With a different state assignment  Faster – usually does not matter  Same amount of hardware X (t + 1) = T m x X (t) f (x) = | T m – I X | = 1 + h 1 x + h 2 x 2 + … + h n-1 x n-1 + x n

41 Modular LFSR Matrix X 0 (t + 1) X 1 (t + 1) X 2 (t + 1). X n-3 (t + 1) X n-2 (t + 1) X n-1 (t + 1) ……… ……………… ……… h 1 h 2. h n-3 h n-2 h n-1 X 0 (t) X 1 (t) X 2 (t). X n-3 (t) X n-2 (t) X n-1 (t) =

42 Example Modular LFSR f (x) = 1 + x 2 + x 7 + x 8 Read LFSR tap coefficients from left to right

43 VHDL Implementation

44 VHDL Implementation signal lfsr_reg : std_ulogic_vector(9 downto 0); begin process (clock) variable lfsr_tap : std_ulogic; begin if clock'EVENT and clock='1' then if reset = '1' then lfsr_reg '1'); else lfsr_tap := lfsr_reg(6) xor lfsr_reg(9); lfsr_reg <= lfsr_reg(8 downto 0) & lfsr_tap; end if; end process; data_out <= lfsr_reg; end modular