Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

384 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 23, NO.

2, FEBRUARY 2015

Fault Tolerant Parallel Filters Based on Error Correction Codes


Zhen Gao, Pedro Reviriego, Wen Pan, Zhan Xu, Ming Zhao, Jing Wang, and Juan Antonio Maestro

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

Laboratory for Information Science and Technology, Tsinghua University, Bei- y[n] = x[n − l] · h[l] (1)
jing 100084, China (e-mail: zgao@tsinghua.edu.cn; panwen@tsinghua.edu.cn; l=0
zhaoming@tsinghua.edu.cn; wangj@tsinghua.edu.cn).
P. Reviriego and J. A. Maestro are with the Universidad Antonio de Nebrija, where x[n] is the input signal, y[n] is the output, and h[l] is the
Madrid E-28040, Spain (e-mail: previrie@nebrija.es; jmaestro@nebrija.es). impulse response of the filter [12]. When the response h[l] is nonzero,
Z. Xu is with the School of Information and Communication Engineering, only for a finite number of samples, the filter is known as a FIR filter,
Beijing Information Science and Technology University, Beijing 100085, otherwise the filter is an infinite impulse response (IIR) filter. There
China.
Color versions of one or more of the figures in this paper are available
are several structures to implement both FIR and IIR filters.
online at http://ieeexplore.ieee.org. In the following, a set of k parallel filters with the same response
Digital Object Identifier 10.1109/TVLSI.2014.2308322 and different input signals are considered. These parallel filters are
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.
IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 23, NO. 2, FEBRUARY 2015 385

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

Fig. 1. Parallel filters with the same response.

illustrated in Fig. 1. This kind of filter is found in some communica-


tion systems that use several channels in parallel. In data acquisition
and processing applications is also common to filter several signals
with the same response.
An interesting property for these parallel filters is that the sum of
any combination of the outputs yi [n] can also be obtained by adding
the corresponding inputs xi [n] and filtering the resulting signal with
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
Fig. 2. Proposed scheme for four filters and a Hamming code.
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: Encoding is done by computing y = x • G and error detection
p1 = d1 ⊕ d2 ⊕ d3 is done by computing s = y • H T , where the operator • is based
on module two addition (XOR) and multiplication. Correction is done
p2 = d1 ⊕ d2 ⊕ d4
using the vector s, known as syndrome, to identify the bit in error. The
p3 = d1 ⊕ d3 ⊕ d4 . (3) correspondence of values of s to error position is captured in Table I.
The data and parity check bits are stored and can be recovered Once the erroneous bit is identified, it is corrected by simply inverting
later even if there is an error in one of the bits. This is done by the bit.
recomputing the parity check bits and comparing the results with the This ECC scheme can be applied to the parallel filters considered
values stored. In the example considered, an error on d1 will cause by defining a set of check filters z j . For the case of four filters
errors on the three parity checks; an error on d2 only in p1 and p2 ; y1 , y2 , y3 , y4 and the Hamming code, the check filters would be
an error on d3 in p1 and p3 ; and finally an error on d4 in p2 and p3 . ∞
  
Therefore, the data bit in error can be located and the error can be z 1 [n] = x1 [n − l] + x2 [n − l] + x3 [n − l] · h[l]
corrected. This is commonly formulated in terms of the generating l=0


G and parity check H matrixes. For the Hamming code considered  
in the example, those are z 2 [n] = x1 [n − l] + x2 [n − l] + x4 [n − l] · h[l]
⎡ ⎤ l=0
1 0 0 0 1 1 1 ∞
  
⎢0 1 0 0 1 1 0⎥ z 3 [n] = x1 [n − l] + x3 [n − l] + x4 [n − l] · h[l]
⎢ ⎥ (6)
G =⎢ ⎥ (4)
⎣0 0 1 0 1 0 1⎦ l=0
0 0 0 1 0 1 1 and the checking is done by testing if
⎡ ⎤
1 1 1 0 1 0 0 z 1 [n] = y1 [n] + y2 [n] + y3 [n]
⎢ ⎥
H = ⎣1 1 0 1 0 1 0⎦. (5) z 2 [n] = y1 [n] + y2 [n] + y4 [n]
1 0 1 1 0 0 1 z 3 [n] = y1 [n] + y3 [n] + y4 [n]. (7)
386 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 23, NO. 2, FEBRUARY 2015

