Automatic Test Generation for Combinational Circuits

Slides:



Advertisements
Similar presentations
Automatic Test Generation and Logic Optimization.
Advertisements

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
Fault Equivalence Number of fault sites in a Boolean gate circuit is = #PI + #gates + # (fanout branches) Fault equivalence: Two faults f1.
TOPIC : Backtracking Methodology UNIT 3 : VLSI Testing Module 3.2: Arriving at Input Test Vector.
Partial Implications, etc.
Aiman El-Maleh, Ali Alsuwaiyan King Fahd University of Petroleum & Minerals, Dept. of Computer Eng., Saudi Arabia Aiman El-Maleh, Ali Alsuwaiyan King Fahd.
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.
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.
1 Oct 24-26, 2006 ITC'06 Fault Coverage Estimation for Non-Random Functional Input Sequences Soumitra Bose Intel Corporation, Design Technology, Folsom,
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.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 111 Lecture 11 Major Combinational Automatic Test-Pattern Generation Algorithms n Definitions n D-Algorithm.
Logic Verification 1 Outline –Logic Verification Problem –Verification Approaches –Recursive Learning Approach Goal –Understand verification problem –Understand.
Silicon Programming--Physical Testing 1 Testing--physical faults: yield; s-a-0 and s-a-1 faults; justify and propagate.
Technical University Tallinn, ESTONIA Overview: Fault Simulation Overview about methods Low (gate) level methods Parallel fault simulation Deductive fault.
Introduction to IC Test
Unit II Test Generation
VLSI Testing Lecture 7: Combinational ATPG
Technical University Tallinn, ESTONIA 1 Boolean derivatives Calculation of the Boolean derivative: Given:
TOPIC : Types of fault simulation
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.
Page 1EL/CCUT T.-C. Huang Mar 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:
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
An introduction to Fault Detection in Logic Circuits By Dr. Amin Danial Asham.
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Combinational ATPG.
A New ATPG Algorithm for 21 st Century: The wojoRithm John Sunwoo Electrical & Computer Engineering Auburn University, AL.
TOPIC : Introduction to Faults UNIT 2: Modeling and Simulation Module 1 : Logical faults due to physical faults.
EE141 VLSI Test Principles and Architectures Test Generation 1 1 中科院研究生院课程: VLSI 测试与可测试性设计 第 5 讲 测试生成 (1) 李晓维 中科院计算技术研究所
TOPIC : Fault detection and fault redundancy UNIT 2 : Fault modeling Module 2.3 Fault redundancy and Fault collapsing.
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.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Lecture 9 Advanced Combinational ATPG Algorithms
Lecture 8 Combinational Network Design and Issues
VLSI Testing Lecture 6: Fault Simulation
COUPING WITH THE INTERCONNECT
Algorithms and representations Structural vs. functional test
CS137: Electronic Design Automation
Lecture 7 Fault Simulation
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
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
Lecture 10 Sequential Circuit ATPG Time-Frame Expansion
ELEC Digital Logic Circuits Fall 2014 Logic Testing (Chapter 12)
CPE/EE 428, CPE 528 Testing Combinational Logic (5)
Lecture 5 Fault Modeling
CPE/EE 428, CPE 528 Testing Combinational Logic (2)
CPE/EE 428, CPE 528 Testing Combinational Logic (4)
Lecture 12 Advanced Combinational ATPG Algorithms
A New ATPG Algorithm for 21st Century: The wojoRithm
Fault Models, Fault Simulation and Test Generation
CPE/EE 428, CPE 528 Testing Combinational Logic (3)
VLSI Testing Lecture 7: Combinational ATPG
Testability of Two-Level Circuits
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Automatic Test Pattern Generation
Topics Switch networks. Combinational testing..
VLSI Testing Lecture 3: Fault Modeling
Sungho Kang Yonsei University
ELEC Digital Logic Circuits Fall 2015 Logic Testing (Chapter 12)
D-Algorithm (1/4) h d' d i j e' n e k a g b c l f' f m Example 1 D’ G1
CS137: Electronic Design Automation
Presentation transcript:

Automatic Test Generation for Combinational Circuits Sungho Kang Yonsei University

Outline Introduction Faults and Fault Models Automatic Test Generation Redundancy Removal

Introduction Quality of Test Y : Yield DL: Defect Level d : defect coverage DL = 1 - Y 1-d Consider a 0.5 yield process To achieve 0.01 defect level, 99% coverage is required To achieve 80% coverage, 0.2 defect level

