Chapter 7: Testing Of Digital Circuits 1 Testing of Digital Circuits M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Slides:



Advertisements
Similar presentations
Digital Integrated Circuits© Prentice Hall 1995 Design Methodologies Design for Test.
Advertisements

Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Design Representation and Fault Detection
Design for Testability (DfT)
Asynchronous Sequential Logic
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
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.
EE466: VLSI Design Lecture 17: Design for Testability
Logic Simulation 4 Outline –Fault Simulation –Fault Models –Parallel Fault Simulation –Concurrent Fault Simulation Goal –Understand fault simulation problem.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4b1 Design for Testability Theory and Practice Lecture 4b: Fault Simulation n Problem and motivation.
Modern VLSI Design 2e: Chapter 4 Copyright  1998 Prentice Hall PTR Topics n Switch networks. n Combinational testing.
Design for Testability Theory and Practice Lecture 11: BIST
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 9alt1 Lecture 9alt Combinational ATPG (A Shortened version of Original Lectures 9-12) n ATPG problem.
Design for Testability
Asynchronous Sequential Logic
ELEN 468 Lecture 241 ELEN 468 Advanced Logic Design Lecture 24 Design for Testability.
CHAPTER 3 Digital Logic Structures
January 16, '02Agrawal: Delay testing1 Delay Testing of Digital Circuits Vishwani D. Agrawal Agere Systems, Murray Hill, NJ USA
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.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 111 Lecture 11 Major Combinational Automatic Test-Pattern Generation Algorithms n Definitions n D-Algorithm.

ELEN 468 Lecture 251 ELEN 468 Advanced Logic Design Lecture 25 Built-in Self Test.
BIST AND DATA COMPRESSION 1 JTAG COURSE spring 2006 Andrei Otcheretianski.
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
공과대학 > IT 공학부 Embedded Processor Design Chapter 8: Test EMBEDDED SYSTEM DESIGN 공과대학 > IT 공학부 Embedded Processor Design Presenter: Yvette E. Gelogo Professor:
Unit II Test Generation
Technical University Tallinn, ESTONIA 1 Boolean derivatives Calculation of the Boolean derivative: Given:
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Simulation and test pattern generation (TPG) -
Introduction to CMOS VLSI Design Test. CMOS VLSI DesignTestSlide 2 Outline  Testing –Logic Verification –Silicon Debug –Manufacturing Test  Fault Models.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
TOPIC : Types of fault simulation
Zvi Kohavi and Niraj K. Jha 1 Memory, Definiteness, and Information Losslessness of Finite Automata.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Switch networks. n Combinational testing.
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.
CSE477 L28 DFT.1Irwin&Vijay, PSU, 2003 CSE477 VLSI Digital Circuits Fall 2003 Lecture 28: Design for Test Mary Jane Irwin ( )
Chapter 7. Testing of a digital circuit
Module 9.  Digital logic circuits can be categorized based on the nature of their inputs either: Combinational logic circuit It consists of logic gates.
Logic BIST Logic BIST.
Design for Testability By Dr. Amin Danial Asham. References An Introduction to Logic Circuit Testing.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTEMS
6/5/2016 Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Fault Simulation.
Page 1EL/CCUT T.-C. Huang May 2004 TCH CCUT Introduction to IC Test Tsung-Chu Huang ( 黃宗柱 ) Department of Electronic Eng. Chong Chou Institute of Tech.
ECE 260B – CSE 241A Testing 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Testing Website:
Universität Dortmund Chapter 6A: Validation Simulation and test pattern generation (TPG) EECE **** Embedded System Design.
An introduction to Fault Detection in Logic Circuits By Dr. Amin Danial Asham.
Manufacture Testing of Digital Circuits
EE141 VLSI Test Principles and Architectures Test Generation 1 1 中科院研究生院课程: VLSI 测试与可测试性设计 第 5 讲 测试生成 (1) 李晓维 中科院计算技术研究所
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
TOPIC : RTD, SST UNIT 5 : BIST and BIST Architectures Module 5.2 Specific BIST Architectures.
Copyright 2001, Agrawal & BushnellLecture 6:Fault Simulation1 VLSI Testing Lecture 6: Fault Simulation Dr. Vishwani D. Agrawal James J. Danaher Professor.
Fault Models, Fault Simulation and Test Generation Vishwani D. Agrawal Department of ECE, Auburn University Auburn, AL 36849, USA
TOPIC : Introduction to Sequential Circuits UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
Lecture 5: Design for Testability. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 12: Design for Testability2 Outline  Testing –Logic Verification –Silicon.
Mealy and Moore Machines Lecture 8 Overview Moore Machines Mealy Machines Sequential Circuits.
EE3A1 Computer Hardware and Digital Design Lecture 13 Detecting faults in Digital Systems.
Combinational Logic Design&Analysis.
Section 6: Asynchronous Circuits
VLSI Testing Lecture 14: Built-In Self-Test
Lecture 7 Fault Simulation
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
VLSI Testing Lecture 6: Fault Simulation
Automatic Test Generation for Combinational Circuits
Sungho Kang Yonsei University
Automatic Test Pattern Generation
Combinational Circuits
EGR 2131 Unit 12 Synchronous Sequential Circuits
Presentation transcript:

