Lecture 11. Delay Testing (Students)
Lecture 11. Delay Testing (Students)
Lecture 11:
Delay faults, tests and testing
References: Dr. Brueur’s lecture slides, books listed in the syllabus, and online resources
Outline
⚫ Why circuits have delay?
⚫ What is a delay fault?
⚫ What is a test for a delay fault?
⚫ How do we generate tests for delay faults?
⚫ How are these tests applied to the CUT?
Path P1
13
0 1
246
P2 1
Capture
2 Time
0 33
P3
0 2 5
Path P1
13
0 1
24 9
P2 4-fault
Capture
2 Time
0 33 (error)
P3
0 2 5
Inputs
Comb.
logic
Outputs
Synchronized
with clock
time
Clock period
Latch register L1
R1 is the input scan register; R2 is the output scan register; and L1 is a latch
based register used to hold the test vector V1.
Latch register L1
0 0
Latch register L1
1 0
Latch register L1
1 0⇾1
Latch register L1
Scan 1 Scan-in
enable 0
A
Combinational
Circuit
1
B
Scan-out
Dr. Moe Tabar - EE 658 27
Launch-on-shift approach
Last scan-in
Launch cycle Capture cycle
shift cycle
Scan 1
enable 0
A
Combinational
Circuit
1
B
Scan Scan-in
enable 1
A
Combinational
Circuit
0
B
Scan-out
Dr. Moe Tabar - EE 658 29
Launch-on-shift approach
Last scan-in
Launch cycle Capture cycle
shift cycle
Scan Scan-in
enable 1
A
Combinational
Circuit
0
B
Scan-out
Dr. Moe Tabar - EE 658 30
Launch-on-shift approach Steps
●
●
Launch-on-shift implication
Scan-in
1X
A Combinational
Circuit
X0
C
Scan-out
Dr. Moe Tabar - EE 658 32
Launch-on-shift implication (cont.)
● Scan-in
Sout
Make an iterative array of depth two. In second time frame develop a test for a
SAF at fault line (for example ith primary input in this case). This results in the
state of the scan register at time t+1. Next reflect these values back to the
register at time t, remembering that this is one shift backwards. Also set the i th
scan flip flop to the opposing value compared to the state at t+1 so as to impose
a transition. Then imply this state forward. Then solve the justification problem
for time frame t. If no solution, backtrack.
Scan Scan-in
enable 0
A
Combinational
Circuit
1
B
Scan-out
Dr. Moe Tabar - EE 658 37
Launch-on-Capture Approach
Last scan-in
Dummy cycle Launch Capture
shift cycle
Scan Scan-in
enable 0 0
A
Combinational
Circuit
1 0
B
Scan-out
Dr. Moe Tabar - EE 658 38
Launch-on-Capture Approach
Last scan-in
Dummy cycle Launch Capture
shift cycle
Scan Scan-in
enable 0 0
A
Combinational
Circuit
0 1
B
Scan-out
Dr. Moe Tabar - EE 658 39
Launch-on-Capture Approach
Last scan-in Launch Capture
Dummy cycle
shift cycle
Scan Scan-in
enable 0
A
Combinational
Circuit
0
B
Scan-out
Dr. Moe Tabar - EE 658 40
Launch-on-Capture Approach Steps
●
●
●
Launch-on-Capture Implication
Scan-in
A Combinational
Circuit
1X
B
X0
C
Scan-out
Dr. Moe Tabar - EE 658 42
Launch-on-capture test generation
R(t) R(t+1) R(t+2)
1 1
1 C(t) 0 C(t+1)
1 Justify X
0
0 X 1 X
X 1
Sout
For the target node X in time frames t and t+1 we place opposite logic
values to ensure that a transition is established. We then generate a test for
a SAF at X in time frame t+1, thus sensitizing a path from X to a PO. We
then justify the values in R(t+1) and the value on X (opposite value of
C(t+1)) in C(t) to determine the state of R(t).
To apply the test we scan in R(t), wait for a slow clock and capture the data
in R(t+1) which launches a transition that is captured with a real time clock
in R(t+2).
◦ The GDF is a weaker model than the PDF, i.e., a circuit can pass
a test for GDFs yet fail a test for PDFs.
md(r, x)
ad(r, x)
M ( r , x)
slack
TC
An interconnect or
gate delay fault
XX
00 X1 D
X1 C
11
X0 W
X1
∆ B
A’
11 A
01
X1
a path
X X As long as X transitions
before Y does, Y being late
Y Y still implies that the last
transition at Z will be late.
Z Z
0 3
3
a 3 4
f h
1
1 7
b g j 8
1 i
1 2
c 2
3 1
d
TC = 8.5
e
0-> 1 4
f 3 6
3 23 5
a
fault 4
1
1-> 0
g 1
b 3
1 h 6
0-> 1 1
c 2 3
12 3 1
i
d Filtered out by j
1-> 1 gate i fault
TC = 8.5
e 0-> 0
Dr. Moe Tabar - EE 658 67
Still more on Example 2
⚫ The final value of all the off path sensitizing values
due to V2 are correct, such as a 1 on line g.
⚫ At all gates along the path a – f – h – i – j , the
off-path sensitizing signals at the gate inputs
stabilize to their final values before the on-path
signal arrives at the gate inputs.
⚫ But this circuit passes the test even though the
longest path delay now appears to be 9. But an
error (spike) may occur!
⚫ T is not a robust test because the off-path
sensitizing input g to the on-path AND gate h is
not guaranteed to be at a steady (glitchless) value
of 1, as specified by the robust test requirements.
0>1 4
f
3 5
a
fault 4
1
1>0
g 1
b 6
1 h 9
0>1 1
c 1 1-> 1 3
3 1
i
d j
1-> 1
fault
TC = 8.5
e 0-> 0
0 f
3 4
a 4 h
1 5
g S1
1 6
b x->x 1 i j 9
0->0 S1 1 3
c 2
3 1
1->1 S1
d
0->0 S0 Tc = 8.5
e
1->0
d 8
a 8
1
b 8 e 2 4 10
02
2
c 2
Dr. Moe Tabar - EE 658
T =3 72
Hazards on inputs!
Note – if no hazards occur at the inputs we still could
have gotten this result as shown below.
0 02
x 2
y 0
0
S0 S1 U0 S1 U1 U1 U1 U1
Lattice of containment B S1 S1 U1 S0 U0 XX
U1 S1 U1 U0 U0 XX
XX S1 U1 XX XX XX
C
U1 U1 U0
U0 U1 U0
Non-robust test
U1 U1 XX
U0 XX U0
Functional sensitization
S0 x1 c5
S0 x2 c1 U0
U1
S1 c3 z
U1 x3
U0 U1
c2 c4
S1 x4 S0
S1 x5 c6
S1 x c5
1
S0 x c1 S0
2
S1 c3 z
U0 x U0
3 U1
U1
c2 c4
S1 x U0
4 U1
S0 x5 c6
x5 c4 U0
U1 (a)
x1 c1
x4 c3
x2
c2 z1 z2
x3 c5 U1
U0
x5 c4 U0
U1 U1
U0
(b)
x5c4z1↑ x5 c4 U0
U1
(d)
Now consider the path Q: d-g, and the robust test T’R=<1111,0100> for Qf.
(Required side input at g is U0.) So T’R “passes” because there is no fault along
the path Q. Also <1111,0100> and <1110, 0110> are robust tests for Qf and Pf.
g 4 11 18
t=-7 t=0 t=7 t=14 t=21
Example 5
Let S = {T1,T2}, where T1 =<111,011>, T2 =<110,010>.
T1 is not a robust test for Pf : A-a-b-g-d.
P
Not S1 for robustness
A e v
B
S1 d
T1
a b
g
S1
C
Example 5 cont’d.
⚫ T2 is a robust test for Qf: e-v-d.
Thus if T2 passes, then the path
Qf is verified to be good.
Q
⚫ So when T1 is applied the
A e v transition along Qf will not be
B late enough to invalidate T1, i.e.,
S1 d an erroneous conclusion.
T2 ⚫ So if the circuit passes both T1
a b and T2 , then Pf is adequately
g S1
tested. For T2, the transition at v
S0
C will appear and if there is a delay
fault, the transition at g will
appear later and a static 1-hazard
will appear at d.
Some theory
⚫ For every path and desired input transition in a single output
irredundant two level logic circuit, there exists either a robust test
or a validatable non-robust test set to detect each path delay fault.
⚫ But, for general multi-level circuits, validatable non-robust tests
may not occur for many situations due to the existence of hazards.
102