ECE 260B – CSE 241A Testing 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Testing Website:

Slides:



Advertisements
Similar presentations
CMP238: Projeto e Teste de Sistemas VLSI Marcelo Lubaszewski Aula 4 - Teste PPGC - UFRGS 2005/I.
Advertisements

Digital Integrated Circuits© Prentice Hall 1995 Design Methodologies Design for Test.
V. Vaithianathan, AP/ECE
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators.
Appendix: Other ATPG algorithms 1. TOPS – Dominators Kirkland and Mercer (1987) n Dominator of g – all paths from g to PO must pass through the dominator.
Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Design Representation and Fault Detection
1 Lecture 10 Sequential Circuit ATPG Time-Frame Expansion n Problem of sequential circuit ATPG n Time-frame expansion n Nine-valued logic n ATPG implementation.
TOPIC : Backtracking Methodology UNIT 3 : VLSI Testing Module 3.2: Arriving at Input Test Vector.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 91 Lecture 9 Combinational Automatic Test-Pattern Generation (ATPG) Basics n Algorithms and representations.
1 Lecture 11 Major Combinational Automatic Test-Pattern Generation Algorithms n Definitions n D-Algorithm (Roth) D-cubes Bridging faults Logic.
Modern VLSI Design 2e: Chapter 4 Copyright  1998 Prentice Hall PTR Topics n Switch networks. n Combinational testing.
Algorithms and representations Structural vs. functional test
Chapter 7: Testing Of Digital Circuits 1 Testing of Digital Circuits M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 9alt1 Lecture 9alt Combinational ATPG (A Shortened version of Original Lectures 9-12) n ATPG problem.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 61 Design for Testability Theory and Practice Lecture 6: Combinational ATPG n ATPG problem n Example.
4/20/2006ELEC7250: Alexander 1 LOGIC SIMULATION AND FAULT DIAGNOSIS BY JINS DAVIS ALEXANDER ELEC 7250 PRESENTATION.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt1 Lecture 11alt Advances in Combinational ATPG Algorithms  Branch and Bound Search  FAN – Multiple.
Logic Synthesis 5 Outline –Multi-Level Logic Optimization –Recursive Learning - HANNIBAL Goal –Understand recursive learning –Understand HANNIBAL algorithms.
Lecture 5 Fault Modeling
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Design Methodologies.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 111 Lecture 11 Major Combinational Automatic Test-Pattern Generation Algorithms n Definitions n D-Algorithm.
ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.
Spring 08, Apr 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Combinational Circuit ATPG Vishwani D. Agrawal.
Testing.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Fault Modeling.
Introduction to IC Test
1 CSCE 932, Spring 2007 Test Generation for Combinational Logic.
Unit II Test Generation
VLSI Testing Lecture 7: Combinational ATPG
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) -
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 ( )
Gentest: An Automatic Test-Generation System for Sequential Circuits Mohamed Abougabal, Wael Hermas, Tarek Saad, Rami Abielmona ELG 5194 Wednesday November.
Chapter 7. Testing of a digital circuit
EE141 Chapter 4 Test Generation.
Fault Models, Fault Simulation and Test Generation Vishwani D. Agrawal Department of ECE, Auburn University Auburn, AL 36849, USA
Universität Dortmund Chapter 6A: Validation Simulation and test pattern generation (TPG) EECE **** Embedded System Design.
TOPIC : Different levels of Fault model UNIT 2 : Fault Modeling Module 2.1 Modeling Physical fault to logical fault.
12/3/2015 Based on text by S. Mourad "Priciples of Electronic Systems" and M. L. Bushnell and V. D. Agrawal, Essentials of Electronic Testing for Digital,
EE434 ASIC & Digital Systems Partha Pande School of EECS Washington State University
Fault modeling is the translation of physical defects into a mathematical construct that can be operated upon algorithmically and.
Copyright 2001, Agrawal & BushnellLecture 6: Sequential ATPG1 VLSI Testing Lecture 6: Sequential ATPG n Problem of sequential circuit ATPG n Time-frame.
SOLUTION TO module 3.3. Feb.. 16, 2001VLSI Test: Bushnell-Agrawal/Lecture 112 Example 7.2 Fault A sa0 Step 1 – D-Drive – Set A = 1 D 1 D.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG.
Technical University Tallinn, ESTONIA Test generation Gate-level methods  Functional testing: universal test sets  Structural test generation  Path.
Manufacture Testing of Digital Circuits
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.
A New ATPG Algorithm for 21 st Century: The wojoRithm John Sunwoo Electrical & Computer Engineering Auburn University, AL.
EE141 VLSI Test Principles and Architectures Test Generation 1 1 中科院研究生院课程: VLSI 测试与可测试性设计 第 5 讲 测试生成 (1) 李晓维 中科院计算技术研究所
Page 1EL/CCUT T.-C. Huang Apr TCH CCUT Introduction to IC Test Tsung-Chu Huang ( 黃宗柱 ) Department of Electronic Eng. Chong Chou Institute of Tech.
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.
Lecture 5: Design for Testability. CMOS VLSI DesignCMOS VLSI Design 4th Ed. 12: Design for Testability2 Outline  Testing –Logic Verification –Silicon.
Lecture 9 Advanced Combinational ATPG Algorithms
Algorithms and representations Structural vs. functional test
COUPING WITH THE INTERCONNECT
Algorithms and representations Structural vs. functional test
Definitions D-Algorithm (Roth) D-cubes Bridging faults
Definitions D-Algorithm (Roth) D-cubes Bridging faults
VLSI Testing Lecture 7: Combinational ATPG
CPE/EE 428, CPE 528 Testing Combinational Logic (5)
Automatic Test Generation for Combinational Circuits
Lecture 12 Advanced Combinational ATPG Algorithms
A New ATPG Algorithm for 21st Century: The wojoRithm
Fault Models, Fault Simulation and Test Generation
VLSI Testing Lecture 7: Combinational ATPG
Automatic Test Pattern Generation
Topics Switch networks. Combinational testing..
Presentation transcript:

