appendix appendix other atpg algorithms other atpg
play

Appendix: Appendix: Other ATPG algorithms Other ATPG algorithms 1 - PDF document

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


  1. 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

  2. 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

  3. 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. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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