Application of coding techniques in the design of self checking plas
D.L. Tao · 1988
Programmable Logic Arrays (PLAs) have been widely used as basic building blocks in the design of digital systems. The PLAs with concurrent checking capacity are desirable because the transient faults as well as permanent faults can be detected during normal operation of the digital systems. In addition, it is necessary to test PLAs at the fabrication stage because it insures that PLAs do not contain manufacturing defects. The testing procedure becomes more complicated as the size of PLAs increases, however, we may use small amount of extra hardware to make PLAs easily testable. Most of the existing schemes for designing concurrent checking PLAs assumed that concurrent checking PLAs have been fully tested at the fabrication stage. In addition, none of the existing easily testable PLA designs incorporates concurrent checking capability so they cannot cope with transient faults during normal operation. It should be mentioned that concurrent checking capability cannot replace the testing at fabrication stage, this is because the concurrent checking capability is only valid under certain assumptions cannot be satisfied at the fabrication stage. In summary easily testable design and concurrent checking feature have been considered as two different aspects in the design and testing of PLAs. In this dissertation, we propose a new approach for designing concurrent checking PLAs, which are also easily testable at the fabrication stage. In the off-line testing mode, the easily testable feature in the proposed design allows the test sequence to be generated independent of the function implemented by the PLA. As a result, the test generation procedure is eliminated. Moreover, the test sequence detects all single faults and the majority of multiple faults. Once the off-line testing is satisfactorily completed, it can be assumed that the concurrent checking PLAs are fault free and in future only single faults may occur during normal operation. These single faults occurring during normal operation are detected by concurrent checking capability. Furthermore, the overhead of the proposed scheme is considerably lower than that achieved by other existing schemes. Since single faults in a PLA generate unidirectional errors at its outputs, we have also developed an efficient class of unidirectional error detecting/correcting codes. The resulting codes are more efficient than the existing codes with the same error detecting/correcting capability.