ECE 260B – CSE 241A Testing 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Testing Website:

ECE 260B – CSE 241A Testing 2http://vlsicad.ucsd.edu Outline  Defects and Faults  ATPG for Combinational Circuits  ATPG for Sequential Circuits

ECE 260B – CSE 241A Testing 3http://vlsicad.ucsd.edu Fault models

ECE 260B – CSE 241A Testing 4http://vlsicad.ucsd.edu Fault Models Most Popular - “Stuck - at” model  : x1 sa1  : x1 sa0 or x2 sa0 Covers many other occurring faults, such as opens and shorts.

ECE 260B – CSE 241A Testing 5http://vlsicad.ucsd.edu Fault Models  To detect an and-bridging  Detect a s-a-0 and b = 0  Detect b s-a-0 and a = 0  To detect a transition fault  Pattern 1: c = 1  Pattern 2: detect c s-a-1 c a b good bad and 1

ECE 260B – CSE 241A Testing 6http://vlsicad.ucsd.edu Problem with stuck-at model: CMOS open fault Sequential effect Needs two vectors to ensure detection! Other options: use stuck-open or stuck-short models This requires fault-simulation and analysis at the switch or transistor level - Very expensive!

ECE 260B – CSE 241A Testing 7http://vlsicad.ucsd.edu Problem with stuck-at model: CMOS short fault Causes short circuit between Vdd and GND for A=C=0, B=1 Possible approach: Supply Current Measurement (IDDQ) but: not applicable for gigascale integration

ECE 260B – CSE 241A Testing 8http://vlsicad.ucsd.edu Exhaustive Algorithm  For n-input circuit, generate all 2 n input patterns  Infeasible, unless circuit is partitioned into cones of logic, with < 15 inputs l Perform exhaustive ATPG for each cone l Misses faults that require specific activation patterns for multiple cones to be tested 

ECE 260B – CSE 241A Testing 9http://vlsicad.ucsd.edu  Flow chart for method  Use to get tests for 60-80% of faults, then switch to D- algorithm or other ATPG for rest Random Pattern Generation

ECE 260B – CSE 241A Testing 10http://vlsicad.ucsd.edu Fault simulation

