You are on page 1of 4

This article has been accepted for inclusion in a future issue of this journal.

Content is final as presented, with the exception of pagination.

IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1

Fault Tolerant Parallel Filters Based Digital filters are one of the most commonly used signal processing
on Error Correction Codes circuits and several techniques have been proposed to protect them
Zhen Gao, Pedro Reviriego, Wen Pan, Zhan Xu, Ming Zhao, from errors. Most of them have focused on finite-impulse response
Jing Wang, and Juan Antonio Maestro (FIR) filters. For example, in [3], the use of reduced precision replicas
was proposed to reduce the cost of implementing modular redundancy
in FIR filters. In [4], a relationship between the memory elements of
Abstract— Digital filters are widely used in signal processing and
communication systems. In some cases, the reliability of those systems is an FIR filter and the input sequence was used to detect errors. Other
critical, and fault tolerant filter implementations are needed. Over the schemes have exploited the FIR properties at a word level to also
years, many techniques that exploit the filters’ structure and properties achieve fault tolerance [5]. The use of residue number systems [6]
to achieve fault tolerance have been proposed. As technology scales, it and arithmetic codes [7] has also been proposed to protect filters.
enables more complex systems that incorporate many filters. In those
Finally, the use of different implementation structures of the FIR
complex systems, it is common that some of the filters operate in parallel,
for example, by applying the same filter to different input signals. filters to correct errors with only one redundant module has also been
Recently, a simple technique that exploits the presence of parallel filters proposed [8]. In all the techniques mentioned so far, the protection
to achieve fault tolerance has been presented. In this brief, that idea of a single filter is considered.
is generalized to show that parallel filters can be protected using error However, it is increasingly common to find systems in which
correction codes (ECCs) in which each filter is the equivalent of a bit
in a traditional ECC. This new scheme allows more efficient protection several filters operate in parallel. This is the case in filter banks [9]
when the number of parallel filters is large. The technique is evaluated and in many modern communication systems [10]. For those systems,
using a case study of parallel finite impulse response filters showing the the protection of the filters can be addressed at a higher level by
effectiveness in terms of protection and implementation cost. considering the parallel filters as the block to be protected. This
Index Terms— Error correction codes (ECCs), filters, soft errors. idea was explored in [11], where two parallel filters with the same
response that processed different input signals were considered. It was
I. I NTRODUCTION shown that with only one redundant copy, single error correction can
Electronic circuits are increasingly present in automotive, medical, be implemented. Therefore, a significant cost reduction compared
and space applications where reliability is critical. In those applica- with TMR was obtained.
tions, the circuits have to provide some degree of fault tolerance. In this brief, a general scheme to protect parallel filters is presented.
This need is further increased by the intrinsic reliability challenges As in [11], parallel filters with the same response that process
of advanced CMOS technologies that include, e.g., manufacturing different input signals are considered. The new approach is based on
variations and soft errors. A number of techniques can be used to the application of error correction codes (ECCs) using each of the
protect a circuit from errors. Those range from modifications in the filter outputs as the equivalent of a bit in and ECC codeword. This
manufacturing process of the circuits to reduce the number of errors is a generalization of the scheme presented in [11] and enables more
to adding redundancy at the logic or system level to ensure that efficient implementations when the number of parallel filters is large.
errors do not affect the system functionality [1]. To add redundancy, The scheme can also be used to provide more powerful protection
a general technique known as triple modular redundancy (TMR) can using advanced ECCs that can correct failures in multiples modules.
be used. The TMR, which triplicates the design and adds voting The rest of this brief introduces the new scheme by first summariz-
logic to correct errors, is commonly used. However, it more than ing the parallel filters considered in Section II. Then, in Section III,
triples the area and power of the circuit, something that may not be the proposed scheme is presented. Section IV presents a case study
acceptable in some applications. When the circuit to be protected has to illustrate the effectiveness of the approach. Finally, the conclusions
algorithmic or structural properties, a better option can be to exploit are summarized in Section V.
those properties to implement fault tolerance. One example is signal
processing circuits for which specific techniques have been proposed II. PARALLEL F ILTERS W ITH THE S AME R ESPONSE
over the years [2].
A discrete time filter implements the following equation:
Manuscript received May 19, 2013; revised November 3, 2013; accepted
February 23, 2014. This work was supported in part by China’s 863 ∞