For example, an error on filter y1 will cause errors on the checks of TABLE II
z 1 , z 2 , and z 3 . Similarly, errors on the other filters will cause errors R ESOURCE C OMPARISON FOR F OUR PARALLEL FIR F ILTERS
on a different group of z i . Therefore, as with the traditional ECCs,
the error can be located and corrected.
The overall scheme is illustrated on Fig. 2. It can be observed that
correction is achieved with only three redundant filters.
For the filters, correction is achieved by reconstructing the
erroneous outputs using the rest of the data and check outputs.
For example, when an error on y1 is detected, it can be corrected TABLE III
by making R ESOURCE C OMPARISON FOR E LEVEN PARALLEL FIR F ILTERS

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


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

V. C ONCLUSION [3] B. Shim and N. Shanbhag, “Energy-efficient soft error-tolerant digital


signal processing,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst.,
This brief has presented a new scheme to protect parallel filters vol. 14, no. 4, pp. 336–348, Apr. 2006.
that are commonly found in modern signal processing circuits. The [4] T. Hitana and A. K. Deb, “Bridging concurrent and non-concurrent
approach is based on applying ECCs to the parallel filters outputs to error detection in FIR filters,” in Proc. Norchip Conf., 2004,
detect and correct errors. The scheme can be used for parallel filters pp. 75–78.
that have the same response and process different input signals. [5] Y.-H. Huang, “High-efficiency soft-error-tolerant digital signal process-
ing using fine-grain subword-detection processing,” IEEE Trans. Very
A case study has also been discussed to show the effectiveness of Large Scale Integr. (VLSI) Syst., vol. 18, no. 2, pp. 291–304,
the scheme in terms of error correction and also of circuit overheads. Feb. 2010.
The technique provides larger benefits when the number of parallel [6] S. Pontarelli, G. C. Cardarilli, M. Re, and A. Salsano, “Totally fault
filters is large. tolerant RNS based FIR filters,” in Proc. IEEE IOLTS, Jul. 2008,
pp. 192–194.
The proposed scheme can also be applied to the IIR filters. Future [7] Z. Gao, W. Yang, X. Chen, M. Zhao, and J. Wang, “Fault missing rate
work will consider the evaluation of the benefits of the proposed analysis of the arithmetic residue codes based fault-tolerant FIR filter
technique for IIR filters. The extension of the scheme to parallel filters design,” in Proc. IEEE IOLTS, Jun. 2012, pp. 130–133.
that have the same input and different impulse responses is also a [8] P. Reviriego, C. J. Bleakley, and J. A. Maestro, “Strutural DMR:
topic for future work. The proposed scheme can also be combined A technique for implementation of soft-error-tolerant FIR filters,”
IEEE Trans. Circuits Syst., Exp. Briefs, vol. 58, no. 8, pp. 512–516,
with the reduced precision replica approach presented in [3] to reduce Aug. 2011.
the overhead required for protection. This will be of interest when [9] P. P. Vaidyanathan. Multirate Systems and Filter Banks. Upper Saddle
the number of parallel filters is small as the cost of the proposed River, NJ, USA: Prentice-Hall, 1993.
scheme is larger in that case. Another interesting topic to continue this [10] A. Sibille, C. Oestges, and A. Zanella, MIMO: From Theory to Imple-
mentation. San Francisco, CA, USA: Academic Press, 2010.
brief is to explore the use of more powerful multibit ECCs, such as
[11] P. Reviriego, S. Pontarelli, C. Bleakley, and J. A. Maestro,
Bose–Chaudhuri–Hocquenghem codes, to correct errors on multiple “Area efficient concurrent error detection and correction for paral-
filters. lel filters,” IET Electron. Lett., vol. 48, no. 20, pp. 1258–1260,
Sep. 2012.
R EFERENCES
[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