Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators.

Slides:



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

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Automatic Test Generation and Logic Optimization.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
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
Timing Analysis - Delay Analysis Models
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.
Partial Implications, etc.
3/30/05Agrawal: Implication Graphs1 Implication Graphs and Logic Testing Vishwani D. Agrawal James J. Danaher Professor Dept. of ECE, Auburn University.
1 Recursive Learning Madhurima Maddela. ELEC /26/052 Decision Tree Traditionally used to branch and bound in the search space to generate test.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 91 Lecture 9 Combinational Automatic Test-Pattern Generation (ATPG) Basics n Algorithms and representations.
Jan. 29, 2002Gaur, et al.: DELTA'021 A New Transitive Closure Algorithm with Application to Redundancy Identification Vivek Gaur Avant! Corp., Fremont,
1 Lecture 11 Major Combinational Automatic Test-Pattern Generation Algorithms n Definitions n D-Algorithm (Roth) D-cubes Bridging faults Logic.
6/11/2015A Fault-Independent etc…1 A Fault-Independent Transitive Closure Algorithm for Redundancy Identification Vishal J. Mehta Kunal K. Dave Vishwani.
Algorithms and representations Structural vs. functional test
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.
Lecture 6 Testability Measures
Logic Synthesis 5 Outline –Multi-Level Logic Optimization –Recursive Learning - HANNIBAL Goal –Understand recursive learning –Understand HANNIBAL algorithms.
1 Lecture 10 Redundancy Removal Using ATPG n Redundancy identification n Redundancy removal Original slides copyright by Mike Bushnell and Vishwani Agrawal.
1 Oct 24-26, 2006 ITC'06 Fault Coverage Estimation for Non-Random Functional Input Sequences Soumitra Bose Intel Corporation, Design Technology, Folsom,
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Using Contrapositive Law to Enhance Implication Graphs of Logic Circuits Kunal K Dave Master’s Thesis Electrical & Computer Engineering Rutgers University.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 81 Lecture 8 Testability Measures n Origins n Controllability and observability n SCOAP measures 
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 111 Lecture 11 Major Combinational Automatic Test-Pattern Generation Algorithms n Definitions n D-Algorithm.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 101 Lecture 10 Combinational ATPG and Logic Redundancy n Redundancy identification n Redundancy removal.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
Using Contrapositive Law in an Implication Graph to Identify Logic Redundancies Kunal K. Dave ATI Research INC. Vishwani D. Agrawal Dept. of ECE, Auburn.
Spring 08, Apr 8 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Combinational Circuit ATPG Vishwani D. Agrawal.
Unit II Test Generation
VLSI Testing Lecture 7: Combinational ATPG
Technical University Tallinn, ESTONIA 1 Boolean derivatives Calculation of the Boolean derivative: Given:
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
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.
ECE 260B – CSE 241A Testing 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Testing Website:
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
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.
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 & BushnellVLSI Test: Lecture 51 Lecture 5 Fault Modeling n Why model faults? n Some real defects in VLSI and PCB n Common fault.
Hybrid BDD and All-SAT Method for Model Checking
Lecture 9 Advanced Combinational ATPG Algorithms
Algorithms and representations Structural vs. functional test
VLSI Testing Lecture 4: Testability Analysis
Algorithms and representations Structural vs. functional test
CS137: Electronic Design Automation
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 7: Combinational ATPG
Lecture 10 Sequential Circuit ATPG Time-Frame Expansion
ELEC Digital Logic Circuits Fall 2014 Logic Testing (Chapter 12)
Automatic Test Generation for Combinational Circuits
CPE/EE 428, CPE 528 Testing Combinational Logic (4)
VLSI Testing Lecture 8: Sequential ATPG
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
Sungho Kang Yonsei University
Theorems on Redundancy Identification
CS137: Electronic Design Automation
Presentation transcript:

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 121 Lecture 12 Advanced Combinational ATPG Algorithms  FAN – Multiple Backtrace (1983)  TOPS – Dominators (1987)  SOCRATES – Learning (1988)  Legal Assignments (1990)  EST – Search space learning (1991)  BDD Test generation (1991)  Implication Graphs and Transitive Closure ( )  Recursive Learning (1995)  Test Generation Systems  Test Compaction  Summary

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 122 FAN -- Fujiwara and Shimono (1983)  New concepts:  Immediate assignment of uniquely- determined signals  Unique sensitization  Stop Backtrace at head lines  Multiple Backtrace

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 123 PODEM Fails to Determine Unique Signals  Backtracing operation fails to set all 3 inputs of gate L to 1  Causes unnecessary search

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 124 FAN -- Early Determination of Unique Signals  Determine all unique signals implied by current decisions immediately  Avoids unnecessary search

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 125 PODEM Makes Unwise Signal Assignments  Blocks fault propagation due to assignment J = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 126 Unique Sensitization of FAN with No Search  FAN immediately sets necessary signals to propagate fault Path over which fault is uniquely sensitized

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 127 Headlines  Headlines H and J separate circuit into 3 parts, for which test generation can be done independently

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 128 Contrasting Decision Trees PODEM decision tree FAN decision tree

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 129 PODEM – Depth-first search 6 times Multiple Backtrace FAN – breadth-first passes – 1 time PODEM – depth-first passes – 6 times

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1210 AND Gate Vote Propagation  AND Gate  Easiest-to-control Input –  # 0’s = OUTPUT # 0’s  # 1’s = OUTPUT # 1’s  All other inputs --  # 0’s = 0  # 1’s = OUTPUT # 1’s [5, 3] [0, 3]

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1211 Multiple Backtrace Fanout Stem Voting  Fanout Stem --  # 0’s =  Branch # 0’s,  # 1’s =  Branch # 1’s [5, 1] [1, 1] [3, 2] [4, 1] [5, 1] [18, 6]

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1212 Multiple Backtrace Algorithm repeat remove entry (s, v s ) from current_objectives; If (s is head_objective) add (s, v s ) to head_objectives; else if (s not fanout stem and not PI) vote on gate s inputs; if (gate s input I is fanout branch) vote on stem driving I; add stem driving I to stem_objectives; else add I to current_objectives;

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1213 Rest of Multiple Backtrace if (stem_objectives not empty) (k, n0 (k), n1 (k)) = highest level stem from stem_objectives; if (n0 (k) > n1 (k)) v k = 0; else v k = 1; if ((n0 (k) != 0) && (n1 (k) != 0) && (k not in fault cone)) return (k, v k ); add (k, v k ) to current_objectives; return (multiple_backtrace (current_objectives)); remove one objective (k, v k ) from head_objectives; return (k, v k );

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1214 TOPS – Dominators Kirkland and Mercer (1987)  Dominator of g – all paths from g to PO must pass through the dominator  Absolute -- k dominates B  Relative – dominates only paths to a given PO  If dominator of fault becomes 0 or 1, backtrack

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1215 SOCRATES Learning (1988)  Static and dynamic learning:  a = 1 f = 1 means that we learn f = 0 a = 0 by applying the Boolean contrapositive theorem  Set each signal first to 0, and then to 1  Discover implications  Learning criterion: remember f = v f only if:  f = v f requires all inputs of f to be non-controlling  A forward implication contributed to f = v f  

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1216 Improved Unique Sensitization Procedure  When a is only D-frontier signal, find dominators of a and set their inputs unreachable from a to 1  Find dominators of single D-frontier signal a and make common input signals non-controlling

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1217 Constructive Dilemma  [(a = 0) (i = 0)] [(a = 1) (i = 0)] (i = 0)  If both assignments 0 and 1 to a make i = 0, then i = 0 is implied independently of a    

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1218 Modus Tollens and Dynamic Dominators  Modus Tollens: (f = 1) [(a = 0) (f = 0)] (a = 1)  Dynamic dominators:  Compute dominators and dynamically learned implications after each decision step  Too computationally expensive   

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1219 EST – Dynamic Programming (Giraldi & Bushnell)  E-frontier – partial circuit functional decomposition  Equivalent to a node in a BDD  Cut-set between circuit part with known labels and part with X signal labels  EST learns E-frontiers during ATPG and stores them in a hash table  Dynamic programming – when new decomposition generated from implications of a variable assignment, looks it up in the hash table  Avoids repeating a search already conducted  Terminates search when decomposition matches:  Earlier one that lead to a test (retrieves stored test)  Earlier one that lead to a backtrack  Accelerated SOCRATES nearly 5.6 times

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1220 Fault B sa1

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1221 Fault h sa1

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1222 Implication Graph ATPG Chakradhar et al. (1990)  Model logic behavior using implication graphs  Nodes for each literal and its complement  Arc from literal a to literal b means that if a = 1 then b must also be 1  Extended to find implications by using a graph transitive closure algorithm – finds paths of edges  Made much better decisions than earlier ATPG search algorithms  Uses a topological graph sort to determine order of setting circuit variables during ATPG

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1223 Example and Implication Graph

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1224 Graph Transitive Closure  When d set to 0, add edge from d to d, which means that if d is 1, there is conflict  Can deduce that (a = 1) F  When d set to 1, add edge from d to d 

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1225 Consequence of F = 1  Boolean false function F (inputs d and e) has deF  For F = 1, add edge F F so deF reduces to d e  To cause de = 0 we add edges: e d and d e  Now, we find a path in the graph b b  So b cannot be 0, or there is a conflict  Therefore, b = 1 is a consequence of F = 1    

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1226 Related Contributions  Larrabee – NEMESIS -- Test generation using satisfiability and implication graphs  Chakradhar, Bushnell, and Agrawal – NNATPG – ATPG using neural networks & implication graphs  Chakradhar, Agrawal, and Rothweiler – TRAN -- Transitive Closure test generation algorithm  Cooper and Bushnell – Switch-level ATPG  Agrawal, Bushnell, and Lin – Redundancy identification using transitive closure  Stephan et al. – TEGUS – satisfiability ATPG  Henftling et al. and Tafertshofer et al. – ANDing node in implication graphs for efficient solution

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1227 Recursive Learning Kunz and Pradhan (1992)  Applied SOCRATES type learning recursively  Maximum recursion depth r max determines what is learned about circuit  Time complexity exponential in r max  Memory grows linearly with r max

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1228 Recursive_Learning Algorithm for each unjustified line for each input: justification assign controlling value; make implications and set up new list of unjustified lines; if (consistent) Recursive_Learning (); if (> 0 signals f with same value V for all consistent justifications) learn f = V; make implications for all learned values; if (all justifications inconsistent) learn current value assignments as consistent;

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1229 Recursive Learning  i1 = 0 and j = 1 unjustifiable – enter learning i1 = 0 j = 1 a1 b1 h c1 k d1 b a d c d2 c2 b2 a2 f2 e2 f1 e1 h2 g2 g1 h1 i2

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1230 Justify i1 = 0  Choose first of 2 possible assignments g1 = 0 i1 = 0 j = 1 a1 b1 h c1 k d1 b a d c d2 c2 b2 a2 f2 e2 f1 e1 h2 g2 g1 = 0 h1 i2

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1231 Implies e1 = 0 and f1 = 0  Given that g1 = 0 i1 = 0 j = 1 a1 b1 h c1 k d1 b a d c d2 c2 b2 a2 f2 e2 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1232 Justify a1 = 0, 1st Possibility  Given that g1 = 0, one of two possibilities i1 = 0 j = 1 a1 = 0 b1 h c1 k d1 b a d c d2 c2 b2 a2 f2 e2 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1233 Implies a2 = 0  Given that g1 = 0 and a1 = 0 i1 = 0 j = 1 a1 = 0 b1 h c1 k d1 b a d c d2 c2 b2 a2 = 0 f2 e2 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1234 Implies e2 = 0  Given that g1 = 0 and a1 = 0 i1 = 0 j = 1 a1 = 0 b1 h c1 k d1 b a d c d2 c2 b2 a2 = 0 f2 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1235 Now Try b1 = 0, 2 nd Option  Given that g1 = 0 i1 = 0 j = 1 a1 b1 = 0 h c1 k d1 b a d c d2 c2 b2 a2 f2 e2 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1236 Implies b2 = 0 and e2 = 0  Given that g1 = 0 and b1 = 0 i1 = 0 j = 1 a1 b1 = 0 h c1 k d1 b a d c d2 c2 b2 = 0 a2 f2 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1237 Both Cases Give e2 = 0, So Learn That i1 = 0 j = 1 a1 b1 h c1 k d1 b a d c d2 c2 b2 a2 f2 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1238 Justify f1 = 0  Try c1 = 0, one of two possible assignments i1 = 0 j = 1 a1 b1 h c1 = 0 k d1 b a d c d2 c2 b2 a2 f2 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1239 Implies c2 = 0  Given that c1 = 0, one of two possibilities i1 = 0 j = 1 a1 b1 h c1 = 0 k d1 b a d c d2 c2 = 0 b2 a2 f2 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1240 Implies f2 = 0  Given that c1 = 0 and g1 = 0 i1 = 0 j = 1 a1 b1 h c1 = 0 k d1 b a d c d2 c2 = 0 b2 a2 f2 = 0 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1241 Try d1 = 0  Try d1 = 0, second of two possibilities i1 = 0 j = 1 a1 b1 h c1 k d1 = 0 b a d c d2 c2 b2 a2 f2 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1242 Implies d2 = 0  Given that d1 = 0 and g1 = 0 i1 = 0 j = 1 a1 b1 h c1 k d1 = 0 b a d c d2 = 0 c2 b2 a2 f2 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1243 Implies f2 = 0  Given that d1 = 0 and g1 = 0 i1 = 0 j = 1 a1 b1 h c1 k d1 = 0 b a d c d2 = 0 c2 b2 a2 f2 = 0 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 = 0 e1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1244 Since f2 = 0 In Either Case, Learn f2 = 0 i1 = 0 j = 1 a1 b1 h c1 k d1 b a d c d2 c2 b2 a2 f2 = 0 e2 = 0 h2 g2 h1 i2 g1 = 0 f1 e1

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1245 Implies g2 = 0 i1 = 0 j = 1 a1 b1 h c1 k d1 b a d c d2 c2 b2 a2 f2 = 0 e2 = 0 h2 g2 = 0 h1 i2 g1 = 0 f1 e1

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1246 Implies i2 = 0 and k = 1 i1 = 0 j = 1 a1 b1 h c1 k = 1 d1 b a d c d2 c2 b2 a2 f2 = 0 e2 = 0 h2 g2 = 0 h1 i2 = 0 g1 = 0 f1 e1

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1247 Justify h1 = 0 i1 = 0 j = 1 a1 b1 h c1 k d1 b a d c d2 c2 b2 a2 f2 e2 f1 e1 h2 g2 g1 h1 = 0 i2  Second of two possibilities to make i1 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1248 Implies h2 = 0  Given that h1 = 0 i1 = 0 j = 1 a1 b1 h c1 k d1 b a d c d2 c2 b2 a2 f2 e2 f1 e1 h2 = 0 g2 g1 h1 = 0 i2

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1249 Implies i2 = 0 and k = 1  Given 2 nd of 2 possible assignments h1 = 0 i1 = 0 j = 1 a1 b1 h c1 k = 1 d1 b a d c d2 c2 b2 a2 f2 e2 f1 e1 h2 = 0 g2 g1 h1 = 0 i2 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1250 Both Cases Cause k = 1 (Given j = 1), i2 = 0  Therefore, learn both independently i1 = 0 j = 1 a1 b1 h c1 k = 1 d1 b a d c d2 c2 b2 a2 f2 e2 f1 e1 h2 g2 g1 h1 i2 = 0

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1251 Other ATPG Algorithms  Legal assignment ATPG (Rajski and Cox)  Maintains power-set of possible assignments on each node {0, 1, D, D, X}  BDD-based algorithms  Catapult (Gaede, Mercer, Butler, Ross)  Tsunami (Stanion and Bhattacharya) – maintains BDD fragment along fault propagation path and incrementally extends it  Unable to do highly reconverging circuits (parallel multipliers) because BDD essentially becomes infinite

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1252 Fault Coverage and Efficiency Fault coverage = Fault efficiency # of detected faults Total # faults # of detected faults Total # faults -- # undetectable faults =

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1253 Test Generation Systems Circuit Description Test Patterns Undetected Faults Redundant Faults Aborted Faults Backtrack Distribution Fault List Compacter SOCRATES With fault simulator

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1254 Test Compaction  Fault simulate test patterns in reverse order of generation  ATPG patterns go first  Randomly-generated patterns go last (because they may have less coverage)  When coverage reaches 100%, drop remaining patterns (which are the useless random ones)  Significantly shortens test sequence – economic cost reduction

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1255 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 D-intersection  Detects union of faults detected by t a & t b  Dynamic compaction  Process every partially-done ATPG vector immediately  Assign 0 or 1 to PIs to test additional faults 

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1256 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

Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 1257 Summary  Test Bridging, Stuck-at, Delay, & Transistor Faults  Must handle non-Boolean tri-state devices, buses, & bidirectional devices (pass transistors)  Hierarchical ATPG -- 9 Times speedup (Min)  Handles adders, comparators, MUXes  Compute propagation D-cubes  Propagate and justify fault effects with these  Use internal logic description for internal faults  Results of 40 years research – mature – methods:  Path sensitization  Simulation-based  Boolean satisfiability and neural networks