Plan Program Research on the Key Technology for the Base Band Signal y[n] = x[n − l] · h[l] (1)
Processing for Onboard Payload, in part by the Sino-Japan Joint Fund Key l=0
Technique Research for GSS Integrated Mobile Satellite Communications,
in part by the Tsinghua University Initiative Scientific Research Program where x[n] is the input signal, y[n] is the output, and h[l] is the
under Grant 2010THZ03-Key Technologies of Sky-Earth Integration Wireless impulse response of the filter [12]. When the response h[l] is nonzero,
Communication Network, in part by the National Basic Research Program of
only for a finite number of samples, the filter is known as a FIR filter,
China under Grant 2012CB316000, and in part by the Spanish Ministry of
Science and Education under Grant AYA2009-13300-C03. otherwise the filter is an infinite impulse response (IIR) filter. There
Z. Gao, W. Pan, M. Zhao, and J. Wang are with the Tsinghua National are several structures to implement both FIR and IIR filters.
Laboratory for Information Science and Technology, Tsinghua University, Bei- In the following, a set of k parallel filters with the same response
jing 100084, China (e-mail: zgao@tsinghua.edu.cn; panwen@tsinghua.edu.cn; and different input signals are considered. These parallel filters are
zhaoming@tsinghua.edu.cn; wangj@tsinghua.edu.cn).
P. Reviriego and J. A. Maestro are with the Universidad Antonio de Nebrija, illustrated in Fig. 1. This kind of filter is found in some communica-
Madrid E-28040, Spain (e-mail: previrie@nebrija.es; jmaestro@nebrija.es). tion systems that use several channels in parallel. In data acquisition
Z. Xu is with the School of Information and Communication Engineering, and processing applications is also common to filter several signals
Beijing Information Science and Technology University, Beijing 100085, with the same response.
China.
Color versions of one or more of the figures in this paper are available
An interesting property for these parallel filters is that the sum of
online at http://ieeexplore.ieee.org. any combination of the outputs yi [n] can also be obtained by adding
Digital Object Identifier 10.1109/TVLSI.2014.2308322 the corresponding inputs xi [n] and filtering the resulting signal with
1063-8210 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

2 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS

TABLE I
E RROR L OCATION IN THE H AMMING C ODE

Fig. 1. Parallel filters with the same response.

the same filter h[l]. For example



  
y1 [n] + y2 [n] = x1 [n − l] + x2 [n − l] · h[l]. (2)
l=0
This simple observation will be used in the following to develop
the proposed fault tolerant implementation.

III. P ROPOSED S CHEME


The new technique is based on the use of the ECCs. A simple ECC
takes a block of k bits and produces a block of n bits by adding n −k
parity check bits [13]. The parity check bits are XOR combinations
of the k data bits. By properly designing those combinations it is
possible to detect and correct errors. As an example, let us consider
a simple Hamming code [14] with k = 4 and n = 7. In this case, the
three parity check bits p1 , p2 , p3 are computed as a function of the
data bits d1 , d2 , d3 , d4 as follows:
p1 = d1 ⊕ d2 ⊕ d3
p2 = d1 ⊕ d2 ⊕ d4 Fig. 2. Proposed scheme for four filters and a Hamming code.
p3 = d1 ⊕ d3 ⊕ d4 . (3)
Once the erroneous bit is identified, it is corrected by simply inverting
The data and parity check bits are stored and can be recovered the bit.
later even if there is an error in one of the bits. This is done by This ECC scheme can be applied to the parallel filters considered
recomputing the parity check bits and comparing the results with the by defining a set of check filters z j . For the case of four filters
values stored. In the example considered, an error on d1 will cause y1 , y2 , y3 , y4 and the Hamming code, the check filters would be
errors on the three parity checks; an error on d2 only in p1 and p2 ; ∞
  
an error on d3 in p1 and p3 ; and finally an error on d4 in p2 and p3 . z 1 [n] = x1 [n − l] + x2 [n − l] + x3 [n − l] · h[l]
Therefore, the data bit in error can be located and the error can be l=0
corrected. This is commonly formulated in terms of the generating ∞
  
G and parity check H matrixes. For the Hamming code considered z 2 [n] = x1 [n − l] + x2 [n − l] + x4 [n − l] · h[l]
in the example, those are l=0
⎡ ⎤ ∞

1 0 0 0 1 1 1  
⎢ ⎥ z 3 [n] = x1 [n − l] + x3 [n − l] + x4 [n − l] · h[l] (6)
⎢0 1 0 0 1 1 0⎥
G =⎢ ⎥ l=0
⎢0 0 1 0 1 0 1⎥ (4)
⎣ ⎦ and the checking is done by testing if
0 0 0 1 0 1 1 z 1 [n] = y1 [n] + y2 [n] + y3 [n]
⎡ ⎤
1 1 1 0 1 0 0 z 2 [n] = y1 [n] + y2 [n] + y4 [n]
⎢ ⎥
H = ⎣1 1 0 1 0 1 0⎦. (5) z 3 [n] = y1 [n] + y3 [n] + y4 [n]. (7)
1 0 1 1 0 0 1 For example, an error on filter y1 will cause errors on the checks of
Encoding is done by computing y = x • G and error detection z 1 , z 2 , and z 3 . Similarly, errors on the other filters will cause errors
is done by computing s = y • H T , where the operator • is based on a different group of z i . Therefore, as with the traditional ECCs,
on module two addition (XOR) and multiplication. Correction is done the error can be located and corrected.
using the vector s, known as syndrome, to identify the bit in error. The The overall scheme is illustrated on Fig. 2. It can be observed that
correspondence of values of s to error position is captured in Table I. correction is achieved with only three redundant filters.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 3

For the filters, correction is achieved by reconstructing the TABLE II


erroneous outputs using the rest of the data and check outputs. R ESOURCE C OMPARISON FOR F OUR PARALLEL FIR F ILTERS
For example, when an error on y1 is detected, it can be corrected
by making

yc1 [n] = z 1 [n] − y2 [n] − y3 [n]. (8)

Similar equations can be used to correct errors on the rest of the TABLE III
data outputs. R ESOURCE C OMPARISON FOR E LEVEN PARALLEL FIR F ILTERS
In our case, we can define the check matrix as
⎡ ⎤
1 1 1 0 −1 0 0
⎢ ⎥
H = ⎣1 1 0 1 0 −1 0⎦ (9)
1 0 1 1 0 0 −1
IV. C ASE S TUDY
and calculate s = y H T to detect errors. Then, the vector s is also
To evaluate the effectiveness of the proposed scheme, a case study
used to identify the filter in error. In our case, a nonzero value in
is used. A set of parallel FIR filters with 16 coefficients is considered.
vector s is equivalent to 1 in the traditional Hamming code. A zero
The input data and coefficients are quantized with 8 bits. The filter
value in the check corresponds to a 0 in the traditional Hamming
output is quantized with 18 bits. For the check filters z i , since the
code.
input is the sum of several inputs x j , the input bit-width is extended to
It is important to note that due to different finite precision effects
10 bits. A small threshold is used in the comparisons such that errors
in the original and check filter implementations, the comparisons
smaller than the threshold are not considered errors. As explained in
in (7) can show small differences. Those differences will depend on
Section III, no logic sharing was used in the computations in the
the quantization effects in the filter implementations that have been
encoder and decoder logic to avoid errors on them from propagating
widely studied for different filter structures. The interested reader is
to the output.
referred to [12] for further details. Therefore, a threshold must be
Two configurations are considered. The first one is a block of four
used in the comparisons so that values smaller than the threshold are
parallel filters for which a Hamming code with k = 4 and n = 7
classified as 0. This means that small errors may not be corrected.
is used. The second is a block of eleven parallel filters for which a
This will not be an issue in most cases as small errors are acceptable.
Hamming code with k = 11 and n = 15 is used. Both configurations
The detailed study of the effect of these small errors on the signal
have been implemented in HDL and mapped to a Xilinx Virtex 4
to noise ratio at the output of the filter is left for future work. The
XC4VLX80 device.
reader can get more details on this type of analysis in [3].
The first evaluation is to compare the resources used by the
With this alternative formulation, it is clear that the scheme can be
proposed scheme with those used by TMR, the protection method
used for any number of parallel filters and any linear block code can
proposed in [7] (with m = 7) and by an unprotected filter implemen-
be used. The approach is more attractive when the number of filters
tation. Those results are presented in Tables II and III for each of
k is large. For example, when k = 11, only four redundant filters
the configurations considered. It can be observed that the proposed
are needed to provide single error correction. This is the same as for
technique provides significant savings (from 26% to 41%) for all the
traditional ECCs for which the overhead decreases as the block size
resource types (slices, flip-flops, and LUTs) compared with the TMR.
increases [13].
The benefits are larger for the second configuration as expected with
The additional operations required for encoding and decoding are
values exceeding 40% for all resource types. In that case, the relative
simple additions, subtractions, and comparisons and should have little
number of added check filters (n − k)/n is smaller. When compared
effect on the overall complexity of the circuit. This is illustrated in
with the arithmetic code technique proposed in [7], the savings are
Section IV in which a case study is presented.
smaller but still significant ranging from 11% to 40%. Again, larger
In the discussion, so far the effect of errors affecting the encoding
savings are obtained for the second configuration.
and decoding logic has not been considered. The encoder and
In summary, the results of this case study confirm that the proposed
decoder include several additions and subtractions and therefore the
scheme can reduce the implementation cost significantly compared
possibility of errors affecting them cannot be neglected. Focusing
with the TMR and provides also reductions when compared with
on the encoders, it can be seen that some of the calculations of the
other methods such as that in [7]. As discussed before, the reductions
z i share adders. For example, looking at (6), z 1 and z 2 share the term
are larger when the number of filters is large.
y1 + y2 . Therefore, an error in that adder could affect both z 1 and
The second evaluation is to assess the effectiveness of the scheme
z 2 causing a miscorrection on y2 . To ensure that single errors in the
to correct errors. To that end, fault injection experiments have been
encoding logic will not affect the data outputs, one option is to avoid
conducted. In particular, errors have been randomly inserted in the
logic sharing by computing each of the z i independently. In that case,
coefficients and inputs of the filters. In all cases, single errors were
errors will only affect one of the z i outputs and according to Table I,
detected and corrected. In total, 8000 errors for inputs and 8000 errors
the data outputs y j will not be affected. Similarly, by avoiding logic
for filter coefficients were inserted in the different simulation runs.
sharing, single errors in the computation of the s vector will only
This confirms the effectiveness of the scheme to correct single errors.
affect one of its bits. The final correction elements such as that in
(8) need to be tripled to ensure that they do not propagate errors to
V. C ONCLUSION
the outputs. However, as their complexity is small compared with
that of the filters, the impact on the overall circuit cost will be low. This brief has presented a new scheme to protect parallel filters
This is confirmed by the results presented in Section IV for a case that are commonly found in modern signal processing circuits. The
study. approach is based on applying ECCs to the parallel filters outputs to
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

4 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS

detect and correct errors. The scheme can be used for parallel filters [3] B. Shim and N. Shanbhag, “Energy-efficient soft error-tolerant digital
that have the same response and process different input signals. signal processing,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst.,
vol. 14, no. 4, pp. 336–348, Apr. 2006.
A case study has also been discussed to show the effectiveness of
[4] T. Hitana and A. K. Deb, “Bridging concurrent and non-concurrent error
the scheme in terms of error correction and also of circuit overheads. detection in FIR filters,” in Proc. Norchip Conf., 2004, pp. 75–78.
The technique provides larger benefits when the number of parallel [5] Y.-H. Huang, “High-efficiency soft-error-tolerant digital signal process-
filters is large. ing using fine-grain subword-detection processing,” IEEE Trans. Very
The proposed scheme can also be applied to the IIR filters. Future Large Scale Integr. (VLSI) Syst., vol. 18, no. 2, pp. 291–304, Feb. 2010.
[6] S. Pontarelli, G. C. Cardarilli, M. Re, and A. Salsano, “Totally fault
work will consider the evaluation of the benefits of the proposed tolerant RNS based FIR filters,” in Proc. IEEE IOLTS, Jul. 2008,
technique for IIR filters. The extension of the scheme to parallel filters pp. 192–194.
that have the same input and different impulse responses is also a [7] Z. Gao, W. Yang, X. Chen, M. Zhao, and J. Wang, “Fault missing rate
topic for future work. The proposed scheme can also be combined analysis of the arithmetic residue codes based fault-tolerant FIR filter
design,” in Proc. IEEE IOLTS, Jun. 2012, pp. 130–133.
with the reduced precision replica approach presented in [3] to reduce [8] P. Reviriego, C. J. Bleakley, and J. A. Maestro, “Strutural DMR: A
the overhead required for protection. This will be of interest when technique for implementation of soft-error-tolerant FIR filters,” IEEE
the number of parallel filters is small as the cost of the proposed Trans. Circuits Syst., Exp. Briefs, vol. 58, no. 8, pp. 512–516, Aug. 2011.
scheme is larger in that case. Another interesting topic to continue this [9] P. P. Vaidyanathan. Multirate Systems and Filter Banks. Upper Saddle
brief is to explore the use of more powerful multibit ECCs, such as River, NJ, USA: Prentice-Hall, 1993.
[10] A. Sibille, C. Oestges, and A. Zanella, MIMO: From Theory to Imple-
Bose–Chaudhuri–Hocquenghem codes, to correct errors on multiple mentation. San Francisco, CA, USA: Academic Press, 2010.
filters. [11] P. Reviriego, S. Pontarelli, C. Bleakley, and J. A. Maestro, “Area
efficient concurrent error detection and correction for parallel filters,”
R EFERENCES IET Electron. Lett., vol. 48, no. 20, pp. 1258–1260, Sep. 2012.
[12] A. V. Oppenheim and R. W. Schafer, Discrete Time Signal Processing.
[1] M. Nicolaidis, “Design for soft error mitigation,” IEEE Trans. Device Upper Saddle River, NJ, USA: Prentice-Hall 1999.
Mater. Rel., vol. 5, no. 3, pp. 405–418, Sep. 2005. [13] S. Lin and D. J. Costello, Error Control Coding, 2nd ed. Englewood
[2] A. Reddy and P. Banarjee “Algorithm-based fault detection for sig- Cliffs, NJ, USA: Prentice-Hall. 2004.
nal processing applications,” IEEE Trans. Comput., vol. 39, no. 10, [14] R. W. Hamming, “Error correcting and error detecting codes,” Bell Syst.
pp. 1304–1308, Oct. 1990. Tech. J., vol. 29, pp. 147–160, Apr. 1950.

You might also like