




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The problem of automatic test pattern generation (atpg) for digital circuits, including the d-algorithm, podem, and boolean satisfiability approaches for combinational circuits, and time-frame expansion, nine-valued test generation, and potential detection for sequential circuits. Potential problems and solutions for the d-algorithm are also discussed.
Typology: Study notes
1 / 8
This page cannot be seen from the preview
Don't miss anything!





© K.T. Tim Cheng, 05_comb_tg, v1.0 1 © K.T. Tim Cheng, 05_comb_tg, v1.0 2
© K.T. Tim Cheng, 05_comb_tg, v1.0 3
© K.T. Tim Cheng, 05_comb_tg, v1.0 4
Circuit Description
Test Patterns
Undetected Faults
Redundant Faults
Aborted Faults
Backtrack Distribution
Fault Compacter List
With fault simulator
Ack: Bushnell and Agrawal, Essential of Electronic Testing, 2000
Atomic operations:
(1) Fault activation : A = B = C = 1 (2) Have a choice of error propagating: through G 5 or G 6 (a) Propagating through G 5 requires G 2 = 1 ⇒ A=D=0 ⇒ contradiction (b) Propagating through G 6 requires G 4 = 1 ⇒ C=1, E= ⇒ Test ABCDE=(111x0)
G 1
G (^2) G 5
G 6
G 3
A CB
D
E
a f 2
f 1
s.a.1^ X
© K.T. Tim Cheng, 05_comb_tg, v1.0 7
G 1
G 2 G^4
G 3 A
C
B
DE
H F
© K.T. Tim Cheng, 05_comb_tg, v1.0 8
© K.T. Tim Cheng, 05_comb_tg, v1.0 9
G 3
G 2
G 4 G 5
G (^1) f
C
E
A
G 3
G 2
G 4
G 5
G 1
C
E
A B
(^1) d G 6 1
1
1
0
0
1
1
1/01/
0/
0/
s-a-0 1/
G 3
G 2
G 4
G 5
G 1
C
E
A B
(^1) d G 6 1
1
1
0
0
1
1
1/ 1/
0/
0/
s-a-0 1/
D D D D D D
D 0 D D 1 D
© K.T. Tim Cheng, 05_comb_tg, v1.0 19
start Initialize test cube (tc) Select a primitive D-cube of that as C D-intersect C with previous test cube tc and perform implication
Is there a D or D on any PO?
Select a gate from D-frontier and a propagation D-cube of the selected gate as C
Backtrack to the last point a choice exists
Line Justification
inconsistent consistent yes impossible Test hasbeen none exists generated
no done
© K.T. Tim Cheng, 05_comb_tg, v1.0 20
Begin
Intersect C with previous test cube tc
Is there any line in tc which are not justified
Select an unjustified line and a primitive cube C to justify the line
Backtrack to the last point a choice exists
consistent inconsistent
yes
Test has generatedbeen
none exists
no
Line justification impossible
© K.T. Tim Cheng, 05_comb_tg, v1.0 21
D
1 2 3 4 5 6 7 8 9 10 11 12 11 1 1 1
1 1 0 1 1 1 D
0 1 0
X
D 0
0 0 0 D 1
1
primitive D-cube (1) Select D-frontier G 5 (3)
Line justification (7)Implication
1 1 D D D D
D 0 1 1 1
1 D D
1 D 1 1 D 1 1 1 0 D 1 D 1 1 D 1 1 1 1 1 1 D 1 1 D 1 1 1 00 D 01 D 1 1 D 1 1 1 00 D 01 D 1 1 D 1 0 1 1 1 0 D 1 D 1 D D 1 1 1 10 D 1 DD 1 1 0 0 1 1 1 10 D 01 D D 1 D
implication (2)
implication (4)
implication (10)
Select D-frontier G 8 (6)
Line justification (8)Implication
backtrack to (6)inconsistent & Select D-frontierG 6 (9)
implication (8)
Test is found : 1 1 1 1
implication (5) 1 D
G (^5) G 8
G 4
G 6
G 7
G 2
4
2 6
1 3
8
11
9 s-a-
12 10
G (^15)
G (^37)
© K.T. Tim Cheng, 05_comb_tg, v1.0 22
s.a.0H J K N
L
Q
P (^) R
M
AB CE
GF
H s.a.
J K N L Q
P
R
M
Start
A = 1 B = 1
G = 1
G = 0
F = 0
E = 0
B = 0
Test has beenSuccessfully generated
A = 0
C = 1 E = 1
F = 1
AB CE FG
H s.a.
J K N L Q
P
R
M
© K.T. Tim Cheng, 05_comb_tg, v1.0 25
change it.
© K.T. Tim Cheng, 05_comb_tg, v1.0 26
Start Assign a binary valueto an unassigned PI
Determine implication of all PIs Is there a D or D on anyP0? Test possible with additionalassigned PIs? untried combinationIs there an of values on assignedPIs?
of values on assigned PIsSet untried combination
Test is found
No test exists
maybe
yes
no
no no
yes
© K.T. Tim Cheng, 05_comb_tg, v1.0 27
effect has not appeared at fault site, the initial objective is directed toward providing the fault effect on the faulty line. (2) Given the initial objective, a PI & a logic value are chosen that have a good likelihood of meeting the object.
© K.T. Tim Cheng, 05_comb_tg, v1.0 28
begin (^) Is objective line fed by a PI? Current objective value V and type of gate driving objective line? Next obj line isthe input of G which is at xand is the hardest to control
Next obj line isthe input of G which is at xand is the easiest to control Is G a NAND/NORgate?
Next obj value is the same asthe current objective value
Next obj value is the complementof the current objective value
Found PI initial assignmentis the current objective value
Exit
no (fed bygate G) OR/NAND & V=1AND/NOR & V=
yes
OR/NAND & V=0AND/NOR & V=
no yes
G (^5) G 8
G 4
G 6
G 7
G (^2) s-a-1 Z 1
G 1
G 3
X 2 X 3 X 4
X 1
Decision tree
X 2 = 1 X 3 = 1 X 1 = 1 X 4 = 0 test is found conflict &backtrack
X 4 = 1
G 8
G 5
G 4
G 6
G 7
G (^2) s-a-1 Z 1
G 1
G 3
X 2 X 3 X 4
X 1
© K.T. Tim Cheng, 05_comb_tg, v1.0 37
(c) Construct the formula of the Boolean Difference: XOR of (a) & (b) and the output of XOR should be 1
From (a): (X+D)x(X+E)x(X+D+E)x(D+A)x(D+B)x(D+A+B)x(C+E)x(C+E) From (b): (X’+D’)x(X’+E)x(X’+D’+E)xD’ From (c): (V 1 +X)x(V 1 +X’)x(V 1 +X+X’)x(V 2 +X)x(V 2 +X’)x(V 2 +X+X’)x(BD+V 1 )x(BD+V 2 )x (BD+V 1 +V 2 )xBD (note: BD=X⊕X’=(X+X’)x(X+X’)=V 1 xV 2 )
X X’
BD=(X+X’)x(X+X’)=V 1 xV 2 =
© K.T. Tim Cheng, 05_comb_tg, v1.0 38
© K.T. Tim Cheng, 05_comb_tg, v1.0 39
Clause
Positive Literal
Negative Literal
ϕ = ( a + c ) ( b + c ) (¬a + ¬b + ¬c )
ϕ = (a + ¬b)(¬a + b + ¬c )(a + c + d )(¬a + ¬b + ¬c )
a assignedb assigned 0 c and d unassigned 1
violated satisfied unresolved satisfied
© K.T. Tim Cheng, 05_comb_tg, v1.0 41
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c)^ a (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
b
c
d d
b
c
d d
c
(¬b + ¬c + ¬d) d
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
(¬b + ¬c + ¬d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d)
(¬b + ¬c + d)
© K.T. Tim Cheng, 05_comb_tg, v1.0 43
Basic Search with Implications
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c)^ a (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
b
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
c
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d) d
b c
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d) 8 8
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d) d
a c
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d) 6 6
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d) c
a b
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d) 5
d
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d) 6
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
b
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
c
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d) d
a c
(a + b + c) (a + b + ¬c) (¬a + b + ¬c) (a + c + d) (¬a + c + d) (¬a + c + ¬d) (¬b + ¬c + ¬d) (¬b + ¬c + d)
Public Released SAT Solvers by UCSB
© K.T. Tim Cheng, 05_comb_tg, v1.0 45
Test Compaction for Comb. Tests