Faults and Fault Models Represent the effect of physical defects on the behavior of the modeled system Advantages of Modeling The problem of fault analysis is a logical rather than physical problem Complexity is reduced Technology-independent Tests derived for logical faults are valid for physical faults Requirements Accuracy Tractability

Fault Models Gate Level Faults Transistor Level Faults Delay Faults Stuck-at Short between signal and ground or power Bridging Short between two signals Transistor Level Faults Short Connecting points not intended to be connected Open(break) Breaking a connection Stuck-on (stuck-short) Stuck-open (stuck-off) Delay Faults Temporary Faults

Stuck-at Fault Models Stuck-at-1 Stuck-at-0 Faults Stuck-at-1 Faulty line permanently set to 1 Stuck-at-0 Faulty line permanently set to 0 Fault can be at an input or output of a gate Single Stuck at Faults The number of stuck at faults is 2N where N is the number of fault sites Reasons why widely used Represents many different physical faults Independent of technology Tests that detect stuck faults detect other faults well The number of faults is small Can be used to model other type of faults

Stuck-at Fault Models Multiple Stuck at Faults 2 or more lines have faults but not necessarily the same value The number of faults is 3N-1 A multiple faults is unidirectional if all of its constituent faults are either s-a-0 or s-a-1 but not both simultaneously

Fault Equivalence Faults Two faults f and g are said to be functionally equivalent iff Zf(x) = Zg(x) for all x A test t is said to distinguish between two faults f and g if Zf(t)  Zg(t) Consider one representative fault from every equivalence class Set of all tests that distinguishes between f and g is Zf(x)  Zg(x) For n input gate, 2(n+1) single stuck faults All input s-a-C faults and output s-a-(CI) are equivalent C : controlling value I : inversion Consider only (n+2) faults

Fault Equivalence Fault Equivalence Collapsing Faults Fault Equivalence Collapsing The main goal of fault collapsing is to reduce the total number of faults required to simulate by grouping all the indistinguishable faults into several fault classes and only simulating one from each class Two faults f and g are functionally equivalent under a test set T iff Zf(T) = Zg(T) for every test t  T Gate Collapsing Signal Collapsing Extended Collapsing

Fault Collapsing Example x s-a-0, y s-a-0, z s-a-0 x s-a-1 y s-a-1 Faults Example x s-a-0, y s-a-0, z s-a-0 x s-a-1 y s-a-1 z s-a-1

Fault Collapsing Example Faults Example X1 X2 Z A/0 B/0 C/0 D/0 E/0 F/0 A/1 B/1 C/1 D/1 E/1 F/1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 1

Fault Collapsing Example 26 faults {A/1,E/1,G/1} {A/0} {E/0} {G/0} {B/0,C/1} {B/1,C/0} {F/1,D/1,I/0,J/0,L/0,H/1} {F/0} {D/0} {I/1} {H/0,J/1} {L/1,K/1,M/1} {K/0} {M/0} 14 faults

Fault Equivalence Sequential Circuits Faults Sequential Circuits Two faults f and g are strongly functionally equivalent iff the corresponding sequential circuits Nf and Ng have equivalent state tables Two faults f and g are functionally equivalent iff Rf(qIf,T) = Rg(qIg,T) for any T

Test Pattern Generation ATPG Test generation Manual generation Pseudo random generation Algorithmic (or deterministic) test generation Automatic Test Pattern Generation (ATPG) Calculate the set of test patterns from a description of the logic network and a set of assumptions called fault models

ATPG Result of ATPG Cost of ATPG Quality of the generated tests Find a test pattern Redundant fault Run out of time/memory (Aborted fault) Cost of ATPG Low CPU time Quality of the generated tests High fault coverage Cost of Applying Test Small number of tests Fault Coverage # of detected faults / # of faults # of detected faults / (# of faults - # of redundant faults) (# of detected faults + # of redundant faults) / # of faults

Definition Fault Excitation Fault Propagation ATPG Fault Excitation The process of finding a sufficient set of PI values to cause the fault site in the good circuit to have a value opposite to the faulty value Fault Propagation The process of moving the effect of a fault closer to a PO

Definition Single Fault Assumption Implication ATPG Single Fault Assumption The assumption that one and only one fault is present in a given circuit at a time Implication The process of determining the unique values implied by already assigned values The process can cause both forward and backward assignment of values

