Lecture 12 Advanced Combinational ATPG...

69
Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 1 Lecture 12 Advanced Combinational ATPG Algorithms Lecture 12 Advanced Combinational ATPG Algorithms FAN – Multiple Backtrace (1983) TOPS – Dominators (1987) SOCRATES – Learning (1988) Legal Assignments (1990) EST – Search space learning (1991) BDD Test generation (1991) Implication Graphs and Transitive Closure (1988 - 97) Recursive Learning (1995) Test Generation Systems Test Compaction Summary

Transcript of Lecture 12 Advanced Combinational ATPG...

Page 1: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 1

Lecture 12Advanced Combinational

ATPG Algorithms

Lecture 12Advanced Combinational

ATPG Algorithms FAN – Multiple Backtrace (1983) TOPS – Dominators (1987) SOCRATES – Learning (1988) Legal Assignments (1990) EST – Search space learning (1991) BDD Test generation (1991) Implication Graphs and Transitive Closure (1988 - 97) Recursive Learning (1995) Test Generation Systems Test Compaction Summary

Page 2: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 2

FAN -- Fujiwara and Shimono(1983)FANout – oreineted test generatonFAN -- Fujiwara and Shimono(1983)FANout – oreineted test generaton

New concepts: Immediate assignment of uniquely-determined

signals Unique sensitization Stop Back trace at head lines Multiple Back trace -Rather than stopping at PIs, back tracing in

FAN may stop at internal lines. (head lines)

- Rather than trying to satisfy one objective,FAN uses a multiple-back trace procedurethat attempts to simultaneously satisfy a set ofobjectives

Page 3: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 3

PODEM Fails to Determine Unique Signals

PODEM Fails to Determine Unique Signals

Backtracing operation fails to set all 3 inputs of gate L to 1 Causes unnecessary search

Behavior of PODEM

0

Page 4: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 4

FAN -- Early Determination of Unique Signals

FAN -- Early Determination of Unique Signals

Determine all unique signals implied by current decisions immediately Avoids unnecessary search

Page 5: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 5

PODEM Makes Unwise Signal Assignments

PODEM Makes Unwise Signal Assignments

Blocks fault propagation due to assignment J = 0

Page 6: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 6

Unique Sensitization of FAN with No Search

Unique Sensitization of FAN with No Search

FAN immediately sets necessary signals to propagate fault

Path over which fault is uniquely sensitized

Page 7: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 7

HeadlinesHeadlines

Headlines H and J separate circuit into 3 parts, for which test generation can be done independently

HLFL

BL

Page 8: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 8

Bound Line: is a line, that is reachable from at least one stem. Free Line : is a line that is not bound. Head Line : is a free line that directly feeds a bound line , this

line can be justified to logic 0 or 1 from the headlineback to the circuit PIs.

A, B, C, E, F,G are free lines Fig.6.32Stem

Page 9: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 9

Contrasting Decision TreesContrasting Decision Trees

PODEM decision tree

FAN decision tree

Page 10: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 10

Multiple BacktraceMultiple BacktraceFAN – breadth-first

passes –1 time

PODEM –depth-first

passes – 6 times

Page 11: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 11

AND Gate Vote PropagationAND Gate Vote Propagation

AND Gate X Easiest-to-control Input –

# 0’s = OUTPUT # 0’s # 1’s = OUTPUT # 1’s

All other inputs -- # 0’s = 0 # 1’s = OUTPUT # 1’s

[5, 3]

[5, 3]

[0, 3]

[0, 3]

[0, 3]

Page 12: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 12

Multiple Backtrace Fanout Stem VotingMultiple Backtrace Fanout Stem Voting

Fanout Stem -- # 0’ s = Branch # 0’s, # 1’s = Branch # 1’s

[5, 1][1, 1][3, 2]

[4, 1]

[5, 1]

[18, 6]P is a stem not reachable

From the fault Site ;If n0(p)>0 , and n1(p)>0There is a conflict On P

FAN sets P to 0 if n0(p)>n1(p) and otherwisesets P=1

