ISSN 0032-9460, Problems of Information Transmission, 2008, Vol. 44, No. 2, pp. 99–111.
Pleiades Publishing, Inc., 2008.
Original Russian Text
I.M. Boyarinov, 2008, published in Problemy Peredachi Informatsii, 2008, Vol. 44, No. 2, pp. 32–45.
Self-checking Circuits and Decoding Algorithms
for Binary Hamming and BCH Codes
and Reed–Solomon Codes over GF (2
I. M. Boyarinov
Institute for System Analysis, RAS, Moscow
Received October 2, 2007; in ﬁnal form, March 3, 2008
Abstract—We consider problems of detecting errors in combinational circuits and algorithms
for the decoding of linear codes. We show that a totally self-checking combinatorial circuit for
the decoding of a binary Hamming [n, k] code can be constructed if and only if n =2
r = n−k. We introduce the notion of a totally self-checking combinational circuit detecting error
clusters of size at most μ; for shortened Hamming [n, k] codes, we construct totally self-checking
decoding combinational circuits detecting error clusters of size at most μ,2≤ μ<n−k.Wede-
scribe single-error protected and self-checking algorithms: the extended Euclidean algorithm
and decoding algorithms for binary BCH codes and Reed–Solomon codes over GF (2
Error-correcting codes are widely used in computer engineering to increase the reliability of
memory systems. Basic examples are binary Hamming codes and BCH codes for the semiconductor
memory and Reed–Solomon codes over GF(2
) for the disk memory of computers. To provide a
required operation speed, encoders and decoders are implemented by combinational circuits, and
as well as memory systems protected by them, they are desired to be error protected.
Permanent faults can be detected by methods of diagnostics and testing. Nonpermanent faults
can be detected by built-in self-test circuits; in particular, by self-checking circuits. An important
type of self-checking circuits are totally self-checking combinational circuits, which along with
instant detection of nonpermanent errors realize the self-testing property: on-the-ﬂy detection of
any permanent circuit error of a given class (for instance, any single error).
For Hamming [n, k] codes with minimum distance d = 4, a number of various self-checking en-
coding and decoding circuits are proposed and analyzed (see [1,2] and references therein). At the
same time, for Hamming [n, k] codes with minimum distance d = 3, a totally self-checking combi-
national circuit can be constructed if and only if n =2
− 1, r = n − k. This claim, which was
announced in , is proved in Section 3.
In Section 2 we introduce the notion of a totally self-checking combinational circuit detecting
clusters of errors of size at most μ; in Section 3, for shortened Hamming [n, k] codes we construct
totally self-checking decoding combinational circuits detecting clusters of errors of size at most μ,
2 ≤ μ<n− k.
While totally self-checking decoding combinational circuits for Hamming codes can be con-
structed directly, for more complicated codes and other ways of realizing them, construction and
analysis of self-checking decoding algorithms seems to be necessary (see [4, 5]). As a step in this