Definition Reconvergent fanout Line Justification ATPG Reconvergent fanout A fanout node, two or more of whose branches eventually are used as inputs to the same element The element at which the branch reconverge is called the point of reconvergence Line Justification The process of finding a set of PI values which cause the line to achieve the desired value Essentially the same as backdrive with conflict resolution

Definition Backtracking ATPG Backtracking Retracing in the search space to resolve the conflict by trying alternate assignments at previously assigned nodes Should store previously determined values

Definition A test cannot detect both s-a-0 and s-a-1 ATPG A test cannot detect both s-a-0 and s-a-1 Reconvergent fanout free circuits are easy to generate tests Redundant fault

General Outline of ATPG Choose a fault if imply-and-check() = FAILURE return FAILURE if fault effect at PO and all lines are justified return SUCCESS if no fault effect can be propagated to a PO select an unsolved problem repeat select one untried way to solve it if solve( ) = success until all ways to solve it have been tried

ATPG Example ATPG F output s-a-0

ATPG Example ATPG G output s-a-1

ATPG Example ATPG H s-a-1

D Algorithm ATPG Introduce D and D’

D Algorithm : Example G s-a-1 To generate 0 at the output of G A=B=C=1 ATPG G s-a-1 To generate 0 at the output of G A=B=C=1 To propagate through J output of F=1 It implies A=B=0 Contradicts!!!

PODEM Path Oriented DEcision Making Search space on PIs ATPG Path Oriented DEcision Making Search space on PIs Implicit space enumeration Algorithm PODEM() if (Error at PO) return SUCCESS if (test not possible) return FAILURE get an objective backtrace the objective to PI imply the PI value if PODEM() == SUCCESS imply PI with X value assume target fault is I s-a-v objective() if ( the value of I is X ) return (I, v’) select a gate(G) from the D frontier select an input j of G with value X c = controlling value of G return ( j, c’)

PODEM Example ATPG a s-a-0 : using PODEM

PODEM Example ATPG Continued Decision Tree

FAN Assume that we want to set J=0 ATPG Assume that we want to set J=0 Assume that with PI assignments previously made, setting J=0 causes D frontier empty Failure

Multiple Backtrace ATPG Determines an assignment that is likely either to contribute achieving a subset of the original objectives or to show that some subset of the original objectives cannot be simultaneously achieved Different objectives are backtracked to its same stem with conflicting at its branches Multiple backtrace stops backtracing when a stem is reached and keeps track of the number of times a 0 and 1 have been requested on the stem

X Path Check X path check ATPG X path check Let s be a signal on the fault sensitization path If s has 0 or 1, the fault cannot be propagated Check the value using forward implication

Dominator ATPG A signal y is said to dominate a signal x if all directed paths from x to the POs pass through y Dominator The set of signal that dominate signal x The fault effect should pass through dominators Off-path inputs of dominators are assigned noncontrolling values to propagate fault effect Example Dominators of signal C : G2 and G5 Thus D=0 and J=1

Static learning ATPG To assign a logic value to a certain signal of the circuit, perform This is done for all signals of the circuit for both logic value 0 and 1 Example B=1 => F=1 F=0 => B=0

Fault Simulation ATPG

2 Phase ATPG Random + Deterministic while an exit condition happens get a vector fault simulate the vector if the vector detects faults add the vector to the test set discard the faults for all remaining faults select a fault generate a vector if successful add the vector in the test set

Redundancy Identification Redundancy Removal Test Covering and Fault Dominance f : Z1 s-a-1 g : Y1 s-a-1  Tg = 10 Tg detects f, but f does not dominate g f dominates g if f and g are functionally equivalent under Tg But test covering does not require such functional equivalence If f dominates g, then f also test covers g But converse is not necessarily true

Redundancy Identification Redundancy Removal Let S be a stem with fanout branch (S1, S2, ... , Sn) If Si is nonreconvergent, then S s-a-v test covers Si s-a-v If Si and Sj reconverge only with equal inversion parities then S s-a-v test covers both Si s-a-v and Sj s-a-v If a stem is redundant, then its nonreconvergent fanout branches and fanout branches reconvergent only with equal inversion parity are also redundant

Redundancy Removal Redundancy Removal Removal of F s-a-0

Redundancy Removal Redundancy Removal There are circuits where removal of a redundant fault exposes another redundant fault There are circuits where removal of one redundancy makes the circuit slower 2-bit carry skip adder