overview major atpg algorithms
play

Overview Major ATPG algorithms Definitions ECE 553: TESTING AND - PDF document

9/30/2014 Overview Major ATPG algorithms Definitions ECE 553: TESTING AND D-Algorithm (Roth) -- 1966 TESTABLE DESIGN OF D-cubes Bridging faults DIGITAL SYSTES DIGITAL SYSTES Logic gate function change faults PODEM


  1. 9/30/2014 Overview Major ATPG algorithms • Definitions ECE 553: TESTING AND • D-Algorithm (Roth) -- 1966 TESTABLE DESIGN OF – D-cubes – Bridging faults DIGITAL SYSTES DIGITAL SYSTES – Logic gate function change faults • PODEM (Goel) -- 1981 – X-Path-Check – Backtracing • Summary Combinational ATPG 9/30/2014 2 Forward Implication Backward Implication • Results in logic gate inputs that are significantly labeled so that output • Unique determination of all gate inputs when the gate is uniquely determined output and some of the inputs are given • AND gate forward implication table: 9/30/2014 3 9/30/2014 4 Objectives and Backtracing in ATPG Objectives and Backtracing in ATPG Implication Stack, Decision Tree, and Backtrack Implication Stack, Decision Tree, and Backtrack • Objective – desired signal value goal for ATPG – Guides it away from infeasible/hard solutions – Uses heuristics • Backtrace – Determines which primary input and Unexplored Unexplored value to set to achieve objective l hi bj i E 0 1 Present Assignment Searched and Infeasible – Use heuristics such as nearest PI B B 0 0 • Forward trace – Determines gate through which the 1 1 fault effect should be sensitized F F F – Use heuristics such as output that is closest to the present 1 0 1 0 0 1 fault effect 9/30/2014 5 9/30/2014 6 1

  2. 9/30/2014 D-Algorithm – Roth (1966) D-Algorithm – Roth (1966) Branch-and-Bound Search • Efficiently searches binary search tree • Branching – At each tree level, selects which input • Fundamental concepts invented: variable to set to what value – First complete ATPG algorithm • Bounding – Avoids exploring large tree portions by – D-Cube artificially restricting search decision choices – Complete exploration is impractical – Complete exploration is impractical – D-Calculus D Calculus – Uses heuristics – Implications – forward and backward • Backtracking – Search fails, therefore undo some of the – Implication stack work completed and start searching from a location where search options still exist – Backtrack – Test Search Space 9/30/2014 7 9/30/2014 8 Singular Cover Example Singular Cover Example Primitive D-Cube of Failure • Minimal set of logic signal assignments to represent a function • Models circuit faults: – show prime implicants and prime implicates of Karnaugh map (with explicitly showing the outputs too) – Stuck-at-0 – Stuck-at-1 – Other faults, such as Bridging fault (short circuit) – Arbitrary change in logic function Arbitrary change in logic function • AND Output sa0: “1 1 D” • AND Output sa1: “0 X D” Gate Inputs Output Gate Inputs Output “X 0 D” AND A B d NOR d e F • Wire sa0: “D” 1 0 X 0 1 1 X 0 • Propagation D-cube – models conditions under 2 X 0 0 2 X 1 0 which fault effect propagates through gate 1 0 3 1 1 3 0 1 9/30/2014 9 9/30/2014 10 Gate Function Change D-Cube of Gate Function Change D-Cube of Construction of Primitive Failure Failure D-Cubes of Failure 1. Make cube set α 1 when good machine output is 1 and set α 0 when good machine output is 0 2. Make cube set β 1 when failing machine output is 1 and β 0 when it is 0 Cube-set a b c Cube-set a b c 3. Change α 1 outputs to 0 and D-intersect each cube with every β 0. If intersection works, α 0 0 X 0 X 0 0 PDFs for 0 1 D change output of cube to D α 1 1 1 1 AND changing 4. Change α 0 outputs to 1 and D-intersect each β 0 0 0 0 to OR 1 0 D cube with every β 1. If intersection works, β 1 1 X 1 change output of cube to D X 1 1 9/30/2014 11 9/30/2014 12 2

  3. 9/30/2014 Propagation D-Cube D-Cube Operation of D-Intersection D-Cube Operation of D-Intersection • Collapsed truth table entry to characterize logic ψ – undefined (same as φ ) • Use Roth’s 5-valued algebra µ or λ – requires inversion of D and D • AND gate: use the rules given earlier using α and β ∩ ∩ ∩ • D-intersection : 0 0 = 0 X = X 0 = 0 but in this case work with good circuit only ∩ ∩ ∩ 1 1 1 X X 1 1 1 1 = 1 X = X 1 = 1 A B d ∩ X X = X D 1 D Write all primitive ∩ • D-containment – 1 D D Cubes of AND gate 0 1 X D D D D D and then create 0 0 φ 0 ψ ψ Cube a contains D D D propagation cubes 1 φ 1 1 ψ ψ Cube b if b is a 1 D D X 0 1 X D D subset of a D 1 D D ψ ψ D µ λ D ψ ψ D λ µ 9/30/2014 13 9/30/2014 14 Implication Procedure D-Algorithm – Top Level 1. Model fault with appropriate primitive D- 1. Number all circuit lines in increasing level cube of failure (PDF) order from PIs to POs; 2. Select propagation D-cubes to propagate fault 2. Select a primitive D-cube of the fault to be the effect to a circuit output ( D-drive procedure) effect to a circuit output ( D drive procedure) test cube ; test cube ; 3. Select singular cover cubes to justify internal – Put logic outputs with inputs labeled as D (D) onto circuit signals ( Consistency procedure) the D-frontier ; 3. D-drive (); • Put signal assignments in test cube 4. Consistency (); • Regrettably, cubes are selected very 5. return (); arbitrarily by D-ALG 9/30/2014 15 9/30/2014 16 D-Algorithm -- Consistency D-Algorithm – D-drive g = coordinates of test cube with 1’s & 0’s; while (untried fault effects on D-frontier) if ( g is only PIs) fault testable & stop; select next untried D-frontier gate for propagation; for (each unjustified signal in g ) while (untried fault effect fanouts exist) Select highest # unjustified signal z in g, not a PI; if (inputs to gate z are both D and D) break; select next untried fault effect fanout; generate next untried propagation D-cube; while (untried singular covers of gate z ) select next untried singular cover; D-intersect selected cube with test cube; if (no more singular covers) if (intersection fails or is undefined) continue; If (no more stack choices) fault untestable & stop; if (all propagation D-cubes tried & failed) break; else if (untried alternatives in Consistency ) if (intersection succeeded) pop implication stack -- try alternate assignment; add propagation D-cube to test cube -- recreate D-frontier ; else Find all forward & backward implications of assignment; Backtrack (); D-drive (); save D-frontier , algorithm state, test cube, fanouts, fault; If (singular cover D-intersects with z ) delete z from g , add inputs to break; singular cover to g, find all forward and backward implications of else if (intersection fails & D and D in test cube) Backtrack (); new assignment, and break; 9/30/2014 else if (intersection fails) break; 17 9/30/2014 18 If (intersection fails) mark singular cover as failed; if (all fault effects unpropagatable) Backtrack (); 3

  4. 9/30/2014 Circuit Example 7.1 and Truth Circuit Example 7.1 and Truth Backtrack Table Table Inputs Output if (PO exists with fault effect) Consistency (); a b c F else pop prior implication stack setting to try 0 0 0 0 alternate assignment; 0 0 1 0 if (no untried choices in implication stack) 0 1 0 0 0 1 fault untestable & stop; 1 1 1 0 0 0 else return; 1 0 0 1 1 1 0 0 1 1 1 0 9/30/2014 19 9/30/2014 20 Singular Cover & Propagation D-Cubes Singular Cover & Propagation D-Cubes Steps for Fault d sa0 Steps for Fault d sa0 A B C d e F • Singular cover – 1 1 1 Used for justifying lines 0 0 0 0 1 1 0 0 1 Step A B C d e F Cube type 0 1 1 0 1 1 1 D PDF of AND gate 1 1 0 0 0 0 1 2 D 0 D Prop. D-cube for NOR D 1 D • Propagation D-cubes 1 D D 3 1 1 0 Sing. Cover of NAND – Conditions under D D D which difference 1 D D 1 D D between good/failing D D D machines propagates D 0 D 0 D D D D D 9/30/2014 21 9/30/2014 22 Example 7.3 – Fault u sa1 Example 7.3 – Step 2 u sa1 • Primitive D-cube of Failure • Propagation D-cube for v 1 1 0 0 0 0 0 D sa1 sa1 D D 9/30/2014 23 9/30/2014 24 4

  5. 9/30/2014 Example 7.3 – Step 2 u sa1 Inconsistent • Forward and backward implications 1 1 • d = 0 and m = 1 cannot justify r = 1 (equivalence) – Backtrack 0 1 – Remove B = 0 assignment 0 0 0 0 0 sa1 D D 9/30/2014 25 9/30/2014 26 Example 7.3 – Backtrack Example 7.3 – Step 3 u sa1 • Need alternate propagation D-cube for v • Propagation D-cube for v 1 1 1 1 0 0 0 0 D D sa1 sa1 D 9/30/2014 27 9/30/2014 28 Example 7.3 – Step 4 u sa1 Example 7.3 – Step 4 u sa1 • Propagation D-cube for Z • Propagation D-cube for Z and implications 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 sa1 sa1 D D D D D D 1 1 9/30/2014 29 9/30/2014 30 5

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend