Carry-save architectures for high-speed digital signal processing
Journal of VLSI Signal Processing Systems - Parallel processing on VLSI arrays
Elementary functions: algorithms and implementation
Elementary functions: algorithms and implementation
On the Implementation of Arithmetic Support Functions for Generalized Signed-Digit Number Systems
IEEE Transactions on Computers
Digit Selection for SRT Division and Square Root
IEEE Transactions on Computers
Higher-Radix Division Using Estimates of the Divisor and Partial Remainders
IEEE Transactions on Computers
Hi-index | 14.98 |
Redundant number representations are generally used to allow constant time additions, based on the fact that only bounded carry-ripples take place. But, carries may ripple out into positions which may not be needed to represent the final value of the result and, thus, a certain amount of leading guard digits are needed to correctly determine the result. Also, when cancellation during subtractions occurs, there may be nonzero digits in positions not needed to represent the result of the calculation. It is shown here that, for normal redundant digit sets with radix greater than two, a single guard digit is sufficient to determine the value of such an arbitrary length prefix of leading nonzero digits. This is also the case for the unsigned carry-save representation, whereas two guard digits are sufficient, and may be necessary, for additions in the binary signed-digit and 2's complement carry-save representations. Thus, only the guard digits need to be retained during sequences of additions and subtractions. At suitable points, the guard digits may then be converted into a single digit, representing the complete prefix.