In this paper, we analyze the reliability of self-checking circuits. A case study is presented
in which a fault-tolerant system with duplicated self-checking modules is compared
to the TMR version. It is shown that a duplicated self-checking system has a much higher
reliability than that of the TMR counterpart. More importantly, the reliability of the self-checking
system does not drop as sharply as that of the TMR version. We also
demonstrate the trade-offs between hardware complexity and error handling capability
of self-checking circuits. Alternative self-checking designs where some hardware
redundancies are removed with the lost of fault-secure and/or self-testing properties
are also studied.