Professional Documents
Culture Documents
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 13, NO. 6, JUNE 2005
AbstractIn this paper, we first propose a novel design-for-testability approach based on M-testability conditions for module-level
systolic fast Fourier transform (FFT) arrays. Our M-testability
conditions guarantee 100% single-module-fault testability with a
minimum number of test patterns. Based on this testable design,
fault-tolerant approaches at the bit level and the multiply-subtract-add (MSA) module level are proposed, respectively. If the
reconfiguration is performed at the bit level, then the FFTBIT network is constructed. Two types of reconfiguration schemes (Type-I
FFTMSA and Type-II FFTMSA ) are proposed at the MSA module
level. Since both the design for testability (DFT) and the design
for yield (DFY) issues are considered at the same time for all these
proposed approaches, the resulting architectures are simpler as
compared with previous works. The reliability of the FFT system
increases significantly. The hardware overhead is lowabout 12%
for the FFTBIT network and the Type-II FFTMSA
and 1 2
network, respectively. An experimental chip is also implemented
to verify our approaches. Reliabilities and hardware overhead are
also evaluated and compared with previous works.
Index TermsButterfly network, C-testable, design for testability (DFT), fast Fourier transform (FFT), fault tolerant, logic
testing.
I. INTRODUCTION
733
Fig. 2.
(5)
(2)
where
is a representative twiddle factor. All the quantities
in these equations are complex-valued. For implementation purposes, it is necessary to use a functionally equivalent butterfly
that employs only real quantities and real operations. Let us ex, and
in complex form as follows:
press
(3)
where is the square root of
. Combining these equations,
and
as
we can recast
(4)
The butterfly module can be constructed with four identical multiply-subtract-add (MSA) modules, as shown in Fig. 2.
III. REVIEW OF M-TESTABILITY CONDITIONS
,
Definition: A cell is a combinational machine
is the cell function and
and
where
for
. A cell can be a bit-level cell such
as the adder cell. Moreover, it can also represent a word-level
cell such as a two-point butterfly module as shown in Fig. 1.
An ILA is an array of cells. We use the terms array and ILA
interchangeably.
Definition: A complete or exhaustive input sequence for a
cell is an input sequence consisting of all possible input combi, where
nations for the cell, i.e.,
.
Definition: A complete output sequence
is defined analogously. A minimal complete sequence is a
denotes
shortest such sequence (which has a length of
the word length of a cell).
Definition: A -testable array is an array testable with a constant number of test patterns independent of the size of the array.
An -testable array is also an array testable with a constant
number of test patterns. However, this constant number is also a
minimum value (equal to ). Therefore, M-testable techniques
are always superior to C-testable techniques.
We assume that the cells behavior is invariant over time, even
if it is faulty. A faulty cells function may deviate from the correct one in any manner, as long as it remains combinational.
That is, we are testing for permanent combinational faults only
[12]. We now turn to the FFT arrays. A straightforward implementation of an -point FFT network is to use two-point butterflies, which consists of
stages and each stage contains
two-input butterflies. Let the inputs of a butterfly module,
and
, be assigned the values and , respectively, and
and be the values of their corresponding outputs (see Fig. 1).
Since
, and
. The
bijectivity of the module function can easily be verified in our
previous work [11].
Theorem 1: An -point FFT butterfly network can be made
M-testable by swapping the outputs of the lower left cells of
734
Fig. 3.
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 13, NO. 6, JUNE 2005
Fig. 5.
Fig. 6.
According to Theorem 1, a testable design of the FFT butterfly networks is shown in Fig. 5. In this figure, the lower left
module of each four-point butterfly network is constructed with
four TMSA modules. The two-point butterflies designated as
MSA (TMSA) denotes that they are constructed with four MSA
(TMSA) modules, respectively.
Since the function of a two-point FFT module is bijective,
this leaves us the job of designing the TMSA modules in order
to make the whole array M-testable. The swapping mechanism
can be implemented with negligible cost, since its property is
inherent in the computation of the FFT modules. In Section II,
we showed that a butterfly module could be constructed with
four identical MSA modules (see Fig. 2). Our goal now is to
and
of the specified modules in test
swap the outputs
and
be the outputs of a module after swapmode. Let
ping; then the module performs the following function:
(6)
From (4) and (5) we have
(7)
(8)
Comparing (4) and (5) with (7) and (8), respectively, we see
that swapping the outputs is tantamount to changing the sign of
, or to replace the adders by subtractors and vice versa. This
can be implemented by using four TMSA modules as shown
in Fig. 6. When the processor operates in normal mode, each
Fig. 7.
735
Fig. 10.
Fig. 11.
Fig. 8. Three cell types used in the original MSA module. (a) The multiplier
cell. (b) The subtractor cell. (c) The adder cell.
by the
(subtractor/adder) selection signal. When
,
, it performs
it performs the subtractor function. When
the adder function instead.
V. FAULT TOLERANCE AT THE BIT LEVEL
This section deals with the off-line reconfiguration architecture for FFT arrays at the bit level. In our fault-tolerant
design, a redundant column col is included and placed in
between the multiplier cells and the subtractor cells for each
TMSA and MSA modules. We call the modified fault-tolerant
TMSA and MSA modules the FTMSA (fault-tolerant TMSA)
and the FMSA (fault-tolerant MSA) modules, respectively. The
fault-tolerant/testable structure of FFT butterfly networks is
shown in Fig. 10. This type of fault-tolerant FFT network is
network. In this figure, the lower
referred to as the FFT
left two-point butterfly of each four-point butterfly network
is constructed with FTMSA modules. The two-point butterfly
designated as FMSA (FTMSA) denotes that the butterflies are
constructed with FMSA (FTMSA) modules, respectively.
The FMSA module in the form of an ILA is shown in Fig. 11,
where the word length is 3. Each column in the array is labeled
. Our reconfigurausing the notation col , where
tion algorithm proceeds as follows.
1) If col is faulty,
. That is, some of the multiplier column is faulty. This faulty col is then replaced
with col , which is in turn replaced with col . This
736
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 13, NO. 6, JUNE 2005
Fig. 13.
When
Fig. 12. (a) Multiplier cell (MC). (b) The multiplier/subtractor cell (MS).
(c) The adder/subtractor cell (SA). (d) The adder cell (AC).
737
apply the all-0 and all-1 patterns to the bit-level cells in normal
mode. The reason to choose these two patterns is that the outputs of the basic cell are the same as the inputs when they are applied. These two patterns can detect all the stuck-at faults of the
XOR gate and the multiplexers during normal operation mode.
patterns are required to achieve 100%
Therefore, only
fault coverage for the MSA module. For this module-level design, since four MSA modules can be constructed within each
modified butterfly module, then Theorem 1 can also be applied
directed. Therefore, we can see that the fault-tolerant design is
also M-testable.
VII. RELIABILITY AND HARDWARE OVERHEAD ANALYSIS
Fig. 14.
(10)
Fig. 15.
of the FFT
network
(11)
network is evaluated
The hardware overhead of the FFT
in the following. We define TC
TC
, and TC
as the transistor counts of a single MSA, FMSA, and FTMSA
module, respectively. The term TC is defined as the number of
network. In other words
extra transistors in the FFT
TC
TC
TC
TC
TC
TC
TC
TC
TC
(12)
TC
TC
TC
TC
(13)
738
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 13, NO. 6, JUNE 2005
TC
Fig. 16.
Chip layout.
TC
(14)
respectively. Substituting (14) into (12) and (13), we can find
the hardware overhead of the FFT
network. For example, if
and
, the hardware overhead ratio is calculated
%.
as HO
Now we turn our analysis to the module level design. Let the
. Then
reliability of a MSA module at the module level be
can be expressed as follows:
MSA module. Furthermore, the switches of the MSA-level design are assumed to be fault free in our analysis. In fact, the
added routing areas may affect the reliability of the system. To
take the effect into consideration, we can increase the failure
rate of a cell proportional to the overall hardware overhead ratio.
HO . For exThat is, the reliability of a cell becomes to
ample, the hardware overhead ratio can be found in the previous
and to these
discussions. We can substitute the values of
equations to obtain the real hardware overhead. Then the compared results can be analyzed.
(15)
The reliability of a two-point butterfly module in the Type-I
FFT
network is then given by
(16)
For the network to work correctly, all two-point butterflies
must work correctly. Therefore, the reliability of the Type-I
FFT
network
can be expressed as
(17)
Similarly, the reliability to obtain an operational butterfly
stage in the Type-II FFT
network can be expressed as
(18)
For the FFT processor to work correctly, all the stages must
operate correctly. That is, the system reliability for the Type-II
FFT
network can be expressed as
(19)
Since the number of MSA modules at each stage is
. The
network is approxhardware overhead for the Type-II FFT
imately
(one redundant MSA is added in each stage).
Note that the extra routing area is neglected here since they are
connected locally and occupies less than 3% of the area of a
Fig. 17.
( = 0:0005; w = 16).
Fig. 18. Reliabilities of the bit-level designs with different word lengths. ( =
0:0003; N = 16).
739
Fig. 20.
( = 0:0005;N = 16).
Our proposed approaches are improvements over our previous work [18], which are superior to these as can be seen from
the table. The DFT technique used in [18] aims at the bit level.
Since the basic bit-level cells (adder cells, multiplier cells, and
subtractor cells) do not inherently possess the property of bijection, therefore, two multiplexers should be added to make them
bijective. Therefore, significant hardware and delay overhead is
required (5.66%). Moreover, the fault-tolerant design proposed
in [18] used a spare row. In this approach, the faulty row is replaced by the neighboring row to its above, which is in turn replaced by the next row to the above, and so on. Since a basic
cell contains three vertical inputs, it requires three multiplexers
for each cell to bypass itself when it is faulty. Therefore, the
overhead for the DFY/DFY design is almost 40%. On the conis simtrary, the column-based reconfiguration used in FFT
pler than that in [18] since each cell contains only one horizontal
input. From Table I, we can see that the proposed three fault-tolerant approaches are all superior to [18] in terms of hardware
740
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 13, NO. 6, JUNE 2005
TABLE I
FAULT-TOLERANT AND TEST FEATURE COMPARISON WITH PREVIOUS SCHEMES
Shyue-Kung Lu received the Ph.D. degree in electrical engineering from the National Taiwan University, Taipei, in 1995.
From 1995 to 1998, he was an Associate Professor in the Department of Electrical Engineering,
Lunghwa Junior College of Technology and Commerce. Since 1998, he has been with the Department
of Electronics Engineering, Fu Jen Catholic University, Taipei, where he is a Professor. His research
interests include the areas of VLSI testing and
fault-tolerant computing.
741