VLSI Testing Combinational Combinational ATPG ATPG Algorithms Algorithms Virendra Singh Indian Institute of Science (IISc) Bangalore [email protected] E0-286: Testing and Verification of SoC Design Lecture – 13 Feb 18, 2008 E0-286@SERC 1 FANout FANout –– oriented oriented test test generation generation FAN FAN (Fujiwara, (Fujiwara, 1983) 1983) Feb 18, 2008 E0-286@SERC 2 TG TG Algorithms Algorithms Objective TG time reduction ¾ Reduce number of backtracks ¾ Find out the non-existence of solution as ¾ Feb 18, 2008 soon as possible Branch and bound E0-286@SERC 3 FAN FAN Algorithm Algorithm New concepts: ¾ Immediate assignment of uniquely¾ ¾ ¾ Feb 18, 2008 determined signals Unique sensitization Stop Backtrace at head lines Multiple Backtrace E0-286@SERC 4 FAN FAN Algorithm Algorithm Strategies: Strategy1: ¾ In step of the algorithm determine as many signal values as possible Implication Strategy 2: ¾ Assign faulty signal D or D’ that is uniquely determined or implied by the fault in question Feb 18, 2008 E0-286@SERC 5 PODEM PODEM Fails Fails to to Determine Determine Unique Unique Signals Signals Backtracing operation fails to set all 3 inputs of gate L to 1 Causes unnecessary search Feb 18, 2008 E0-286@SERC 6 FAN FAN ---- Early Early Determination Determination of of Unique Unique Signals Signals Determine all unique signals implied by current decisions immediately Avoids unnecessary search Feb 18, 2008 E0-286@SERC 7 PODEM PODEM Makes Makes Unwise Unwise Signal Signal Assignments Assignments 1 0 0 0 1 Blocks fault propagation due to assignment J = 0 Feb 18, 2008 E0-286@SERC 8 FAN FAN –– Unique Unique sensitization sensitization J=1 A=1 C=1 F =D’ H =D K M B=0 E =D G =1 L=1 FAN immediately sets necessary signals to propagate fault Unique sensitization and implication Partial sensitization, which uniquely determined, is called unique sensitization Feb 18, 2008 E0-286@SERC 9 FAN FAN Algorithm Algorithm Strategies: Strategy 3: ¾ When the D-frontier consists of a single gate, apply a unique sensitization Strategy 4: ¾ Stop the backtrace at a headline, and postpone the line justification for the headline to later Feb 18, 2008 E0-286@SERC 10 Headlines Headlines H E F J A M K L B C • When a line L is reachable from a fanout point, L is said to be bound • A signal line that is not bound is said to be free • When a line is adjacent to some bound line, it is said to be head line Feb 18, 2008 E0-286@SERC 11 Decision Decision Trees Trees H E F A J B C 0 M K L A=1 J=1 B=1 B=0 J=0 C=0 C=1 Backtracking at Head-lines PODEM Feb 18, 2008 E0-286@SERC 12 FAN FAN Algorithm Algorithm Strategies: Strategy 5: ¾ Multiple backtracing (concurrent backtracing of more than one path) is more efficient than backtracing along a single path Objective for multiple backtrace Triplet (s, n0(s), n1(s)) Feb 18, 2008 E0-286@SERC 13 Multiple Multiple Backtrace Backtrace FAN – breadth-first passes – 1 time PODEM – depth-first passes – 6 times Feb 18, 2008 E0-286@SERC 14 FAN FAN Algorithm Algorithm Objective for multiple backtrace Triplet (s, n0(s), n1(s)) AND gate Let X be the easiest to set to 0 input n0(X) = n0(Y), n1(X) = n1(Y) For other inputs Xi n0(Xi) = 0 , n1(Xi) = n1(Y) OR gate Let X be the easiest to set to 1 input n0(X) = n0(Y), n1(X) = n1(Y) For other inputs Xi n0(Xi) = n0(Y) , n1(Xi) = 0 Feb 18, 2008 E0-286@SERC 15 FAN FAN Algorithm Algorithm NOT gate n0(X) = n1(Y), n1(X) = n0(Y) Fanout points n0(X) = ∑ n0(Xi), n1(X) = ∑ n1(Xi) Feb 18, 2008 E0-286@SERC 16 AND AND Gate Gate Vote Vote Propagation Propagation [5, 3] [0, 3] [5, 3] [0, 3] [0, 3] AND Gate Easiest-to-control Input – # 0’s = OUTPUT # 0’s # 1’s = OUTPUT # 1’s All other inputs - Feb 18, 2008 # 0’s = 0 # 1’s = OUTPUT # 1’s E0-286@SERC 17 Multiple Multiple Backtrace Backtrace Fanout Fanout Stem Stem Voting Voting [5, 1] [1, 1] [3, 2] [18, 6] [4, 1] [5, 1] Fanout Stem -# 0’s = Σ Branch # 0’s, # 1’s = Σ Branch # 1’s Feb 18, 2008 E0-286@SERC 18 FAN FAN (A, 1. 0) (G,0.1) (J, 0. 1) (k, 0. 1) (D, 2. 0) (q, 0. 1) (N, 1. 0) (H, 0. 2) (L, 0. 1) (E, 0. 1) Feb 18, 2008 (M, 0. 1) E0-286@SERC (P, 0. 1) (R, 1. 0) 19 FAN FAN Algorithm Algorithm Strategies: Strategy 6: ¾ In the multiple backtrace, if an objective at a fanout point p has a contraditory requirement, that is, if both n0(p) and n1(p) are non-zero, stop backtrace so as to assign a binary value to the fanout point. Feb 18, 2008 E0-286@SERC 20 FAN FAN -- Algorithm Algorithm Start Set a faulty signal Set backtrace flag Implication Is continuation of backtrace meaningful? Set backtrace flag Faulty signal propagated to PO? The number of gatesin D-frontier? Is there an untried combination of values on headlines or FOs? No test exists Feb 18, 2008 Unique sensitization Set untried Combination Of values; and set backtrace flag E0-286@SERC Is there any unjustified bound lines? Line justification For free lines Determine a final Test Objective to Assign a value generated Assign value to the final obj. line 21
© Copyright 2026 Paperzz