Chapter 7: Testing Of Digital Circuits 1 Testing of Digital Circuits M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi

Chapter 7: Testing Of Digital Circuits 2 Design Approaches Test pattern generation to cover a large fraction of the faults Design for testability –Built-in-self-test (BIST) Fault tolerant design

Chapter 7: Testing Of Digital Circuits 3 Faults: Sources and Types Sources –Design process –Device defects –Manufacturing process Types –Dynamic –Static

Chapter 7: Testing Of Digital Circuits 4 Fault Models Stuck-at faults correspond to a simple fault model – Stuck-at-0 (s-a-0) – Stuck-at-1 (s-a-1) More complex models are also used but beyond the scope of this work

Chapter 7: Testing Of Digital Circuits 5 Combinational Circuits: Test Pattern Generation Problem definition: Given a set of faults (F) and a set of test vectors (T), identify the smallest possible subset of test vectors (V) which covers either all the faults in F or say a predetermined fraction of faults (say 98%).

Chapter 7: Testing Of Digital Circuits 6 Fault Simulation Given a test vector, by simulating the circuit with the fault, identify all faults covered by the test vector. Test vectors (T) Faults (F)

Chapter 7: Testing Of Digital Circuits 7 Test Generation Given a fault, identify all the test vectors which can cover that fault. Test vectors (T) Faults (F)

Chapter 7: Testing Of Digital Circuits 8 Limitations Only one fault is expected to occur at one time Faults other than stuck-at faults are expected to show up as stuck-at faults at some other location By and large fault location is not possible These approaches are valid only for combinational circuits

Chapter 7: Testing Of Digital Circuits 9 Typical Circuit Enhancements Insertion of test points Pin amplification Test modes Scan chains

Chapter 7: Testing Of Digital Circuits 10 Test Generation Methods M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi

Chapter 7: Testing Of Digital Circuits 11 Parallel Fault Simulation In parallel fault simulation, evaluation is performed simultaneously for many faults The number of faults that can be simultaneously simulated corresponds the word length of the host machine

Chapter 7: Testing Of Digital Circuits 12 Parallel Fault Simulation (Example) a b c d e f g h i

Chapter 7: Testing Of Digital Circuits 13 Parallel Fault Simulation (Example contd.)

Chapter 7: Testing Of Digital Circuits 14 Deductive Fault Simulation At each of the primary inputs generate the list of faults that can be detected by the test vector Use these lists to generate the lists at other nodes by “appropriate” operations on these lists

Chapter 7: Testing Of Digital Circuits 15 Deductive Fault Simulation (example) a b c d e f g h i La = {a1} Lb = {b0} Lc = {c1} Ld = {d0} Le = {e1} Lfp = Lb’  Lc = {c1} Lf = {c1, f1} Lgp = (Ld’  Le)’ = {d0} Lg = {d0, g1} Lhp’ = (Lf  Lg)’, Lhp =  Lh = {h0} Lip’ = La  Lh’, Lip = {h0} Li = {h0, i0}

Chapter 7: Testing Of Digital Circuits 16 Deductive Fault Simulation (example contd.) a b c d e f g h i La = {a1} Lb = {b0} Lc = {c0} Ld = {d0} Le = {e1} Lfp’ = Lb’  Lc’ = { b0, c0} Lf = {b0, c0, f0} Lgp = (Ld’  Le)’ = {d0} Lg = {d0, g1} Lhp’ = (Lf ‘  Lg)’ Lhp = {d0,g1}, Lh = {d0,g1,h0} Lip’ = La  Lh’, Lip = {d0, g1,h0} Li = {d0, g1, h0, i0}

Chapter 7: Testing Of Digital Circuits 17 Test Generation Methods Boolean Difference & D-Algorithm M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi

