Download as pdf or txt
Download as pdf or txt
You are on page 1of 55

Combinational ATPG

Ganesh C. Patil

Tuesday, November 7, 2023


1
Irredundant Hardware and Test
Patterns

 Fault Test Response (good/failing)


a sa0, A=0 D
a sa1 A=1 D_bar
b sa0 A=1 D_bar
b sa1 A=0 D
 Therefore, these faults are not redundant
Tuesday, November 7, 2023
2
Redundant Hardware and
Simplification

Tuesday, November 7, 2023


3
Fault q sa1

Tuesday, November 7, 2023


4
Redundant Fault q sa1

Tuesday, November 7, 2023


5
Redundant Fault q sa1

Tuesday, November 7, 2023


6
Fault f sa0

Tuesday, November 7, 2023


7
Fault f sa0

 Single fault f sa0 is tested by input vector


110.
Tuesday, November 7, 2023
8
Multiple Fault Masking
 Single fault f sa0 is tested by input vector
110.

Tuesday, November 7, 2023


9
Multiple Fault Masking
 f sa0 is masked when fault q sa1 is also
present.

Tuesday, November 7, 2023


10
Hazardous Circuit
 x1 = x2 = x3 =1 => f =1
 Now let x1 change from 1 to 0.
Then circuit supposed to
maintain f =1
 For x1 = 0, p = 0.
 Because of presence of
Circuit with Static Hazard
inverter p = 0 before signal q
become1
 For short time p =0, and q =0
causing f to drop to 0 before
it recovers back to 1

Tuesday, November 7, 2023


11
Design of Hazard free circuit Example-1

Circuit with Static Hazard

Hazard free circuit

Tuesday, November 7, 2023


12
Intentional Redundant Implicant
 Elimination of hazards in circuit output

Tuesday, November 7, 2023


13
Intentional Redundant Implicant
 Redundant Fault e sa0

Tuesday, November 7, 2023


14
Fault Cone and D-frontier
 Fault Cone – Set of hardware affected by fault
 D-frontier – Set of gates closest to POs with fault
effect(s) at input(s)

D-frontier

Fault Cone

Tuesday, November 7, 2023


15
Redundancy Removal Algorithm
Repeat until there are no redundant faults:
{
Use ATPG to find all redundant faults;
Remove all redundant faults with non-
overlapping fault cone areas;
}

Tuesday, November 7, 2023


16
Combinational ATPG Algorithms
 D-Algorithm (Roth) – 1966
 PODEM (Goel) – 1981
 FAN – Multiple Backtrace (1983)
 TOPS – Dominators (1987)
 SOCRATES – Learning (1988)
 Legal Assignments (1990)
 EST – Search space learning (1991)
 BDD Test generation (1991)

Tuesday, November 7, 2023


17
D-Algorithm - Roth
IBM (1966)
 Fundamental concepts invented:
 First complete ATPG algorithm
 D-Cube
 D-Calculus
 Implications – forward and backward

Tuesday, November 7, 2023


18
Forward Implication
 Results in logic gate inputs
that are significantly labeled so
that output is uniquely
determined
 AND gate forward implication
table:

Tuesday, November 7, 2023


19
Backward Implication
 Unique determination of all gate inputs when the
gate output and some of the inputs are given

Tuesday, November 7, 2023


20
D-Frontier
 All gates whose outputs are X but has at least one D
or D-bar at the input of the gates
 Initially, the D-frontier consists of only 1 gate (output
of the fault-site)

 The D-frontier contains 2 gates

Tuesday, November 7, 2023


21
J-Frontier
 All gates whose outputs are specified by are
not justified by the input assignments

 The J-Frontier contains 2 gates


Tuesday, November 7, 2023
22
Singular Cover
 Minimal set of logic signal assignments to show
essential prime implicants of Karnaugh map

Gate Inputs Output Gate Inputs Output


AND A B d NOR d e F
1 0 X 0 1 1 X 0
2 X 0 0 2 X 1 0
3 1 1 1 3 0 0 1

Tuesday, November 7, 2023


23
D-Cube
 Collapsed truth table entry to characterize logic
 Use Roth’s 5-valued algebra
 Can change all D’s to D’s and D’s to D’s (do both)
 AND gate:

A B d
Gate InputsOutput D 1 D
Rows 1 & 3
AND A B d 1 D D
Reverse inputs
1 0 X 0 D D D
And two cubes
2 X 0 0 D D D
Interchange D and D
3 1 1 1 1 D D
D 1 D

Tuesday, November 7, 2023


24
D-Cube NOR gate

A B d
Gate Inputs Output D 0 D
Rows 1 & 3
NOR d e F 0 D D
Reverse inputs
1 1 X 0 D D D
NOR two cubes
2 X 1 0 D D D
Interchange D and D
3 0 0 1 0 D D
D 0 D

Tuesday, November 7, 2023


25
Primitive D-Cube of Failure
 Models circuit faults:
 Stuck-at-0
 Stuck-at-1
 Bridging fault (short circuit)
 AND Output sa0: “1 1 D”
 AND Output sa1: “0 X D ”