FAN immediately doesa forward implicationfrom P , and find a signal conflict much sooner than a singlebacktrace procedure.

Page 13: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 13

Multiple Backtrace Algorithm

Multiple Backtrace Algorithm

repeatremove entry (s, vs) from current_objectives;If (s is head_objective) add (s, vs) to

head_objectives;else if (s not fanout stem and not PI)

vote on gate s inputs;if (gate s input I is fanout branch)

vote on stem driving I;add stem driving I to stem_objectives;

else add I to current_objectives;

Page 14: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 14

Rest of Multiple BacktraceRest of Multiple Backtraceif (stem_objectives not empty)

(k, n0 (k), n1 (k)) = highest level stem from stem_objectives;

if (n0 (k) > n1 (k)) vk = 0;else vk = 1;if ((n0 (k) != 0) && (n1 (k) != 0) && (k not in fault

cone))return (k, vk);

add (k, vk) to current_objectives;return (multiple_backtrace (current_objectives));

remove one objective (k, vk) from head_objectives;return (k, vk);

Page 15: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 15

Multiple trace generating Conflicting value on a stem

Example 6.11 for following circuit `execute multiple trace algo. Starting with (I,1) and (J,0) as current objectives.

1

0

Stem

(I, 1)

(J, 0 )

Page 16: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 16

Current Objectives processed entry stem objectives Head objectives (I,1), (J,0) (I,1)

1

0

Step 1

Current Objectives processed entry stem objectives Head objectives (G,0), (J,0) (J,0)

Step 2

0

1

1

0

Page 17: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 17

Current Objectives processed entry stem objectives Head objectives (G,0), (H,1) (G,0)

1

0

Step 3

Current Objectives processed entry stem objectives Head objectives (H,1), (A1,1) , (E1,1) (H,1)

Step 4

0

1

1

0

0

1

11

Page 18: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 18

Current Objectives processed entry stem objectives Head objectives (A1,1), (E1,1), (E2,1),(C,1) (A1,1) A

1

0

Step 5

Current Objectives processed entry stem objectives Head objectives (E1,1), (E2,1) , (C,1) (E1,1) A,E

Step 6

0

1

1

0

0

1

11

11

11

11

1

Page 19: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 19

Current Objectives processed entry stem objectives Head objectives (E2,1),(C,1) (E2,1) A,E

1

0

Step 7

Current Objectives processed entry stem objectives Head objectives (C,1) (C,1) A,E C

Step 8

0

1

1

0

0

1

11

11

11

11

Page 20: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 20

Current Objectives processed entry stem objectives Head objectives Ø A,E C

1

0

Step 9

Current Objectives processed entry stem objectives Head objectives (E,1) (E,1) A C

Step 10

0

1

1

0

0

1

11

11

11

11

1Stem objectives

Page 21: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 21

Current Objectives processed entry stem objectives Head objectives(A2,0) (A2,0) A C

1

0

Step 11

Current Objectives processed entry stem objectives Head objectives Ø A C

Step 12

0

1

1

0

0

1

11

11

11

11

1

10

10

(A, v)V ε[0,1]

Page 22: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 22

TOPS – DominatorsKirkland and Mercer (1987)

TOPS – DominatorsKirkland and Mercer (1987)Tops found even more assignments than FANUsing Dominators

A Dominator is a circuit signal through witch theFault effect has to pass in order to be detected at A particular PO

An absolute dominator is a dominator through theFault effect has to pass to be detected at any PO

Page 23: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Relative – dominates only paths to a given PO If dominator of fault becomes 0 or 1, backtrack

l and n are absolute dominator of Ak and n are absolute dominator of Bg,k and n are absolute dominator of C

k and n are absolute dominator of D

m and n are absolute dominator of E

Page 24: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 24

SOCRATES Learning (1988)SOCRATES Learning (1988)

Static and dynamic learning: a = 1 f = 1 means that we 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 = vf only if:

f = vf requires all inputs of f to be non-controlling A forward implication contributed to f = vf

Page 25: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 25

Improved Unique Sensitization Procedure

Improved Unique 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(b=1)

Page 26: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 26

Constructive DilemmaConstructive 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

Page 27: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 27

Modus Tollens and Dynamic DominatorsModus Tollens and

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

Page 28: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 28

EST – Dynamic Programming (Giraldi & Bushnell)Equivalent STate hashing

EST – Dynamic Programming (Giraldi & Bushnell)Equivalent STate hashing

E-frontier – partial circuit functional decomposition Equivalent to a node in a BDD Cut-set between circuit part with known labels and

part with X signal labels EST learns E-frontiers during ATPG and stores them in

a hash table Dynamic programming – when new decomposition

generated from implications of a variable assignment, looks it up in the hash table Avoids repeating a search already conducted

Terminates search when 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

Page 29: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 29

Fault B sa1Fault B sa1X

Page 30: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 30

Fault h sa1Fault h sa1

X

Page 31: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 31

Implication Graph ATPGChakradhar et al. (1990)Implication Graph ATPGChakradhar 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

Page 32: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 32

Example and Implication Graph

Example and Implication Graph

Page 33: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Directed Graphs 33

Transitive ClosureTransitive Closure Given a digraph G, the

transitive closure of Gis the digraph G* such that G* has the same

vertices as G if G has a directed

path from u to v (u v), G* has a directed edge from u to v

The transitive closure provides reachability information about a digraph

B

A

D

C

E

B

A

D

C

E

G

G*

Page 34: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 34

Graph Transitive ClosureGraph Transitive Closure

When d set to 0, add edge from d to d, which means that if d is 1, there is conflict Can deduce that (a = a , F=F , b=b)

a=b=f=1 When d set to 1, add edge from d to d

Page 35: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 35

Consequence of F = 1Consequence 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 we add edges: e d and d e Now, we 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

Page 36: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 36f=1 A=b =c=1

Page 37: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 37

Related ContributionsRelated Contributions Larrabee – NEMESIS -- Test generation using

satisfiability and implication graphs Chakradhar, Bushnell, and Agrawal – NNATPG –

ATPG using neural networks & implication graphs Chakradhar, Agrawal, and Rothweiler – TRAN --

Transitive Closure test generation algorithm Cooper and Bushnell – Switch-level ATPG Agrawal, 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

Page 38: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 38

Recursive LearningKunz and Pradhan (1992)

Recursive LearningKunz and Pradhan (1992)

Applied SOCRATES type learning recursively Maximum recursion depth rmax

determines what is learned about circuit Time complexity exponential in rmax Memory grows linearly with rmax

Page 39: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 39

Recursive_Learning Algorithm

Recursive_Learning Algorithm

for each unjustified linefor each input: justification

assign controlling value;make implications and set up new list of unjustified

lines;if (consistent) Recursive_Learning ();

if (for all signals f with 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;

Page 40: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 40

Recursive LearningRecursive Learning i1 = 0 and j = 1 unjustifiable – enter learning

i1 = 0

j = 1

a1b1

h

c1

k

d1

ba

dc

d2c2

b2a2

f2e2

f1e1

h2g2

g1h1

i2

Page 41: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 41

Justify i1 = 0Justify i1 = 0 Choose first of 2 possible assignments g1 = 0

i1 = 0

j = 1

a1b1

h

c1

k

d1

ba

dc

d2c2

b2a2

f2e2

f1e1

h2g2

g1 = 0h1

i2

Page 42: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 42

Implies e1 = 0 and f1 = 0Implies e1 = 0 and f1 = 0 Given that g1 = 0

i1 = 0

j = 1

a1b1

h

c1

k

d1

ba

dc

d2c2

b2a2

f2e2

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 43: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 43

Justify a1 = 0, 1st PossibilityJustify a1 = 0, 1st Possibility Given that g1 = 0, one of two possibilities

i1 = 0

j = 1

a1 = 0b1

h

c1

k

d1

ba

dc

d2c2

b2a2

f2e2

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 44: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 44

Implies a2 = 0Implies a2 = 0 Given that g1 = 0 and a1 = 0

i1 = 0

j = 1

a1 = 0b1

h

c1

k

d1

ba

dc

d2c2

b2a2 = 0

f2e2

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 45: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 45

Implies e2 = 0Implies e2 = 0 Given that g1 = 0 and a1 = 0

i1 = 0

j = 1

a1 = 0b1

h

c1

k

d1

ba

dc

d2c2

b2a2 = 0

f2

e2 = 0

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 46: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 46

Now Try b1 = 0, 2nd OptionNow Try b1 = 0, 2nd Option Given that g1 = 0

i1 = 0

j = 1

a1b1 = 0

h

c1

k

d1

ba

dc

d2c2

b2a2

f2

e2

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 47: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 47

Implies b2 = 0 and e2 = 0Implies b2 = 0 and e2 = 0 Given that g1 = 0 and b1 = 0

i1 = 0

j = 1

a1b1 = 0

h

c1

k

d1

ba

dc

d2c2

b2 = 0a2

f2

e2 = 0

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 48: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 48

Both Cases Give e2 = 0, So Learn That

Both Cases Give e2 = 0, So Learn That

i1 = 0

j = 1

a1b1

h

c1

k

d1

ba

dc

d2c2

b2a2

f2

e2 = 0

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 49: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 49

Justify f1 = 0Justify f1 = 0 Try c1 = 0, one of two possible assignments

i1 = 0

j = 1

a1b1

h

c1 = 0

k

d1

ba

dc

d2c2

b2a2

f2

e2 = 0

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 50: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 50

Implies c2 = 0Implies c2 = 0 Given that c1 = 0, one of two possibilities

i1 = 0

j = 1

a1b1

h

c1 = 0

k

d1

ba

dc

d2

c2 = 0b2a2

f2

e2 = 0

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 51: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 51

Implies f2 = 0Implies f2 = 0 Given that c1 = 0 and g1 = 0

i1 = 0

j = 1

a1b1

h

c1 = 0

k

d1

ba

dc

d2

c2 = 0b2a2

f2 = 0

e2 = 0

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 52: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 52

Try d1 = 0Try d1 = 0 Try d1 = 0, second of two possibilities

i1 = 0

j = 1

a1b1

h

c1

k

d1 = 0

ba

dc

d2c2

b2a2

f2

e2 = 0

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 53: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 53

Implies d2 = 0Implies d2 = 0 Given that d1 = 0 and g1 = 0

i1 = 0

j = 1

a1b1

h

c1

k

d1 = 0

ba

dc

d2 = 0c2

b2a2

f2

e2 = 0

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 54: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 54

Implies f2 = 0Implies f2 = 0 Given that d1 = 0 and g1 = 0

i1 = 0

j = 1

a1b1

h

c1

k

d1 = 0

ba

dc

d2 = 0c2

b2a2

f2 = 0

e2 = 0

h2g2

h1

i2

g1 = 0f1 = 0

e1 = 0

Page 55: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 55

Since f2 = 0 In Either Case, Learn f2 = 0

Since f2 = 0 In Either Case, Learn f2 = 0

i1 = 0

j = 1

a1b1

h

c1

k

d1

ba

dc

d2c2

b2a2

f2 = 0

e2 = 0

h2g2

h1

i2

g1 = 0f1

e1

Page 56: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 56

Implies g2 = 0Implies g2 = 0

i1 = 0

j = 1

a1b1

h

c1

k

d1

ba

dc

d2c2

b2a2

f2 = 0

e2 = 0

h2

g2 = 0

h1

i2

g1 = 0f1

e1

Page 57: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 57

Implies i2 = 0 and k = 1Implies i2 = 0 and k = 1

i1 = 0

j = 1

a1b1

h

c1

k = 1

d1

ba

dc

d2c2

b2a2

f2 = 0

e2 = 0

h2

g2 = 0

h1

i2 = 0

g1 = 0f1

e1

Page 58: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 58

Justify h1 = 0Justify h1 = 0

i1 = 0

j = 1

a1b1

h

c1

k

d1

ba

dc

d2c2

b2a2

f2e2

f1e1

h2g2

g1h1 = 0

i2

Second of two possibilities to make i1 = 0

Page 59: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 59

Implies h2 = 0Implies h2 = 0 Given that h1 = 0

i1 = 0

j = 1

a1b1

h

c1

k

d1

ba

dc

d2c2

b2a2

f2e2

f1e1

h2 = 0g2

g1h1 = 0

i2

Page 60: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 60

Implies i2 = 0 and k = 1Implies i2 = 0 and k = 1 Given 2nd of 2 possible assignments h1 = 0

i1 = 0

j = 1

a1b1

h

c1

k = 1

d1

ba

dc

d2c2

b2a2

f2e2

f1e1

h2 = 0g2

g1h1 = 0

i2 = 0

Page 61: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 61

Both Cases Cause k = 1 (Given j = 1), i2 = 0

Both Cases Cause k = 1 (Given j = 1), i2 = 0

Therefore, learn both independently

i1 = 0

j = 1

a1b1

h

c1

k = 1

d1

ba

dc

d2c2

b2a2

f2e2

f1e1

h2g2

g1h1

i2 = 0

Page 62: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 62

Other ATPG AlgorithmsOther ATPG Algorithms Legal assignment ATPG (Rajski and Cox) Maintains power-set of possible

assignments on each node {0, 1, D, D, X} BDD-based algorithms Catapult (Gaede, Mercer, Butler, Ross) Tsunami (Stanion and Bhattacharya) –

maintains BDD fragment along fault propagation path and incrementally extends it Unable to do highly reconverging

circuits (parallel multipliers) because BDD essentially becomes infinite

Page 63: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 63

Fault Coverage and Efficiency

Fault Coverage and Efficiency

Fault coverage =

Faultefficiency

# of detected faultsTotal # faults

# of detected faultsTotal # faults -- # undetectable faults

=

Page 64: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 64

Test Generation SystemsTest Generation Systems

CircuitDescription

TestPatterns

UndetectedFaults

RedundantFaults

AbortedFaults

BacktrackDistribution

FaultListCompacter

SOCRATESWith faultsimulator

Page 65: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 65

Test CompactionTest Compaction

Fault simulate test patterns in reverse order of generation ATPG patterns go first Randomly-generated patterns go last

(because they may have less coverage) When coverage reaches 100%, drop

remaining patterns (which are the useless random ones) Significantly shortens test sequence –

economic cost reduction

Page 66: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 66

Static and Dynamic Compaction of Sequences

Static and Dynamic Compaction of Sequences Static compaction ATPG should leave unassigned inputs as X Two patterns compatible – if no conflicting

values for any PI Combine two tests ta and tb into one test

tab = ta tb using D-intersection Detects union of faults detected by ta & tb

Dynamic compaction Process every partially-done ATPG vector

immediately Assign 0 or 1 to PIs to test additional faults

Page 67: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 67

Compaction ExampleCompaction Example

t1 = 0 1 X t2 = 0 X 1t3 = 0 X 0 t4 = X 0 1

Combine t1 and t3, then t2 and t4 Obtain: t13 = 0 1 0 t24 = 0 0 1

Test Length shortened from 4 to 2

Page 68: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 68

SummarySummary Test Bridging, Stuck-at, Delay, & Transistor

Faults Must handle non-Boolean tri-state devices,

buses, & bidirectional devices (pass transistors) Hierarchical ATPG -- 9 Times speedup (Min) Handles adders, comparators, MUXes Compute propagation D-cubes Propagate and justify fault effects with these

Use internal logic description for internal faults Results of 40 years research – mature – methods: Path sensitization Simulation-based Boolean satisfiability and neural networks

Page 69: Lecture 12 Advanced Combinational ATPG Algorithmseen.iust.ac.ir/profs/Mohammadi/961Majazi-Test/lec12-Advance-ATPG... · EST learns E-frontiers during ATPG and stores them in a hash

ProblemsProblems

7.2 , 7.3, 7.5 , 7.7, 7.10,7.12, 7.21, 7,22

Copyright 2001, Agrawal & Bushnell VLSI Test: Lecture 12 69