Area efficient computing structures for concurrent error detection in systolic arrays

A method of designing testable systolic architectures is proposed in this paper. Testing systolic arrays involves mapping of an algorithm into a specific VLSI systolic architecture, and then modifying the design to achieve concurrent testing. In our approach, redundant computations are introduced at the algorithmic level by deriving two versions of a given algorithm. The transformed dependency matrix (TDM) of the first version is a valid transformation matrix while the second version is obtained by rotating the first TDM by 180 degrees about any of the indices that represent the spatial component of the TDM. Concurrent error detection (CED) systolic array is constructed by merging the corresponding systolic array of the two versions of the algorithm. The merging method attempts to obtain the self testing systolic array at minimal cost in terms of area and speed. It is based on rescheduling input data, rearranging data flow, and increasing the utilization of the array cells. The resulting design can detect all single permanent and temporary faults and the majority of the multiple fault patterns with high probability. The design method is applied to an algorithm for matrix multiplication in order to demonstrate the generality and novelty of our approach to design testable VLSI systolic architectures.

[1]  Janak H. Patel,et al.  Concurrent Error Detection in ALU's by Recomputing with Shifted Operands , 1982, IEEE Transactions on Computers.

[2]  Franklin T. Luk,et al.  Fault Tolerance Techniques For Systolic Arrays , 1987, Optics & Photonics.

[3]  Asim J. Al-Khalili,et al.  Design Methodology for Fault-Tolerant Systolic Array Architectures , 1992, ICPP.

[4]  Gernot Metze,et al.  Fault Detection Capabilities of Alternating Logic , 1978, IEEE Transactions on Computers.

[5]  Frank Thomson Leighton,et al.  Wafer-Scale Integration of Systolic Arrays , 1985, IEEE Trans. Computers.

[6]  W. Shang,et al.  On Time Mapping of Uniform Dependence Algorithms into Lower Dimensional Processor Arrays , 1992, IEEE Trans. Parallel Distributed Syst..

[7]  John J. Shedletsky,et al.  Error Correction by Alternate-Data Retry , 1978, IEEE Transactions on Computers.

[8]  R. J. Cosentino,et al.  Fault tolerance in a systolic residue arithmetic processor array , 1988, IEEE Trans. Computers.

[9]  John F. Wakerly,et al.  Error detecting codes, self-checking circuits and applications , 1978 .

[10]  Robert S. Swarz,et al.  The theory and practice of reliable system design , 1982 .

[11]  Chwan-Chia Wu Concurrent error correction in unidirectional linear arrays , 1987 .

[12]  J. Cosgrove,et al.  Array processors , 1980, IEEE Acoustics, Speech, and Signal Processing Newsletter.

[13]  Jacob A. Abraham,et al.  Efficient parallel algorithms for processor arrays , 1982, ICPP.

[14]  S. Hariri,et al.  A Systematic Approach for Designing Fault Tolerant Systolic Architectures , 1989 .

[15]  Janak H. Patel,et al.  Concurrent Error Detection in Multiply and Divide Arrays , 1983, IEEE Transactions on Computers.

[16]  D.I. Moldovan,et al.  On the design of algorithms for VLSI systolic arrays , 1983, Proceedings of the IEEE.

[17]  Zvi M. Kedem,et al.  Mapping Nested Loop Algorithms into Multidimensional Systolic Arrays , 2017, IEEE Trans. Parallel Distributed Syst..

[18]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[19]  Jacob A. Abraham,et al.  Algorithm-Based Fault Tolerance for Matrix Operations , 1984, IEEE Transactions on Computers.

[20]  Chin-Long Wey,et al.  The design of concurrent error diagnosable systolic arrays for band matrix multiplications , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Ronald J. Cosentino,et al.  Concurrent error correction in systolic architectures , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[22]  Barry W. Johnson,et al.  Efficient use of time and hardware redundancy for concurrent error detection in a 32-bit VLSI adder , 1988 .

[23]  Asim J. Al-Khalili,et al.  Design of optimal systolic arrays: a systematic approach , 1990, Proceedings of the Second IEEE Symposium on Parallel and Distributed Processing 1990.

[24]  H. T. Kung Why systolic architectures? , 1982, Computer.

[25]  S. Kung,et al.  VLSI Array processors , 1985, IEEE ASSP Magazine.