Design of Self-Checking Processors Using Efficient Berger Check Prediction Logic

  • T. R. N. Rao
  • Gui-Liang Feng
  • Mahadev S. Kolluru
Part of the The Kluwer International Series in Engineering and Computer Science book series (SECS, volume 285)


Processors with concurrent error detection (CED) capability are called self-checking processors. CED is a very important and necessary feature in VLSI microprocessors that are integral and ultradependable for real-time applications. The design of self-checking reduced instruction set computer (RISC) requires the state-of-the-art techniques in computer architectures, implementation and self-checking designs.

Among the components of a processor, the most difficult circuits to check are the arithmetic and logic units (ALUs). In this chapter, we shall concentrate on the design of a self-checking ALU. We introduce a new totally self-checking (TSC) ALU design scheme called Berger check prediction (BCP). Using the BCP, the self-checking processor design can be made very efficient. Also, we discuss the theory involving the use of a reduced Berger code for a more efficient BCP design. A novel design for a Berger code checker based on a generalized code partitioning scheme is discussed here, and is used to efficiently implement the Berger code checking.

Key words

Self-Checking Berger Code Berger Code Partitioning Fault-Tolerance Self-Checking ALU BCP Reduced Berger Check 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    M. J. Ashjaee and S. M. Reddy, “Totally Self-Checking Checkers for a class of Separable Codes,” Proc. 12th Annual Alterton Conf. Circuit and System Theory, pp. 238–242, October 1974.Google Scholar
  2. [2]
    M. J. Ashjaee, “Totally Self-Checking Check Circuits for Separable Codes,” Ph.D. dissertation. Univ. of Iowa, Iowa, 1976.Google Scholar
  3. [3]
    M. J. Ashjaee and S. M. Reddy, “On Totally Self-Checking Checkers for Separable Codes,” IEEE Trans., on Computers, Vol. C-26, No. 8, pp. 737–744, Aug., 1977.Google Scholar
  4. [4]
    J. M. Berger, “A note on an error detection code for asymmetric channels,”Inf. Control, pp. 68–73, March 1961.Google Scholar
  5. [5]
    E. Fujiwara and K. Haruta, “Fault-Tolerant Arithmetic Logic Unit Using Parity-Based Codes,” Trans. Inst. Electron. Commun. Eng. Jap., Vol. E64, No. 10, pp. 653–660, October 1981.Google Scholar
  6. [6]
    M. P. Halbert and S. M. Bose, “Design Approach for a VLSI Self-Checking MIL-STD-1750A Microprocessor,” Proc. 14th Int’l. Symp. Fault-Tolerant Comput., pp. 254–259, June 1984.Google Scholar
  7. [7]
    J. C. Lo and S. Thanawastien, “The Design of Fast Totally Self-Checking Berger Code Checkers Based on Berger Code Partitioning,” Proc. FTCS-19 pp. 226–231, June 1988.Google Scholar
  8. [8]
    J. C. Lo, S. Thanawastien, T. R. N. Rao, and M. Nicolaidis, “An SFS Berger Check Prediction ALU and Its Application to Self-Checking Processor Designs,” IEEE Trans. Computer-Aided Design, Vol. 11, No. 4. April 1992.Google Scholar
  9. [9]
    M. A. Marouf and D. A. Friedman, “Design of Self-Checking Checkers for Berger Codes,” Proc. 8th Symp. Fault-Tolerant Comput., pp. 179–184, June 1978.Google Scholar
  10. [10]
    T. Nanya and T. Kawamura, “Error Secure/Propagating Concept and its Application to the Design of Strongly Fault Secure Processors,” IEEE Trans. on Comput., Vol. 37, No. 1, pp. 14–24, January 1988.CrossRefGoogle Scholar
  11. [11]
    T. Nanya and M. Uchida “A Strongly Fault-Secure and Strongly Code-Disjoint Realization of Combinational Circuits,” Proc. Int. Symp. on Fault-Tolerant Computing, pp. 390–397, 1989.Google Scholar
  12. [12]
    M. Nicolaidis, “Evaluation of a Self-Checking Version of the MC68000 Microprocessor,” Proc. 15th Int’l Symp. on Fault-Tolerant Comput., pp. 350–356, June 1985.Google Scholar
  13. [13]
    A. M. Paschalis, D. Nikolos, and C. Halatsis, “Efficient Modular Design of TSC Checkers for M-out-of-2M Codes,” IEEE Trans., on Computers, Vol. C-37, No. 3, pp. 301–309, March, 1988.CrossRefGoogle Scholar
  14. [14]
    S. J. Piestrak, “Design of Fast Self-Testing Checkers for a Class of Berger Codes,” IEEE Trans., on Computers, Vol. C-36, No. 5, pp. 629–634, May, 1987.Google Scholar
  15. [15]
    T. R. N. Rao, Error Coding for Arithmetic Processors, Academic Press, 1989.Google Scholar
  16. [16]
    T. R. N. Rao and H. J. Reinheimer, “Fault-Tolerant Modularized Arithmetic Logic Units,” Proc. of National Computer Conferences, AFIPS, pp. 703–710, 1977.Google Scholar
  17. [17]
    T. R. N. Rao and E. Fujiwara, Error-Control Coding for Computer Systems, Prentice-Hall, 1989.Google Scholar
  18. [18]
    T. R. N. Rao, G. L. Feng, Mahadev S. Kolluru and J. C. Lo, “Novel Totally Self-Checking Berger Code Checker Designs Based on Generalized Berger Code Partitioning,” IEEE Trans., on Computers, Vol. 42, No. 8, Aug., 1993.Google Scholar
  19. [19]
    F. F. Sellers, M.-Y. Hsiao and L. W. Bearnson, Error Detecting Logic for Digital Computers, New York: McGraw-Hill.Google Scholar
  20. [20]
    J. E. Smith and G. Mertze, “Strongly Fault Secure Logic Networks,” IEEE Trans., on Computers, C-27, pp. 495–499, June 1978.Google Scholar

Copyright information

© Kluwer Academic Publishers 1994

Authors and Affiliations

  • T. R. N. Rao
    • 1
  • Gui-Liang Feng
    • 1
  • Mahadev S. Kolluru
    • 1
  1. 1.Center for Advanced Computer StudiesUniversity of Southwestern LouisianaLafayette

Personalised recommendations