4/28/2009 Appendix: Appendix: Other ATPG algorithms Other ATPG algorithms 1 TOPS – Dominators TOPS – Dominators Kirkland and Mercer (1987) 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 2 SOCRATES Learning (1988) SOCRATES Learning (1988) Static and dynamic learning: a = 1 f = 1 means that w e 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 forw ard implication contributed to f = v f 3 1
4/28/2009 Improved Unique Improved Unique Sensitization Procedure 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 4 Constructive Dilemma 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 5 Modus Tollens and Modus Tollens and Dynamic Dominators 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 6 2
4/28/2009 EST – Dynamic Programming EST – Dynamic Programming (Giraldi & Bushnell) (Giraldi & Bushnell) E-frontier – partial circuit functional decomposition Equivalent to a node in a BDD Cut-set betw een circuit part w ith know n labels and part w ith X signal labels EST learns E-frontiers during ATPG and stores them in a hash table a hash table Dynamic programming – w hen new decomposition generated from implications of a variable assignment, looks it up in the hash table Avoids repeating a search already conducted Terminates search w hen 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 7 Fault B sa1 Fault B sa1 8 Fault h sa1 Fault h sa1 9 3
4/28/2009 Implication Graph ATPG Implication Graph ATPG Chakradhar et al. (1990) 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 10 Example and Implication Example and Implication Graph Graph 11 Graph Transitive Closure Graph Transitive Closure When d set to 0, add edge from d to d , w hich means that if d is 1, there is conflict w hich 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 12 4
4/28/2009 Consequence of F = 1 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 w e add edges: e d and d e Now , w e 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 Therefore, b = 1 is a consequence of F = 1 13 Related Contributions Related Contributions Larrabee – NEMESIS -- Test generation using satisfiability and implication graphs Chakradhar, Bushnell, and Agraw al – NNATPG – ATPG using neural netw orks & implication graphs Chakradhar, Agraw al, and Rothw eiler – TRAN -- Transitive Closure test generation algorithm T iti Cl t t ti l ith Cooper and Bushnell – Sw itch-level ATPG Agraw al, 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 14 Recursive Learning Recursive Learning Kunz and Pradhan (1992) Kunz and Pradhan (1992) Applied SOCRATES type learning recursively Maximum recursion depth r Maximum recursion depth r max determines w hat is learned about circuit Time complexity exponential in r max Memory grow s linearly w ith r max 15 5
4/28/2009 Recursive_Learning Recursive_Learning Algorithm 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 w ith 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; 16 Recursive Learning Recursive Learning i1 = 0 and j = 1 unjustifiable – enter learning a1 a b1 b e1 f1 c1 c g1 i1 = 0 d d d1 d1 h1 h a2 e2 b2 f2 c2 g2 i2 j = 1 d2 h2 k 17 Justify i1 = 0 Justify i1 = 0 Choose first of 2 possible assignments g1 = 0 a1 a b1 b e1 f1 c1 c g1 = 0 i1 = 0 d d d1 d1 h1 h a2 e2 b2 f2 c2 g2 i2 j = 1 d2 h2 k 18 6
4/28/2009 Implies e1 = 0 and f1 = 0 Implies e1 = 0 and f1 = 0 Given that g1 = 0 a1 a e1 = 0 b b1 c1 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 b2 e2 f2 c2 g2 i2 j = 1 d2 h2 k 19 Justify a1 = 0, 1st Possibility Justify a1 = 0, 1st Possibility Given that g1 = 0, one of tw o possibilities a1 = 0 a e1 = 0 b1 b c1 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 e2 b2 f2 c2 g2 i2 j = 1 d2 h2 k 20 Implies a2 = 0 Implies a2 = 0 Given that g1 = 0 and a1 = 0 a1 = 0 a e1 = 0 b1 b c1 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 = 0 e2 b2 f2 c2 g2 i2 j = 1 d2 h2 k 21 7
4/28/2009 Implies e2 = 0 Implies e2 = 0 Given that g1 = 0 and a1 = 0 a1 = 0 a e1 = 0 b b1 c1 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 = 0 e2 = 0 b2 f2 c2 g2 i2 j = 1 d2 h2 k 22 Now Try b1 = 0, 2 nd Option Now Try b1 = 0, 2 nd Option Given that g1 = 0 a1 a e1 = 0 b1 = 0 b c1 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 e2 b2 f2 c2 g2 i2 j = 1 d2 h2 k 23 Implies b2 = 0 and e2 = 0 Implies b2 = 0 and e2 = 0 Given that g1 = 0 and b1 = 0 a1 a e1 = 0 b1 = 0 b c1 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 e2 = 0 b2 = 0 f2 c2 g2 i2 j = 1 d2 h2 k 24 8
4/28/2009 Both Cases Give e2 = 0, So Both Cases Give e2 = 0, So Learn That Learn That a1 a e1 = 0 b b1 c1 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 e2 = 0 b2 f2 c2 g2 i2 j = 1 d2 h2 k 25 Justify f1 = 0 Justify f1 = 0 Try c1 = 0, one of tw o possible assignments a1 a e1 = 0 b1 b c1 = 0 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 e2 = 0 b2 f2 c2 g2 i2 j = 1 d2 h2 k 26 Implies c2 = 0 Implies c2 = 0 Given that c1 = 0, one of tw o possibilities a1 a e1 = 0 b1 b c1 = 0 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 e2 = 0 b2 c2 = 0 f2 g2 i2 j = 1 d2 h2 k 27 9
4/28/2009 Implies f2 = 0 Implies f2 = 0 Given that c1 = 0 and g1 = 0 a1 a e1 = 0 b b1 c1 = 0 c g1 = 0 i1 = 0 d d d1 d1 f1 = 0 f1 = 0 h1 h a2 e2 = 0 b2 c2 = 0 g2 i2 j = 1 d2 f2 = 0 h2 k 28 Try d1 = 0 Try d1 = 0 Try d1 = 0, second of tw o possibilities a1 a e1 = 0 b1 b c1 c g1 = 0 i1 = 0 d d d1 = 0 d1 = 0 f1 = 0 f1 = 0 h1 h a2 e2 = 0 b2 f2 c2 g2 i2 j = 1 d2 h2 k 29 Implies d2 = 0 Implies d2 = 0 Given that d1 = 0 and g1 = 0 a1 a e1 = 0 b1 b c1 c g1 = 0 i1 = 0 d d d1 = 0 d1 = 0 f1 = 0 f1 = 0 h1 h a2 e2 = 0 b2 f2 c2 g2 i2 j = 1 d2 = 0 h2 k 30 10
4/28/2009 Implies f2 = 0 Implies f2 = 0 Given that d1 = 0 and g1 = 0 a1 a e1 = 0 b b1 c1 c g1 = 0 i1 = 0 d d d1 = 0 d1 = 0 f1 = 0 f1 = 0 h1 h a2 e2 = 0 b2 c2 g2 i2 j = 1 f2 = 0 d2 = 0 h2 k 31 Since f2 = 0 In Either Since f2 = 0 In Either Case, Learn f2 = 0 Case, Learn f2 = 0 a1 a e1 b1 b c1 c g1 = 0 i1 = 0 d d d1 d1 f1 f1 h1 h a2 e2 = 0 b2 c2 g2 i2 j = 1 f2 = 0 d2 h2 k 32 Implies g2 = 0 Implies g2 = 0 a1 a e1 b1 b c1 c g1 = 0 i1 = 0 d d d1 d1 f1 f1 h1 h a2 e2 = 0 b2 g2 = 0 c2 i2 j = 1 d2 f2 = 0 h2 k 33 11
4/28/2009 Implies i2 = 0 and k = 1 Implies i2 = 0 and k = 1 a1 a e1 b b1 c1 c g1 = 0 i1 = 0 d d d1 d1 f1 f1 h1 h a2 e2 = 0 b2 g2 = 0 c2 i2 = 0 j = 1 f2 = 0 d2 h2 k = 1 34 Justify h1 = 0 Justify h1 = 0 Second of two possibilities to make i1 = 0 a1 a b1 b e1 f1 c1 c g1 i1 = 0 d d d1 d1 h1 = 0 h a2 e2 b2 f2 c2 g2 i2 j = 1 d2 h2 k 35 Implies h2 = 0 Implies h2 = 0 Given that h1 = 0 a1 a b1 b e1 f1 c1 c g1 i1 = 0 d d d1 d1 h1 = 0 h a2 e2 b2 f2 c2 g2 i2 j = 1 d2 h2 = 0 k 36 12
Recommend
More recommend