Chapter 7: Testing Of Digital Circuits 18 Boolean Difference Consider a function f of say 4 variables f(x0, x1, x2, x3) Boolean difference of f w.r.t to x i is defined as follows: df/dx i = f  xi=0 + f  xi=1

Chapter 7: Testing Of Digital Circuits 19 Boolean Difference (example) a b c d e f g h i i = a + ((b.c). (d +e)’)’ di/da = i  a=0 + i  a=1 = ((b.c).(d+e)’)’ + 1 = (b.c)(d+e)’

Chapter 7: Testing Of Digital Circuits 20 Example (contd.) di/da = (b.c)(d+e)’ s-a-0 fault at a can be tested by a.di/da = 1 or a.b.c(d+e)’ = 1  test vectors (1,1,1,0,0) s-a-1 fault at a can be tested by a’.di/da = 1 or a’.b.c(d+e)’ = 1  test vectors (0,1,1,0,0)

Chapter 7: Testing Of Digital Circuits 21 Boolean Difference (contd.) b c d e f g h i = a + (f. (d +e)’)’ di/df = i  f=0 + i  f=1 = 1 + (a +d+e) = (a+d+e)’ = a’d’e’ a

Chapter 7: Testing Of Digital Circuits 22 Boolean Difference (contd.) di/df = a’.d’.e’ s-a-0 fault at f can be tested by f.di/df = 1 or fa’d’e’ = b.c.a’d’e’ =1  test vectors (0,1,1,0,0) s-a-01fault at f can be tested by f’.di/df = 1 or f’.a’d’e’ = (b.c)’.a’d’e’ = 1  test vectors (0,0,X,0,0) and (0, X,0,0,0)

Chapter 7: Testing Of Digital Circuits 23 D-Algorithm There are three main steps in the D-Algorithm Generate the fault Propagate the fault to one of the outputs (Forward or D-Drive) Back propagate to get consistent assignment for inputs (Backward drive or back- propagation)

Chapter 7: Testing Of Digital Circuits 24 D-Algorithm (Step 1) b c d e f g h Let us say we choose the fault g node s-a Assign inputs to gate 2 to generate the fault i.e. d = 0 and e = 0 a i

Chapter 7: Testing Of Digital Circuits 25 D-Algorithm (Step 2) b c d e f g h a 0 0 D Choose a path to the o/p and propagate the fault f is to be assigned 1 and a is to be assigned 0 to propagate D to the output i i

Chapter 7: Testing Of Digital Circuits 26 D-Algorithm (Step 3) b c d e f g h a 0 0 D i 1 0 D’ Consistency Check Assign inputs to gates (whose outputs have been specified ) consistent with other assignments

Chapter 7: Testing Of Digital Circuits 27 D-Algorithm Result b c d e f g h a 0 0 D i 1 0 D’ 1 1 The test vector is (0,1,1,0,0)

Chapter 7: Testing Of Digital Circuits 28 D-Algorithm M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi

Chapter 7: Testing Of Digital Circuits 29 Terminology Singular Cover D-intersection Primitive D-cube of a fault (pdcf) Propagation D-cubes (pdf)

Chapter 7: Testing Of Digital Circuits 30 Singular Cover SC of a gate (or any circuit element) is nothing but a compact version of the truth table. SC of a AND gate with a and b as inputs and c as output abc 0X0 X00 111

Chapter 7: Testing Of Digital Circuits 31 Singular Cover (contd.) SC of a NOR gate with a and b as inputs and c as output abc 1X0 X10 001

Chapter 7: Testing Of Digital Circuits 32 D-Intersection

Chapter 7: Testing Of Digital Circuits 33 Primitive D-Cube of Fault (pdcf) For generating a s-a-0 fault at node c, choose a SC row which gives an o/p of 1 for the nor gate and intersect with (X,X,0). pdcf is(0, 0, D) a b c

Chapter 7: Testing Of Digital Circuits 34 PDCF (contd.) For generating a s-a-1 fault at node c, choose a SC row which gives an o/p of 0 for the nor gate and intersect with (X,X,1). pdcf is(1, X, D)or (X, 1, D) a b c

Chapter 7: Testing Of Digital Circuits 35 Propagation D-Cube (pdc) PDC consists of a table for each circuit element which has entries for propagating faults on any one of its inputs to the output. To generate PDC entry corresponding to any one column, D-intersect any two rows of SC which have opposite values (0 and 1) in that column. There can be multiple rows for one column