“X 0 D ”

 Wire sa0: “D”

Tuesday, November 7, 2023


26
Implication Procedure
1. Model fault with appropriate primitive D-
cube of failure (PDF)
2. Select propagation D-cubes to propagate
fault effect to a circuit output (D-drive
procedure)
3. Select singular cover cubes to justify internal
circuit signals (Consistency procedure)

Tuesday, November 7, 2023


27
Example 1
Inputs Output
A B C F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

Tuesday, November 7, 2023


28
Singular Cover & D-Cubes
A B C d e F
1 1 1
0 0
0 0
1 1 0
0 1
0 1
1 0  Singular cover – Used for
1 0 justifying lines
0 0 1
D 1 D
1 D D
D D D  Propagation D-cubes –
D 1 D Conditions under which
1 D D difference between
D D D
D 0 D good/failing machines
0 D D propagates
D D D
Tuesday, November 7, 2023
29
Fault d sa0

Step A B C d e F Cube type


1 1 1 D PDF of AND gate

2 D 0 D Prop. D-cube for NOR


3 1 1 0 Sing. Cover of NAND

Tuesday, November 7, 2023


30
Example 2 Fault A sa0
 Step 1 – D-Drive – Set A = 1

D
1 D

Tuesday, November 7, 2023


31
Step 2 – Example 2
 Step 2 – D-Drive – Set f = 0

0
D D
1 D

Tuesday, November 7, 2023


32
Step 3 – Example 2
 Step 3 – D-Drive – Set k = 1

1
D
0
D D
1 D

Tuesday, November 7, 2023


33
Step 4 – Example 2
 Step 4 – Consistency – Set g = 1

1 1
D
0
D D
1 D

Tuesday, November 7, 2023


34
Step 5 – Example 2
 Step 5 – Consistency – f = 0 Already set

1 1
D
0
D D
1 D

Tuesday, November 7, 2023


35
Step 6 – Example 2
 Step 6 – Consistency – Set c = 0, Set e = 0

1 1
0 D
0
0
D D
1 D

Tuesday, November 7, 2023


36
D-Chain Dies Example 2
 Step 7 – Consistency – Set B = 0
 Fault detected at PO, although D-Chain dies

X
1 1
0 D
0 0
0
D D
1 D

 Test cube: A, B, C, D, e, f, g, h, k, L
 Test Vector {X 0 0 1}
Tuesday, November 7, 2023
37
D-Cube Table

 Test Vector DCBA = {X 0 0 1}

Tuesday, November 7, 2023


38
Example 3 – Fault s sa1
 Primitive D-cube of Failure

D
sa1

Tuesday, November 7, 2023


39
Example 3 – Step 2 s sa1
 Propagation D-cube for v

D
1 sa1 D
0

Tuesday, November 7, 2023


40
Example 3 – Step 2 s sa1
 Forward & Backward Implications
0
1

1 1
1 D
1 sa1 D
0

Tuesday, November 7, 2023


41
Example 3 – Step 3 s sa1
 Propagation D-cube for Z – test found!
0
1

1 1
1 D
1 sa1 D
0

D
D
1

Tuesday, November 7, 2023


42
D-Cube Table s sa1

 Test Vector ABC = {1 1 1}

Tuesday, November 7, 2023


43
Example 3 – Fault u sa1
 Primitive D-cube of Failure

sa1 D

Tuesday, November 7, 2023


44
Example 3 – Step 2 u sa1
 Propagation D-cube for v

0 0

sa1
D
D

Tuesday, November 7, 2023


45
Example 3 – Step 2 u sa1
 Forward and backward implications
1
1

0
0 1
0 0
0
sa1
D
D

Tuesday, November 7, 2023


46
Inconsistent

 d = 0 and m = 1 cannot justify r = 1


(equivalence)
 Backtrack
 Remove B = 0 assignment

Tuesday, November 7, 2023


47
D-Cube Table

Tuesday, November 7, 2023


48
Example 3 – Backtrack
 Need alternate propagation D-cube for v

sa1 D

Tuesday, November 7, 2023


49
Example 3 – Step 3 u sa1
 Propagation D-cube for v

1 0

sa1 D

Tuesday, November 7, 2023


50
Example 3 – Step 4 u sa1
 Propagation D-cube for Z

1 1 0

sa1
D
D D
1

Tuesday, November 7, 2023


51
Example 3 – Step 4 u sa1
 Propagation D-cube for Z and implications
0
1

1 1
1 1 0
0
0
sa1
D
D D
1

Tuesday, November 7, 2023


52
D-Cube Table u sa1

 Test Vector ABC = {1 1 1}

Tuesday, November 7, 2023


53
D-Algorithm – Top Level
1. Number all circuit lines in increasing
level order from PIs to POs;
2. Select a primitive D-cube of the fault to
be the test cube;
 Put logic outputs with inputs labeled as D
(D) onto the D-frontier;
3. D-drive ();
4. Consistency ();
5. return ();

Tuesday, November 7, 2023


54
Thank you !!!

Tuesday, November 7, 2023


55

You might also like