This Article 
 Bibliographic References 
 Add to: 
A Hyper Optimal Encoding Scheme for Self-Checking Circuits
September 1996 (vol. 45 no. 9)
pp. 1022-1030

Abstract—A typical self-checking circuit has an unordered code encoded output. The optimal scheme needs $\lceil\, {\rm log}\, (r + 1)\, \rceil$ check bits, where r is the number of unique weights in all output patterns. A hyper optimal scheme for self-checking output encoding is proposed in this paper where the number of check bits will be further reduced in some cases. Two algorithms are presented to search for the hidden m-out-of-n code words. The hidden m-out-of-n code words are found when all unique output patterns, specified by the circuit specification, in the n selected output bits have exactly m 1s. The output bits that belong to the hidden m-out-of-n code words are then excluded from further encoding. Typically, the number of added check bits of the proposed technique ranges from 0 to $\lceil\, {\rm log}\, (p + 1)\, \rceil$, where pr. When hidden m-out-of-n code words exist, applying the proposed scheme usually results in significant hardware cost and delay time reduction. In the five MCNC FSM benchmark circuits that have been identified with hidden m-out-of-n code words, 10% to 41% hardware reductions are exhibited compared to the theoretically optimal separable code encoding scheme. In addition, 7% to 45% reductions in checking delays are demonstrated for the same circuits compared to the separable code encoding scheme.

[1] D.A. Anderson and G. Metze, "Design of Totally Self-Checking Check Circuits for m-out-of-n Codes," IEEE Trans. Computers, vol. 22, pp. 263-269, Mar. 1973.
[2] J.A. Abraham and W.K. Fuchs, "Fault and Error Models for VLSI," Proc. IEEE, vol. 74, pp. 639-654, May 1986.
[3] T.R.N. Rao and Fujiwara, Error-Coding for Computer Systems.Englewood Cliffs, N.J.: Prentice Hall, 1989.
[4] G.P. Mak, J.A. Abraham, and E.S. Davidson, "The Design of PLAs with Concurrent Error Detection," Proc. 12th Symp. Fault-Tolerant Computing, pp. 303-310, June 1982.
[5] J.E. Smith, "The Design of Totally Self-Checking Check Circuits for a Class of Unordered Codes," J. Design Automated Fault-Tolerant Computing, vol. 2, pp. 321-342, Oct. 1977.
[6] N.K. Jha and S.-J. Wang, "Design and Synthesis of Self-Checking VLSI Circuits," IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, Vol. 12, No. 6, June 1993, pp. 879-887.
[7] J.E. Smith and G. Metze, "Strongly Fault Secure Logic Networks," IEEE Trans. Computers, vol. 27, pp. 491-499, June 1978.
[8] M. Nicolaidis and B. Courtois, "Strongly Code-Disjoint Checkers," IEEE Trans. Computers, Vol. 37, No. 6, June 1988, pp. 751-756.
[9] Y. Crouzet and C. Landrault, "Design Specification of a Self-Checking Detection Processor," Proc. 10th Symp. Fault-Tolerant Computing, pp. 275-277, June 1980.
[10] A. Avizienis, G.C. Gilley, F.P. Mathur, D.A. Rennels, J.A. Rohr, and D.K. Rubin, "The STAR (Self-Testing And Repairing) Computer: An Investigation of the Theory and Practice of Fault-Tolerant Computer Design," IEEE Trans. Computers, vol. 20, pp. 1,312-1,321, Nov. 1971.
[11] J.M. Berger, "A Note on an Error Detection Code for Asymmetric Channels," Information Control, vol. 4, pp. 68-73, Mar. 1961.
[12] M.J. Ashjaee and S.M. Reddy, "Totally Self-Checking Checkers for a Class of Separable Codes," Proc. 12th Ann. Allerton Conf. Circuit and System Theory, pp. 238-242, Oct. 1974.
[13] N.K. Jha, "Separable Codes for Detecting Unidirectional Errors," IEEE Trans. Computer-Aided Design, vol. 8, May 1990.
[14] J.E. Smith, "On Separable Unordered Codes" IEEE Trans. Computers vol. 33, no. 8, pp. 741-743, Aug. 1984.
[15] J.C. Lo and S. Thanawastien, "On the Design of Combinational Totally Self-Checking One-Out-of-Three Code Checkers," IEEE Trans. Computers, vol. 39, no. 3, pp. 387-393, Mar. 1990.
[16] M.A. Marouf and D.A. Friedman, "Efficient Design of Self-Checking Checkers for m-out-of-n codes," IEEE Trans. Computers, vol. 27, pp. 482-490, June 1978.
[17] N. Gaitanis and C. Halatsis, "A New Design Method for m-out-of-n TSC Checkers," IEEE Trans. Computers, vol. 32, no. 3, pp. 273-283, Mar. 1983.
[18] M.A. Marouf and D.A. Friedman, "Design of Self-Checking Checkers for Berger Codes," Proc. Eighth Symp. Fault-Tolerant Computing, pp. 179-184, June 1978.

Index Terms:
Concurrent error detection, logic circuit synthesis, output encoding, self-checking circuits, unordered codes.
Jien-Chung Lo, "A Hyper Optimal Encoding Scheme for Self-Checking Circuits," IEEE Transactions on Computers, vol. 45, no. 9, pp. 1022-1030, Sept. 1996, doi:10.1109/12.537125
Usage of this product signifies your acceptance of the Terms of Use.