Transcript powerpoint

ELEC 2200-002
Digital Logic Circuits
Fall 2015
Logic Testing (Chapter 12)
Vishwani D. Agrawal
James J. Danaher Professor
Department of Electrical and Computer Engineering
Auburn University, Auburn, AL 36849
http://www.eng.auburn.edu/~vagrawal
[email protected]
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
1
How to Test?
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
2
ADVANTEST Model T200GS Automatic
Test Equipment (ATE), Broun 318
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
3
Why Compromise on Testing?
Complexity and cost.
Example: A digital circuit with 64 inputs
(such as a 32-bit adder).
There are 264 = 18446744073709551616
possible input patterns or vectors.
If we can apply one pattern in 1ns, then time
to test the circuit with all patterns is
264 x 10-9 /3600 = 5124095.6 hours
Or 213504 days
Or 585 years
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
4
So, We Model Faults
A fault model is not necessarily a real
defect; model is an abstraction.
Modeled faults should be countable;
preferably, number of faults should be
linear in circuit size.
A modeled fault should be theoretically
analyzable.
Most popular model is the single stuck-at
fault.
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
5
Single Stuck-at Fault
Three properties define a single stuck-at fault
Only one line is faulty
The faulty line is permanently set to 0 or 1
The fault can be at an input or output of a gate
Example: XOR circuit has 12 fault sites (●) and 24 single stuck-at
faults
Faulty circuit value
Good circuit value
j
c
0(1)
s-a-0
d
a
1(0)
g
1
h
z
i
0
1
e
b
1
k
f
Test vector for h s-a-0 fault
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
6
Fault Equivalence
Total number of single stuck-at fault in a Boolean gate circuit
= [ #PI + #gates + # (fanout branches) ] × 2
Fault equivalence: Two faults f1 and f2 are equivalent if the
corresponding faulty functions are identical.
If faults f1 and f2 are equivalent then any test that detects f1,
will also detect f2, and vice-versa.
Fault equivalence checking rule: Faults f1 and f2 are
equivalent iff the corresponding faulty functions are identical.
Fault collapsing: All single faults of a logic circuit can be
divided into disjoint equivalence subsets, where all faults in a
subset are mutually equivalent. A collapsed fault set
contains one fault from each equivalence subset.
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
7
Fault Equivalences Around Gates
sa0 sa1
sa0
sa0
sa1
sa1
sa0 sa1
AND
sa0 sa1
sa0 sa1
WIRE
OR
sa0 sa1
sa0 sa1
sa0
sa1
sa0 sa1
NOT
sa1
sa0
sa0 sa1
NAND
sa0 sa1
sa0 sa1
NOR
sa0 sa1
sa0 sa1
sa0
sa1
FANOUT
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
sa0
sa1
sa0
sa1
8
Equivalence Collapsing Example
Faults in orange
removed by
equivalence
collapsing
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1
20
Collapse ratio = ── = 0.625
32
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
9
Exercise 1
What is the total number of single stuck-at faults, counting
both stuck-at-0 and stuck-at-1, in the following circuit?
Counting two faults on each line,
Total number of faults = 2 × (#PI + #gates + #fanout branches)
= 2 × (2 + 2 + 2) = 12
s-a-0 s-a-1
s-a-0 s-a-1
s-a-0 s-a-1
s-a-0 s-a-1
s-a-0 s-a-1
s-a-0 s-a-1
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
10
Exercise 2
How many faults are left after equivalence fault collapsing?
s-a-0 s-a-1
s-a-0 s-a-1
s-a-0 s-a-1
s-a-0 s-a-1
s-a-0 s-a-1
s-a-0 s-a-1
s-a-1
s-a-0
s-a-0 s-a-1
s-a-0 s-a-1
s-a-1
s-a-0
Fall 2015, Dec 2
Collapse ratio = 8/12 = 0.67
ELEC2200-002 Lecture 9
11
Exercise 3
■ Find a test for the stuck-at-1 fault shown in the circuit.
Step 1: Fault activation – Place a value
different from faulty value at the fault site
0
0
0
0/1
0/1
s-a-1
0
Step 3: Line justification – justify internal lines
by setting primary inputs
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
Step 2: Path
sensitization – activate a
path from fault site to an
observable output
12
Redundant Fault
Definition: Faulty function is identical to the
fault-free function.
No test can be found for a redundant fault.
When a redundant fault is present in a
circuit, the function is not changed.
A circuit with a redundant fault can be
simplified.
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
13
Finding a Redundant Fault
Method 1: Compare the faulty function to the fault-free
function.
Method 2: Try to generate a test and find that no test is
possible.
Example: Fault A Sa1
A
0
B
Sa1 0/1
This path cannot be sensitized
1
Z
0
Conflicting requirements
Fall 2015, Dec 2
ELEC2200-002 Lecture 9
14
Removing Redundancy
A
B
Redundant
Sa1 fault
1
Fix line to faulty value and
determine all implications
B
B
B
Z
Simplified
Circuit
B
Fall 2015, Dec 2
Z
ELEC2200-002 Lecture 9
15