Chapter 7: Testing Of Digital Circuits 36 PDC Example PDC of a AND gate with a and b as inputs and c as output abc 1DD D1D

Chapter 7: Testing Of Digital Circuits 37 PDC Example (contd.) PDC of a NOR gate with a and b as inputs and c as output abc 0DD’ D0D’

Chapter 7: Testing Of Digital Circuits 38 D-Algorithm Steps Choose a stuck-at-fault at any of the nodes. Choose a pdcf for generating the fault. Choose an output and a path to the output and propagate the fault to the output by choosing pdc for all circuit elements on the path. (D-Drive) Use the SC of all unassigned circuit elements to arrive at a consistent set of inputs. (back-propagate or consistency check)

Chapter 7: Testing Of Digital Circuits 39 D-Algorithm: PDCF Example a b c d e f g h i Choose a fault say g s-a-0. Choose pdcf of gate 2 for generating this fault (a b c d e f g h i ) = (X X X 0 0 X D X X)

Chapter 7: Testing Of Digital Circuits 40 D-Algorithm: D-Drive Example Propagate the fault to the o/p using pdc of gates 3 &4 a b c d e f g h i D pdc 3(X X X D D’ X) pdc 4(0 X X D D’ D’)

Chapter 7: Testing Of Digital Circuits 41 D-Algorithm: Consistency Example Perform consistency operation for gate 1 a b c d e f g h i D (X X X D D’ X) sc 1( D D’ D’)

Chapter 7: Testing Of Digital Circuits 42 D-Algorithm: Summary

Chapter 7: Testing Of Digital Circuits 43 Testing of Sequential Circuits M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi

Chapter 7: Testing Of Digital Circuits 44 Testing Techniques State table verification Random testing Transition count testing Scan based testing Signature analysis

Chapter 7: Testing Of Digital Circuits 45 State Table Verification Verify each transition by first taking the machine to a specific initial state, applying the input to perform the transition and then verifying the final state. For this purpose we need a homing sequence and distinguishing sequence

Chapter 7: Testing Of Digital Circuits 46 Homing & Distinguishing Sequence Homing sequence: An input is said to be a homing sequence for a m/c if the m/c’s response to the sequence is always sufficient to determine uniquely its final state. Distinguishing sequence: An input sequence which when applied to a machine will produce a different output sequence for each choice of initial state.

Chapter 7: Testing Of Digital Circuits 47 Example

Chapter 7: Testing Of Digital Circuits 48 Example: Homing Sequence (ABCD) (AB)(D) (ABCD) (AB)(D) (BD)(C) (A)(D)(D) (BC)(A)

Chapter 7: Testing Of Digital Circuits 49 Random Testing Random pattern generator Known good ckt Circuit under test Compare

Chapter 7: Testing Of Digital Circuits 50 Transition Count Testing Count the number of transitions for a specific input pattern and compare with the value stored for “good” circuits Reduction in data storage for storing correct responses “Aliasing” errors

Chapter 7: Testing Of Digital Circuits 51 Scan Based Testing Form a scan chain for all the storage elements (“flip-flops”) in the circuit Use this scan chain for inserting the test patterns as well as reading the results Use combinational circuit test pattern generator methods generating test inputs

Chapter 7: Testing Of Digital Circuits 52 Scan Based Testing (contd.) logic RegReg RegReg RegReg

Chapter 7: Testing Of Digital Circuits 53 Signature Analysis & Built-in- self-test (BIST) M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi

Chapter 7: Testing Of Digital Circuits 54 Signature Analysis Test results available in a very compact form and thus very suitable for BIST In-speed testing possible PRBS generators use for test pattern generation as well as test result generation

Chapter 7: Testing Of Digital Circuits 55 PRBS Generator A PRBS or pseudo random binary sequence generator consists of a long shift register with serial input generated by taking exclusive-or of some of the intermediate inputs

Chapter 7: Testing Of Digital Circuits 56 BIST Example logic L1 logic L2 R1R1 R2R2 R3R3

Chapter 7: Testing Of Digital Circuits 57 BIST Registers Modes Normal mode (PIPO) PRBS generator mode Signature capture mode Scan mode

Chapter 7: Testing Of Digital Circuits 58 BIST Steps: Example R1 : PRBS mode, R2: Signature mode Generate finite number of test patterns R1, R2, R3: Scan mode Scan out the signature of L1 and compare R2 : PRBS mode, R3: Signature mode Generate finite number of test patterns R1, R2, R3: Scan mode Scan out the signature of L2 and compare