ECE 260B – CSE 241A Testing 11http://vlsicad.ucsd.edu g = G (X 1, X 2, …, X n ) for the fault site f j = F j (g, X 1, X 2, …, X n ) 1 j m X i = 0 or 1 for 1 i n      Boolean Difference Symbolic Method (Sellers et al.)

ECE 260B – CSE 241A Testing 12http://vlsicad.ucsd.edu  Shannon’s Expansion Theorem: F (X 1, X 2, …, X n ) = X 2 F (X 1, 1, …, X n ) + X 2 F (X 1, 0, …, X n )  Boolean Difference (partial derivative): F j g  Fault Detection Requirements (for g s-a-0): G (X 1, X 2, …, X n ) = 1 F j g = F j (1, X 1, X 2, …, X n ) F j (0, X 1, …, X n ) = F j (1, X 1, X 2, …, X n ) F j (0, X 1, …, X n ) = 1         Boolean Difference (Sellers, Hsiao, Bearnson)

ECE 260B – CSE 241A Testing 13http://vlsicad.ucsd.edu Basic Terms, Path Sensitization Techniques Used: D-algorithm, Podem Goals: Determine input pattern that makes a fault controllable (triggers the fault, and makes its impact visible at the output nodes) sa Fault propagation Fault enabling  Controllability: the ease of controlling the state of a node in the circuit  Observability: the ease of observing the state of a node in the circuit

ECE 260B – CSE 241A Testing 14http://vlsicad.ucsd.edu 5-Value Logic  0 – binary 0 in both good and fault circuit  1- binary 1 in both good and fault circuit  X – don’t care  D – binary 1 in good circuit, 0 in bad circuit  D – binary 0 in good circuit, 1 in bad circuit

ECE 260B – CSE 241A Testing 15http://vlsicad.ucsd.edu Primitive D-Cube of Failure  Models circuit faults: l Stuck-at-0 l Stuck-at-1 l Bridging fault (short circuit) l Arbitrary change in logic function  AND Output sa0: “1 1 D”  AND Output sa1: “0 X D ” “X 0 D ”  Wire sa0: “D”  Propagation D-cube – models conditions under which fault effect propagates through gate

ECE 260B – CSE 241A Testing 16http://vlsicad.ucsd.edu Forward Implication  Results in logic gate inputs that are significantly labeled so that output is uniquely determined  AND gate forward implication table:

ECE 260B – CSE 241A Testing 17http://vlsicad.ucsd.edu Backward Implication  Unique determination of all gate inputs when the gate output and some of the inputs are given

ECE 260B – CSE 241A Testing 18http://vlsicad.ucsd.edu 1 Fault Sensitization 2 Fault Propagation 3 Line Justification Path Sensitization Method Circuit Example

ECE 260B – CSE 241A Testing 19http://vlsicad.ucsd.edu  Try path f – h – k – L blocked at j, since there is no way to justify the 1 on i 1 0 D D D D D Path Sensitization Method Circuit Example

ECE 260B – CSE 241A Testing 20http://vlsicad.ucsd.edu  Try simultaneous paths f – h – k – L and g – i – j – k – L blocked at k because D-frontier (chain of D or D) disappears 1 D D D D D Path Sensitization Method Circuit Example

ECE 260B – CSE 241A Testing 21http://vlsicad.ucsd.edu  Final try: path g – i – j – k – L – test found! 0 D D D 1 D D Path Sensitization Method Circuit Example

ECE 260B – CSE 241A Testing 22http://vlsicad.ucsd.edu D-Algorithm – Top Level 1.Number all circuit lines in increasing level order from PIs to POs; 2.Select a primitive D-cube of the fault to be the test cube; 3. D-drive (); 4. Consistency (); 5.return ();

ECE 260B – CSE 241A Testing 23http://vlsicad.ucsd.edu D-Algorithm – Propagation  D-frontier: all gates whose output is X, at least one input is D or D  J-frontier: all gates whose output is defined, but is not implied by the input values

ECE 260B – CSE 241A Testing 24http://vlsicad.ucsd.edu  Step 1 – D-Drive – Set A = 1 D 1 D Example 7.2: Fault A sa0

