Unformatted text preview:

1 ECE 538 Krish Chakrabarty 1 ECE 538 VLSI System Testing Krish Chakrabarty Test Generation: Part 1 ECE 538 Krish Chakrabarty 2 Introduction • Classification of test generation methods • Fault table analysis • Boolean difference method • Propagation, implication and justification procedures • D-algorithm • 9-V algorithm (multiple path sensitization)2 ECE 538 Krish Chakrabarty 3 General Approaches • Systematic (algorithmic) – Fault table analysis – Boolean difference method – Fault-oriented methods (D-algorithm, PODEM) – Fault-independent methods (critical path tracing) • Exhaustive/pseudoexhaustive • Random/pseudorandom ECE 538 Krish Chakrabarty 4 Fault Table Analysis • Determine fault table via simulation and solve covering problem • Covering problems are NP-complete • Computationally infeasible 2-input OR gate ab 00 x x x 01 x x 10 x x 11 x a/0 a/1 b/0 b/1 z/0 z/1 Fault a z b Test3 ECE 538 Krish Chakrabarty 5 Fault-Oriented ATPG Procedure Generate_Tests() begin repeat begin Select uncovered fault f Generate test for f Evaluate current fault coverage end until fault coverage > limit, or time runs out end ECE 538 Krish Chakrabarty 6 Boolean Difference The Boolean difference of F(x1, x2 , x3,…, xn) with respect to xi is given by ∂F ∂xi = F(x1, x2 ,…,1, x3,…, xn) ⊕ F(x1, x2 ,…,0, x3,…, xn) A test pattern for xi/0 is an input combination that makes ∂F ∂xi = 1 A test pattern for xi/1 is an input combination that makes ∂F ∂xi = 1 Cofactor w.r.t. xi Cofactor w.r.t. xi xi xi Boolean difference provides input combination for sensitized path4 ECE 538 Krish Chakrabarty 7 Boolean Difference b a c d e f g h i j k To find a test for a/0 or a/1, determine the Boolean difference of output z with respect to a: z ∂z ∂a = ? How to handle internal faults, e.g. j/0? ECE 538 Krish Chakrabarty 8 Key Terminology • Backtrace: move a goal value backwards in a circuit to a primary input • Backtrack: return to a previous decision point in an algorithm and make an alternative decision • D-frontier: Set of gates closest to primary output with D or D on some input • Implication: Determine unique signal values that are forced by signal values already assigned • Justification: Determine values to unspecified inputs of gates whose outputs are specified (backward) • Propagation (D-drive): Determine path values needed to propagate an error signal to a primary output (forward)5 ECE 538 Krish Chakrabarty 9 Testing Fanout-Free Circuits • No (reconvergent) fanout – Propagation path from any line is unique – Each line justification problem is independent of all others Test generation for line l/v in a fanout-free circuit begin set all values to X (unknown) Justify(l,v) if v = 0 then Propagate(l,D) else Propagate(l,D) end ECE 538 Krish Chakrabarty 10 Testing Fanout-Free Circuits err err 1 1 l Error propagation: Propagate(l,err) /* err is D or D */ begin set l to err if l is PO then return k = the fanout gate of l c = controlling value of k i = inversion of k for every input j of k other than l Justify(j,c) Propagate(k,err⊕ i) end6 ECE 538 Krish Chakrabarty 11 Testing Fanout-Free Circuits 1 1 l Line Justification Justify(l,val) begin set l to val if l is PI then return /* l is a gate (output) */ c = controlling value of l i = inversion of l inval = val ⊕ i if(inval = c) then for every input j of l Justify(j,inval) else begin Select one input (j) of l Justify(j,inval) end 1 0 1 l X X 0 ECE 538 Krish Chakrabarty 12 Functional vs Structural Testing • Functional ATPG – generate complete set of tests for circuit input-output combinations – 129 inputs, 65 outputs: – 2129 patterns – Using 1 GHz ATE, would take 2.15 x 1022 years • Structural test: – No redundant adder hardware, 64 bit slices – Each with 27 faults (using fault equivalence) – At most 64 x 27 = 1728 faults (tests) – Takes 0.000001728 s on 1 GHz ATE • Designer gives small set of functional tests – augment with structural tests to boost coverage to 98+ %7 ECE 538 Krish Chakrabarty 13 Algorithm Completeness • Definition: Algorithm is complete if it ultimately can search entire binary decision tree, as needed, to generate a test • Untestable fault – no test for it even after entire tree searched • Combinational circuits only – untestable faults are redundant, showing the presence of unnecessary hardware ECE 538 Krish Chakrabarty 14 D-Algorithm b a c d e z b A B C E F GHB/1 Decision Implication Comment B = D E = D, A = 0, a = 0 Activate fault b = 1 C = D Propagate via C F = 0 z = D End of D-drive H = 0 e = 0 Justify F c = 0 (1) Justify A Test: abce = 01008 ECE 538 Krish Chakrabarty 15 D-Algorithm b a c d e z b A B C E F GHB/1 Decision Implication Comment B = D E = D, A = 0, a = 0 Activate fault H = 1 F = D Propagate via F C = 0 z = D End of D-drive b = 0 e = 0 Justify C c = 0 or e = 0 Justify A Test: abce = 0000 ECE 538 Krish Chakrabarty 16 D-Algorithm b a c d e z Decision Implication Action e = D, c = 0 i = D, f =1, h = 0 Activate fault, propagate via i j = k = 0 z = D End of D-drive d = 1, b = 1 g = 0, e = 0 Justify j = 0, k = 0 c = 0, d = 0 i = j = D propagate through i and j Single path sensitization does not always work! Fault e/0 f g h i j k Contradiction (Backtrack)9 ECE 538 Krish Chakrabarty 17 Comments on the D-Algorithm • Based on propagation (primary procedure), justification and implication • In complete form, guarantees test generation but may require multiple path sensitization (computationally expensive) • Practical restrictions: – Single path sensitization only – Limits placed on backtracking time (aborted faults) ECE 538 Krish Chakrabarty 18 9-V Algorithm • Nine logic values, specified as good/bad pairs: 1/1, 0/0, 1/0, 0/1, u/u, 1/u, 0/u, u/0, u/1 • Example of logic operations: D.X = 1/0.u/u = u/0, i.e. provides more information than the X outcome for 5-valued algebra • Reduces backtracking – When there are k possible paths for error propagation, D-algorithm may try


View Full Document

Duke ECE 269 - VLSI System Testing

Download VLSI System Testing
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view VLSI System Testing and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view VLSI System Testing 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?