Spring 08, Apr 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Combinational Circuit ATPG Vishwani D. Agrawal.

Slides:



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

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators.
Based on text by S. Mourad "Priciples of Electronic Systems" Digital Testing: Design Representation and Fault Detection
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 13/12alt1 Lecture 13 Sequential Circuit ATPG Time-Frame Expansion (Lecture 12alt in the Alternative.
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 71 Lecture 7 Fault Simulation n Problem and motivation n Fault simulation algorithms n Serial n Parallel.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 91 Lecture 9 Combinational Automatic Test-Pattern Generation (ATPG) Basics n Algorithms and representations.
A Diagnostic Test Generation System Yu Zhang Vishwani D. Agrawal Auburn University, Auburn, Alabama USA Nov. 3rdITC
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
1 Lecture 11 Major Combinational Automatic Test-Pattern Generation Algorithms n Definitions n D-Algorithm (Roth) D-cubes Bridging faults Logic.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4b1 Design for Testability Theory and Practice Lecture 4b: Fault Simulation n Problem and motivation.
Algorithms and representations Structural vs. functional test
Fall 2006, Oct. 31, Nov. 2 ELEC / Lecture 10 1 ELEC / (Fall 2006) Low-Power Design of Electronic Circuits Power Analysis:
Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Testability Measures Vishwani D. Agrawal James.
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.
4/28/05 Raghuraman: ELEC To Generate a Single Test Vector to detect all/most number of faults in a given set Project by: Arvind Raghuraman Course.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 61 Design for Testability Theory and Practice Lecture 6: Combinational ATPG n ATPG problem n Example.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11alt1 Lecture 11alt Advances in Combinational ATPG Algorithms  Branch and Bound Search  FAN – Multiple.
Spring 07, Feb 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Logic Equivalence Vishwani D. Agrawal James J.
Lecture 5 Fault Simulation
Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Fault Simulation Vishwani D. Agrawal James J.
Spring 07, Mar 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Timing Verification and Optimization Vishwani D.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 111 Lecture 11 Major Combinational Automatic Test-Pattern Generation Algorithms n Definitions n D-Algorithm.
Dominance Fault Collapsing of Combinational Circuits By Kalpesh Shetye & Kapil Gore ELEC 7250, Spring 2004.
ELEN 468 Lecture 231 ELEN 468 Advanced Logic Design Lecture 23 Testing.
Spring 08, Feb 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Timing Verification and Optimization Vishwani D.
Testing.
Introduction to IC Test
Unit II Test Generation
VLSI Testing Lecture 7: Combinational ATPG
Chapter 7. Testing of a digital circuit
Muralidharan Venkatasubramanian Vishwani D. Agrawal
ECE 260B – CSE 241A Testing 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Testing Website:
Fault Models, Fault Simulation and Test Generation Vishwani D. Agrawal Department of ECE, Auburn University Auburn, AL 36849, USA
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,
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
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.
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) 李晓维 中科院计算技术研究所
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
Fault Models, Fault Simulation and Test Generation Vishwani D. Agrawal Department of ECE, Auburn University Auburn, AL 36849, USA
VLSI Testing Lecture 4: Testability Analysis
VLSI Testing Lecture 6: Fault Simulation
Algorithms and representations Structural vs. functional test
Lecture 7 Fault Simulation
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
Definitions D-Algorithm (Roth) D-cubes Bridging faults
Lecture 13 Sequential Circuit ATPG Time-Frame Expansion
Definitions D-Algorithm (Roth) D-cubes Bridging faults
VLSI Testing Lecture 6: Fault Simulation
VLSI Testing Lecture 7: Combinational ATPG
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)
Vishwani D. Agrawal James J. Danaher Professor
Automatic Test Generation for Combinational Circuits
VLSI Testing Lecture 8: Sequential ATPG
ELEC 7770 Advanced VLSI Design Spring 2014 Technology Mapping
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
VLSI Testing Lecture 4: Testability Analysis
ELEC Digital Logic Circuits Fall 2015 Logic Testing (Chapter 12)
Presentation transcript:

Spring 08, Apr 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Combinational Circuit ATPG Vishwani D. Agrawal James J. Danaher Professor ECE Department, Auburn University Auburn, AL

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)2 ATPG Problem   ATPG: Automatic test pattern generation   Given   A circuit (usually at gate-level)   A fault model (usually stuck-at type)   Find   A set of input vectors to detect all modeled faults.   Core problem: Find a test vector for a given fault.   Combine the “core solution” with a fault simulator into an ATPG system.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)3 What is a Test? X100101XXX100101XX Stuck-at-0 fault 1/0 Fault activation Path sensitization Primary inputs (PI) Primary outputs (PO) Combinational circuit 1/0 Fault effect

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)4 ATPG is a Search Problem   Search the input vector space for a test:   Initialize all signals to unknown (X) state – complete vector space is the playing field   Activate the given fault and sensitize a path to a PO – narrow down to one or more tests XXXXXX sa1 Circuit Vector Space X01X01 sa1 Circuit Vector Space 0/

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)5 Need to Deal With Two Copies of the Circuit X01X01 Good circuit 0 X01X01 sa1 Faulty circuit 1 X01X01 sa1 Circuit 0/1 Alternatively, use a multi-valued algebra of signal values for both good and faulty circuits. Same input Different outputs X X X

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)6 Multiple-Valued Algebras Symbol D 0 1 X G0 G1 F0 F1 Alternative Representation 1/0 0/1 0/0 1/1 X/X 0/X 1/X X/0 X/1 Faulty Circuit X 0 1 Fault-free circuit X 0 1 X Roth’s Algebra Muth’s Additions

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)7 Key References   J. P. Roth, W. G. Bouricius, and P. R. Schneider, “Programmed Algorithms to Compute Tests to Detect and Distinguish Between Failures in Logic Circuits,” IEEE Trans. Electronic Computers, vol. EC-16, no. 5, pp , Oct   P. Muth, “A Nine-Valued Circuit Model for Test Generation,” IEEE Trans. Computers, vol. C-25, no. 6, pp , June 1976.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)8 Function of NAND Gate c Input a 01XD XD X1XXXX D1X1 1DX1D D D D D D a b c D 1/0 0/1 D 1 Input b

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)9 D-Algorithm (Roth et al., 1967, D-alg II)   Use D-algebra   Activate fault   Place a D or D at fault site   Do justification, forward implication and consistency check for all signals   Repeatedly propagate D-chain toward POs through a gate   Do justification, forward implication and consistency check for all signals   Backtrack if   A conflict occurs, or   D-frontier becomes a null set   Stop when   D or D at a PO, i.e., test found, or   If search exhausted without a test, then no test possible

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)10 Definitions   Justification: Changing inputs of a gate if the present input values do not justify the output value.   Forward implication: Determination of the gate output value, which is X, according to the input values.   Consistency check: Verifying that the gate output is justifiable from the values of inputs, which may have changed since the output was determined.   D-frontier: Set of gates whose inputs have a D or D, and the output is X.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)11 Definition: Singular Cover   A singular cover defines the least restrictive inputs for a deterministic output value.   Used for:   Line justification: determine gate inputs for specified output.   Forward implication: determine gate output. a b c Singular covers abc SC-10X1 SC-2X01 SC-3110 XXXX 0 Examples:XX0 ∩ 110 = 110 0XX ∩ 0X1 = 0X1

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)12 Definition: D-Cubes   D-cubes are singular covers with five-valued signals   Used for D-drive (propagation of D through gates) and forward implication. D-cubeabc D-1D1 D-21D D-31D D-41D D-5DD D-6D D-7D01 D-80D1 D-9D1 D-10D1 D D D D D D D D D a b c XDXD X Examples:XDX ∩ 1DD = 1DD 0DX ∩ 0D1 = 0D1 DDX ∩ DD1 = DD1

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)13 D-Intersection ∩01XD X01XD DDD D D D D Undefined State (conflict) D

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)14 An Example: XOR a b a2 a1 b1 b2 c1 c c2 d e f Find tests for:c sa0 c1 sa0 c2 sa0

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)15 XOR: Test for c sa0 a b a2 a1 b1 b2 c1 c c2 d e f ActionOperationD-frontier 1.Activate faultc=1 or c=c1=c2=Dd, e 2.Justify c=1XX1 ∩ 0X1 = 0X1, a=a1=a2=0d, e 3.Forward impl a2=00DX ∩ 0D1= 0D1, d=1e 4.Forward imp d=11XX ∩ XXX= 1XX, no implication possiblee 5.D-drive c2→eDXX ∩ D1D= D1D, b2=b=b1=1, e=Df 6.Forward impl b1=1011 ∩ 0X1 = 011, consistency checkedf 7.D-drive e→f1DX ∩ 1DD = 1DD, f=DPO 8.Stop, test foundTest: (a,b) = (0, 1), f = 1

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)16 Finding Other Detected Faults by the Generated Test   Use any fault simulator:   Serial   Deductive   Concurrent   Other   Test-Detect: A simple fault simulation algorithm   Uses true-value simulation   Uses D-algebra for fault analysis   Roth et al., 1967

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)17 Test-Detect: XOR, Test (0,1)   Determine good circuit signal values.   For each fault   Place a D or D at the fault site   Perform forward implications   Fault is detected if any PO assumes a D or D value a b a2 a1 b1 b2 c1 c c2 d e f b1 b2 D for c1 sa0 D for c2 sa0 D D 0DX ∩ 0D1 = 0D1 (null D-frontier) → c1 sa0 not detected D1X ∩ D1D = D1D 1DX ∩ 1DD = 1DD, D at PO → c2 sa0 is detected

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)18 XOR: Test for c1 sa0 a b a2 a1 b1 b2 c1 c c2 d e f ActionOperationD-frontier 1.Activate faultc1=1 or c=c2=1, c1=Dd 2.Justify c=1XX1 ∩ 0X1 = 0X1, a=a1=a2=0 d 3.Forward impl a2=00DX ∩ 0D1= 0D1, d=1null 4.Back-up, redo step 3No choice availablenull 5.Back-up, redo step 2XX1 ∩ X01 = X01, b=b1=b2=0, a=X, d=Xd 6.Forward impl b2=010X ∩ X01 = 101, e=1d 7.Forward impl e=1X1X ∩ XXX = X1X, no implication possibled 8.D-drive c1→dXDX ∩ 1DD= 1DD, a2=a=a1=1,d=Df 9.Forward impl a1=1101 ∩ X01 = 101, consistency checkedf 10.Forward impl d=DD1X ∩ D1D = D1D, f=DPO 11.Stop, test foundTest: (a,b) = (1, 0), f = 1

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)19 Complexity of D-Alg II   Signal values on all lines (PIs and internal lines) are manipulated using 5-valued algebra.   Worst-case combinations of signals that may be tried is 5 #lines   For XOR circuit, 5 12 = 244,140,625.   Podem: A reduced-complexity ATPG algorithm   Recognizes that internal signals depend on PIs.   Only PIs are independent variables and should be manipulated.   Because faults are internal, a PI can assume only 3 values (0, 1, X).   Worst-case combinations = 3 #PI ; for XOR circuit, 3 2 = 8.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)20 Podem (Goel, 1981)   Podem: Path oriented decision making   Step 1: Define an objective (fault activation, D-drive, or line justification)   Step 2: Backtrace from site of objective to PIs (use testability measure guidance) to determine a value for a PI   Step 3: Simulate logic with new PI value   If objective not accomplished but is possible, then continue backtrace to another PI (step 2)   If objective accomplished and test not found, then define new objective (step 1)   If objective becomes impossible, try alternative backtrace (step 2)   Use X-PATH-CHECK to test whether D-frontier still there – a path of X’s from a D-frontier to a PO must exist.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)21 Reference for Podem P. Goel, “An Implicit Enumeration Algorithm to Generate Tests for Combinational Logic Circuits,” IEEE Trans. Computers, vol. C-30, no. 3, pp , March 1981.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)22 XOR Example Again (1,1)6 (3,2)5 (4,2)3 (5,5) Compute SCOAP testability measures: (CC0,CC1)CO 7 7

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)23 Podem: Objective and Backtrace (1,1)6 (3,2)5 (4,2)3 (5,5) sa0 1. Objective 1: set fault site to 1 0 2&3. Backtrace to a PI and simulate 1 1 D X-path check fails → Back up: Erase effects of steps 2&3 Try alternative backtrace 7 7

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)24 Podem: Back up (1,1)6 (3,2)5 (4,2)3 (5,5) sa0 1. Objective 1: set fault site to 1 0 4&5. Alt. backtrace to a PI and simulate 1 1 D X-path check: OK Objective 1 achieved X-path 7 7

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)25 Podem: D-Drive (1,1)6 (3,2)5 (4,2)3 (5,5) sa0 4. Objective 2: D-drive, set line to Backtrace to a PI and simulate 1 1 D 1 D D 0 D at PO →Test found 7 7

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)26 An ATPG System Random pattern generator Fault simulator Fault coverage improved? Random patterns effective? Save patterns Deterministic ATPG (D-alg. or Podem) yes no yes no Compact vectors Coverage Sufficient? no yes

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)27 Random-Pattern Generation   Easily gets tests for % of faults   Then switch to D-algorithm, Podem, or other ATPG method

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)28 Vector Compaction   Objective: Reduce the size of test vector set without reducing fault coverage.   Simulate faults with test vectors in reverse order of generation   ATPG patterns go first   Randomly-generated patterns go last (because they may have less coverage)   When coverage reaches 100% (or the original maximum value), drop remaining patterns   Significantly shortens test sequence – testing cost reduction.   Fault simulator is frequently used for compaction.   Many recent (improved) compaction algorithms.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)29 Static and Dynamic Compaction of Sequences   Static compaction   ATPG should leave unassigned inputs as X   Two patterns compatible – if no conflicting values for any PI   Combine two tests t a and t b into one test t ab = t a ∩ t b using intersection   Detects union of faults detected by t a and t b   Dynamic compaction   Process every partially-done ATPG vector immediately   Assign 0 or 1 to PIs to test additional faults

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)30 Compaction Example   t 1 = 0 1 X t 2 = 0 X 1 t 3 = 0 X 0 t 4 = X 0 1   Combine t 1 and t 3, then t 2 and t 4   Obtain:   t 13 = t 24 =   Test Length shortened from 4 to 2

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)31 Summary   Most combinational ATPG algorithms use D-algebra.   D-Algorithm is a complete algorithm:   Finds a test, or   Determines the fault to be redundant   Complexity is exponential in circuit size   Podem is another complete algorithm:   Works on primary inputs – search space is smaller than that of D- algorithm   Exponential complexity, but several orders faster than D-algorithm   More efficient algorithms available – FAN, Socrates, etc.   See, M. L. Bushnell and V. D. Agrawal, Essentials of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits, Springer, 2000, Chapter 7.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)32 Exercise   For the circuit shown above   Determine SCOAP testability measures.   Derive a test for the stuck-at-1 fault at the output of the AND gate.   Using the parallel fault simulation algorithm, determine which of the four primary input faults are detectable by the test derived above.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)33 Exercise: Answers (1,1) 4 (1,1) 3 (1,1) 4 (1,1) 3 (2,3) 2 (4,2) 0 SCOAP testability measures, (CC0, CC1) CO, are shown below:

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)34 Exercise: Answers Cont. s-a-1 0 D D 0 0 A test for the stuck-at-1 fault shown in the diagram is 00.

Spring 08, Apr 8ELEC 7770: Advanced VLSI Design (Agrawal)35 Exercise: Answers Cont. PI1=0 PI2= No fault PI1 s-a-0 PI1 s-a-1 PI2 s-a-0 PI2 s-a-1 PI2 s-a-1 detected ■ Parallel fault simulation of four PI faults is illustrated below. Fault PI2 s-a-1 is detected by the 00 test input.