ECE 260B – CSE 241A Testing 25http://vlsicad.ucsd.edu D 1 0 D  Step 2 – D-Drive – Set f = 0 D Step 2 -- Example 7.2

ECE 260B – CSE 241A Testing 26http://vlsicad.ucsd.edu D 1 0 D  Step 3 – D-Drive – Set k = 1 D 1 D Step 3 -- Example 7.2

ECE 260B – CSE 241A Testing 27http://vlsicad.ucsd.edu D 1 0 D  Step 4 – Consistency – Set g = 1 D 1 D 1 Step 4 -- Example 7.2

ECE 260B – CSE 241A Testing 28http://vlsicad.ucsd.edu D 1 0 D  Step 5 – Consistency – f = 0 Already set D 1 D 1 Step 5 -- Example 7.2

ECE 260B – CSE 241A Testing 29http://vlsicad.ucsd.edu D 1 0 D  Step 6 – Consistency – Set c = 0, Set e = 0 D 1 D Step 6 -- Example 7.2

ECE 260B – CSE 241A Testing 30http://vlsicad.ucsd.edu D 1 0 X D  Step 7 – Consistency – Set B = 0  D-Chain dies D 1 D n Test cube: A, B, C, D, e, f, g, h, k, L D-Chain Dies -- Example 7.2

ECE 260B – CSE 241A Testing 31http://vlsicad.ucsd.edu Example 7.3 – Fault s sa1  Primitive D-cube of Failure 1 D sa1

ECE 260B – CSE 241A Testing 32http://vlsicad.ucsd.edu Example 7.3 – Step 2 s sa1  Propagation D-cube for v 1 D 0 sa1 D 1 D

ECE 260B – CSE 241A Testing 33http://vlsicad.ucsd.edu Example 7.3 – Step 2 s sa1  Forward & Backward Implications 1 D sa1 0 D D

ECE 260B – CSE 241A Testing 34http://vlsicad.ucsd.edu Example 7.3 – Step 3 s sa1  Propagation D-cube for Z – test found! 1 D sa1 0 D D D

ECE 260B – CSE 241A Testing 35http://vlsicad.ucsd.edu PODEM High-Level Flow 1. Assign binary value to unassigned PI 2. Determine implications of all PIs 3. Test Generated? If so, done. 4. Test possible with more assigned PIs? If maybe, go to Step 1 5. Is there untried combination of values on assigned PIs? If not, exit: untestable fault 6. Set untried combination of values on assigned PIs using objectives and backtrace. Then, go to Step 2

ECE 260B – CSE 241A Testing 36http://vlsicad.ucsd.edu  Select path s – Y for fault propagation sa1 Example Step 1 s sa1

ECE 260B – CSE 241A Testing 37http://vlsicad.ucsd.edu  Initial objective: Set r to 1 to sensitize fault 1 sa1 Example Step 2 s sa1

ECE 260B – CSE 241A Testing 38http://vlsicad.ucsd.edu Example Step 3 s sa1  Backtrace from r 1 sa1

ECE 260B – CSE 241A Testing 39http://vlsicad.ucsd.edu Example Step 4 s sa1  Set A = 0 in implication stack 1 0 sa1

ECE 260B – CSE 241A Testing 40http://vlsicad.ucsd.edu Example Step 5 s sa1  Forward implications: d = 0, X = 1 1 sa

ECE 260B – CSE 241A Testing 41http://vlsicad.ucsd.edu Example Step 6 s sa1  Initial objective: set r to 1 1 sa

ECE 260B – CSE 241A Testing 42http://vlsicad.ucsd.edu Example Step 7 s sa1  Backtrace from r again 1 sa

ECE 260B – CSE 241A Testing 43http://vlsicad.ucsd.edu Example Step 8 s sa1  Set B to 1. Implications in stack: A = 0, B = 1 1 sa

ECE 260B – CSE 241A Testing 44http://vlsicad.ucsd.edu D Example Step 9 s sa1  Forward implications: k = 1, m = 0, r = 1, q = 1, Y = 1, s = D, u = D, v = D, Z = 1 1 sa D D

