Continuous Error Detection and Correction of Arithmetic in a Complement RRNS
A method for performing continuous error detection and correction of arithmetic is disclosed which utilizes a redundant residue number system (RRNS) and signed values encoded using the method of complements. Prior art methods for error correction in an RRNS operate on positive magnitudes only. Correction of negative values encoded using the method of complements of the full range of the RRNS representation has not been previously solved. This paper demonstrates the prior art using an example error correction of a positive result and explains why negative numbers present a problem for error correction of arithmetic. Next, two new solutions for direct correction of negative numbers encoded using the method of complements is disclosed. In the first method, two groups of trial digit sets are tested; one group for positive numbers and the other for negative numbers. A basic proof for the method is detailed which uses the Chinese Remainder Theorem. In a second method also disclosed, negative values are directly corrected along with positive numbers using a single pass hardware pipeline. The second method is developed formally and is followed with an example of a direct error correction of a negative value. Finally, details of a pipelined error detection and correction circuit is provided. Because of the carry free properties of the RRNS number system, and because of the new correction methods, an error in any digit may be corrected with equal success, even after lengthy product summation operations. The new error correction method provides continuous correction of arithmetic since the circuit designs are fully pipelined and can deliver a corrected result every clock cycle. The new error correction method is used to provide error correction to signed arithmetic using a standard method of complements encoding; this enables flexible error correction of general purpose RNS arithmetic for advanced applications such as convolution neural network (CNN) and matrix arithmetic.
2020 10th Annual Computing and Communication Workshop and Conference (CCWC)