Академический Документы
Профессиональный Документы
Культура Документы
Albrecht P. Stroele
University of Karlsruhe, Institute of Computer Design and Fault Tolerance
P. 0. Box 6980, D-76128 Karlsruhe, Germany
Abstract
2k-i
1 . Introduction
Built-in self-test (BIST) requires that test patterns are
generated on-chip and test responses are compacted onchip. Data paths of processors and in particular circuits for
digital signal processing often contain adders, subtracters,
or arithmetic logic units (ALUs) that together with a register can be configured as shown in figure 1 and serve as
pattern generators [4, 8, 91 and response compactors.
380
0-8186-7304-4/96 $05.00 0 1996 IEEE
t.
r(t):
observed test response at time t
ref(t): error-free test response at time t
e(t): error at time t
where r(t), ref(t), and e(t) are the values of the corresponding bit vectors, r(t) = ref(t) + e(t). As we assume that
random patterns are applied and the CUT has combinational faults, successive errors are statistically independent
in time. Let E := {EO, EI, ..., Em- 1 } be the set of error
values that occur with nonzero probability, -(N- 1) I : ~Ii
N-1 for i = O,l, ...,m-1.
6 := gcd{eo, ~ 1...,, ~ ~ -N}1 , denotes the largest
integer that divides every error value and N. Using the
equality gcd{x2-x1, x3-x2} =: gcd(x2-x1, x3-x1}, the
greatest common divisor of N and all the differences
between error values becomes
6' := gcd{Eo-Eo, E ~ - E O,...,
, Em-l-EO, E O - E ~ ,..,,,Em-l-El,
..., EO-Em-1, Em-l-Em..l, N}
= gcd{ El-EO, E ~ - E O ,..., E ~ . . ~ - EN}
o,
The proofs of this paper repeatedly use the fact that every
(modulo N)-sum of values from the set { xo, X I ,..., xz+l}
is a multiple of gcd{xo, x i , ..., xz-l, N}, and conversely
every multiple of gcd{xo, xi,..., xz-l, N} ranging between
0 and N-1 can be represented by such a sum [3]. In
particular, every error e(i) is a multiple of 6, every
difference of errors is a multiple of 6', and 6 divides 6'.
Hence, every error can be represented by e(i) = x.d + y( i).S
..e,
6'
6
where x is the same for all errors, 0 2 x < -, and y(i) can
assume a positive or negative value.
In the following section, the analysis begins with
configurations using adders and subtracters modulo N
where N is an arbitrary positive integer. In section 3,
adders and subtracters are considered that add the overflow
bit or subtract the underflow bit immediately at the least
significant bit position. Section 4 extends the ana1ysi:s to
configurations where the overflow bit or the underflow bit,
respectively, is stored in an extra flip-flop. Section 5
shows some experimental results and compares the
arithmetic compactors to MISRs.
,E
[[ s;lcc(0) + re$)
t-1
t-1
] mod N t
1=0
t-1
ze(i) ] mod N
1=0
{ sacc,ef(t) + 1=0
x e ( i ) ] modN
where sacc,,f(t) is the signature of the fault-free circuit.
Aliasing occurs if and only if sacc(t) = sacc,ef(t) holds,
t- 1
that is [I:
e(i>] mod N = 0, and at least one error e(i),
1=0
Theorem U:
Let an accumulator with (modulo N)-adder compact test
responses that are statistically independent in time and
have errors with values EO, ~ 1...,
, Em-1. Then the probability of aliasing is,
Pal(t)
6'
if t @ I n . - I n e 1%)
6
= 0
else
where
...
...
...
...
d
Figure 2:
i:
time;
1
4
Proof:
Starting from a given state s(0), the accumulator compacting the errors can reach all states out of { 0, 1, ..., N- 1 }
that differ from s(0) by a multiple of 6. In general,
however, not all of these N / 6 states are reachable at the
same point of time. Two different error sequences e(O),
e(l), ..., e(t-I) and e'(O), e'(l), ..., e'(t-1) result in states
s(t) and s'(t), which differ by As(t) = [s'(t) - s(t)] modN =
t- 1
381
t- 1
a = I.E
ai steps the state [s(O) + a.Eo] mod N
= 1
as well as the state [s(O) + a.&o+ 6'1 mod N can be
reached. In 2a steps, the states [s(O) + ~ C X . E O ]mod N,
Then in
?6
7- 1
+ 1=0
,E 6',y(t+i)
7- 1
6'.(x
6
-
N
A prim number N is most favorable for compaction.
For m > l , this gives 6 = 6' = 1 independently of the
1
pcssible errors, and lim pal(t) = t+m
N .
Often, N equals 2k. Let i be the least significant bit
pcsition where an error can have a "1". Then we have
6 :I 2'. If also error-free responses or errors having a "0" at
2i
pcsition i can occur, then 6' = 6 and lim Pal(t) = 3 =
t-+m
2
2-:k-1)follow. Hence, faults that do not affect the less
significant bits of the test responses are aliased with
relatively high probability.
Compactors can also be built with (modulo N)-subtracters. Subtraction of r(i) corresponds to addition of N-r(i),
and gcd{ -EO, - E I , ..., -Em-l, N} = gcd(E0, ~ 1...,, Em-1, N}
holds. So these compactors have the same probability of
aliasing as compactors using (modulo N)-addition.
t+m
ples of 6' can occur at time t, then at time t+7 just the
same states are possible. The subsets of states that are
reachable at times t, t+l, ..., t+.t-l must be disjoint since
This configuration is also based on an adder that operates modulo N. But now a simple modification is introduced that avoids the loss of error information contained in
the overflow bit. The overflow from the most significant
bit position is immediately added at the least significant
bit position (in figure 1, CO is connected to ci). This
corresponds to the "end-around carry" when numbers in 1's
complement representation are added. For this accumulator, the next state becomes Sacc(t+l) =
if sacc(t)=O and r(t)=O
:sacc(t)-l+r(t)] mod(N-1) + 1 else
When the accumulator once has reached a state Sacc(t) # 0,
state 0 cannot occur again.
Theorem 2:
Let an accumulator with immediate feedback of overflow compact test responses that are statistically independent in time and have errors with values EO, ~ 1...,, ~ ~ - 1 .
Then the probability of aliasing is
0 I t I to: Pal(t) = 0
'
6'
7.6
7- 1
1=0
N n e { 1, 2,
1 if t = n . - ,
to c t :
6'
6
lim Pal ( n . - )
where
I O else
If (among other possible responses) the error-free
response can occur (EO = 0, m > 1), we get 6 = 6'. After
382
6'
&}
else
N- 1
6 = gcd{Eo,El, ..., Em-1, N}
6' = gcd{ E I - E O , E ~ - E O ,..., Em-l-Eo, N}
0
if sacc(0)# 0
minimal time t for
which i, j < t exist with
ref(i) # 0 and rG) # 0
else
n+-
...}
6'
6
if t g {n - I n
Pal(t) = 0
~
Proof:
We begin with the case that the accumulator is initialized to sacc(0) # 0. The observed signature
sacc(t) = [ Sacc(0) - 1 +
t- 1
i-1
1=0
(*I
t- 1
Corollary 1:
Let an accumulator with 1's complement adder compact
test responses that are statistically independent in time and
have errors with at least two different values. Let N- 1 be
prime. Then a point of time, to, exists such that for all
t > to aliasing is possible. The limiting value of the
aliasing probability is lim pal(t) = 1/(N- 1).
t+-
Theorem 3:
Let an accumulator with (modulo N)-adder and stored
overflow bit compact test responses that are statistically
independent in time and have errors with values EO,~ 1...,,
~ ~ -For
1 the
. error-free case and in the presence of errors,
let the sequence of test responses be different from the
constant 0 and the constant N-1 sequence. Then the probability of aliasing is
Pal(t)
{ Ei:b(t)
=:
6'
6
if t g {n.- I n e br)
where
Proof:
If r(O)= ...=r(t-2)=0 and r(O)= ...=r(t-2)=N-l do not
hold, the accumulator cannot assume the states 0 and 2N-1
after time t-2. The accumulator considered here differs from
the accumulalor considered in the previous section by
adding the overflow bit one clock period later. So the state
zacc(t) can be cornputed in the following way. First, the
383
s(t-1) = [ sacc(0) - 1 +
t-2
,xr(i)] mod(N-1) + 1
t-2
and
1=0
6'
ple of 6' (see the proof of theorem 1). For the difference of
states AS(i) = TeAi) - T(i) this means:
, :
AT(i) E { n.6' I nE Z }
For i = 0, T , ~ T ...
for i = 1 , ~ + 1..., :
Ai'(i)E {(.t-l).x6+n.6'InZ}
for i = T-1 , 2 ~1,- ... : AS(i) E { x6 + n.6' I nE Z}
If we now compare the errors e(i) = x6 + y(i)4' with the
set of state differences that are possible at different points
of time, then we see that the condition AT(i)modN =
e(i) mod N can be satisfied only for ~ - 1 , 2 2 - 1...
, Hence,
aliasing can occur only at times that are multiples of T.
Apart from an initial phase where a smaller number of
state differences is possible, at these times always the
N-1 .
same 7differences are reachable, and fort+ they have
ctE
N-2
N- 1
Table 1:
=
-
-W1)
-(N-2)
-2
-1
0
1
2
AX = -(N-2),
A T = -(N-2),
AT = -2,
AT = -1
AT= 0
AT= 1
AT = 2,
AX=1
AT = 2
lim
n+m
-"
N-1
6'
I N-1
n+-
Q.E.D.
AT = N-2
AT = N-2
AT = -2,
AT=-1
Conditions for aliasing
384
= lim
t+-
x P(AT(t-1) mod N
=I
ccE
c mod N) . P(e = c)
0.02
1
I
0
Figure4:
test length t
.-
100
Probability of aliasing in accumulator A and
MISR, first experiment
50
5 . Experimental results
Four different compactors for %bit test responses were
investigated experimentally:
A: 8-bit accumulator using addition modulo 256
B: 8-bit accumulator using addition with immediate feedback of overflow
C: 8-bit accumulator using addition with stored overflow
and for comparison also
385
6 . Conclusions
Three different types of accumulators and the corresponding configurations with subtracters have been investigated regarding their compaction performance. In accumulators using addition modulo 2k, the probability of
aliasing is relatively high for all those faults that d o not
affect the low significant bits of the test responses. Accumulators with immediate feedback of overflow and accumulators with stored overflow bit do not suffer from this
problem. Their performance is best if their width k is chosen such that 2k-l is a prime number, e.g. k = 3,7, or 31.
O.l0I\
0.05
0.02
I
L
500
test length t
100
0.02
4000
test length t
1000
References
[ I ] M. Damiani, P. Olivo, B. Ricc6, "Analysis and Design of
'I
[2]
[3]
r41
0.03
[5]
0.02
[6]
0.01
100
200
test length t
386