ECE 260B – CSE 241A Testing 45http://vlsicad.ucsd.edu Backtrack -- Step 10 s sa1  X-PATH-CHECK shows paths s – Y and s – u – v – Z blocked (D-frontier disappeared) 1 sa

ECE 260B – CSE 241A Testing 46http://vlsicad.ucsd.edu Step s sa1  Set B = 0 (alternate assignment) 1 sa1 0 0

ECE 260B – CSE 241A Testing 47http://vlsicad.ucsd.edu Backtrack -- s sa1 1 sa  Forward implications: d = 0, X = 1, m = 1, r = 0, s = 1, q = 0, Y = 1, v = 0, Z = 1. Fault not sensitized

ECE 260B – CSE 241A Testing 48http://vlsicad.ucsd.edu Step s sa1  Set A = 1 (alternate assignment) 1 sa1 1

ECE 260B – CSE 241A Testing 49http://vlsicad.ucsd.edu Step s sa1  Backtrace from r again 1 sa1 1

ECE 260B – CSE 241A Testing 50http://vlsicad.ucsd.edu Step s sa1  Set B = 0. Implications in stack: A = 1, B = 0 1 sa1 1 0

ECE 260B – CSE 241A Testing 51http://vlsicad.ucsd.edu Backtrack -- s sa1  Forward implications: d = 0, X = 1, m = 1, r = 0. Conflict: fault not sensitized. Backtrack sa

ECE 260B – CSE 241A Testing 52http://vlsicad.ucsd.edu Step s sa1  Set B = 1 (alternate assignment) 1 sa1 1 1

ECE 260B – CSE 241A Testing 53http://vlsicad.ucsd.edu Fault Tested -- Step 18 s sa1  Forward implications: d = 1, m = 1, r = 1, q = 0, s = D, v = D, X = 0, Y = D 1 sa D 0 D D X D

ECE 260B – CSE 241A Testing 54http://vlsicad.ucsd.edu Comparison  Path sensitization: multiply SAT problems  D-algorithm: decisions are made at the J-frontier  PODEM: decisions are made at the PIs  FAN: l Multiply paths are traced back simultaneously l A decision can be made at a headline

ECE 260B – CSE 241A Testing 55http://vlsicad.ucsd.edu Algorithm D-ALG PODEM FAN TOPS SOCRATES Waicukauski et al. EST TRAN Recursive learning Tafertshofer et al. Est. speedup over D-ALG (normalized to D-ALG time) Year History of Algorithm Speedups

ECE 260B – CSE 241A Testing 56http://vlsicad.ucsd.edu Sequential Circuits: State!  Combinational circuit testing is relatively easy  Sequential circuit testing needs to drive sequential elements to specific state to test a fault

ECE 260B – CSE 241A Testing 57http://vlsicad.ucsd.edu Sequential Circuit Controllability and Observability

ECE 260B – CSE 241A Testing 58http://vlsicad.ucsd.edu Ad-hoc Test Inserting multiplexer improves testability

ECE 260B – CSE 241A Testing 59http://vlsicad.ucsd.edu Scan-based Test

ECE 260B – CSE 241A Testing 60http://vlsicad.ucsd.edu Scan-based Test —Operation

ECE 260B – CSE 241A Testing 61http://vlsicad.ucsd.edu Scan-Path Testing Partial-Scan can be more effective for pipelined datapaths

ECE 260B – CSE 241A Testing 62http://vlsicad.ucsd.edu Boundary Scan (JTAG) Board testing becomes as problematic as chip testing

ECE 260B – CSE 241A Testing 63http://vlsicad.ucsd.edu Self-test Rapidly becoming more important with increasing chip-complexity and larger modules

ECE 260B – CSE 241A Testing 64http://vlsicad.ucsd.edu Design verification testing

ECE 260B – CSE 241A Testing 65http://vlsicad.ucsd.edu Production testing

ECE 260B – CSE 241A Testing 66http://vlsicad.ucsd.edu Cost of finding failing chip

ECE 260B – CSE 241A Testing 67http://vlsicad.ucsd.edu Thanks