Very-High Radix Circular CORDIC: Vectoring and Unified Rotation/Vectoring

A very-high radix algorithm and implementation for circular CORDIC is presented. We first present in depth the algorithm for the vectoring mode in which the selection of the digits is performed by rounding of the control variable. To assure convergence with this kind of selection, the operands are prescaled. However, in the CORDIC algorithm, the coordinate x varies during the execution so several scalings might be needed; we show that two scalings are sufficient. Moreover, the compensation of the variable scale factor (including the CORDIC scale factor and the prescaling factors) is done by computing the logarithm of the scale factor and performing the compensation by an exponential. Then, we combine, in a unified unit, the proposed vectoring algorithm and the very-high radix rotation algorithm, which was previously proposed by the authors. We compare with low-radix implementations in terms of latency and hardware complexity. Estimations of the delay for 32-bit precision show a speedup of about two with respect to the radix-4 case with redundant addition. This speedup is obtained at the cost of an increase in the hardware complexity, which is moderate for the pipelined implementation. We also compare at the algorithmic level with other very-high radix proposals, demonstrating the advantages of our algorithms.

[1]  Tomás Lang,et al.  Very-High Radix Division with Prescaling and Selection by Rounding , 1994, IEEE Trans. Computers.

[2]  Javier D. Bruguera,et al.  Very-High Radix CORDIC Rotation Based on Selection by Rounding , 2000, J. VLSI Signal Process..

[3]  Shuzo Yajima,et al.  Redundant CORDIC Methods with a Constant Scale Factor for Sine and Cosine Computation , 1991, IEEE Trans. Computers.

[4]  Jean-Michel Muller,et al.  BKM: A New Hardware Algorithm for Complex Elementary Functions , 1994, IEEE Trans. Computers.

[5]  Jeong-A Lee,et al.  Constant-Factor Redundant CORDIC for Angle Calculation and Rotation , 1992, IEEE Trans. Computers.

[6]  Tomás Lang,et al.  Very High Radix Square Root with Prescaling and Rounding and a Combined Division/Square Root Unit , 1999, IEEE Trans. Computers.

[7]  Javier D. Bruguera,et al.  Very-high radix CORDIC vectoring with scalings and selection by rounding , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[8]  Jean-Michel Muller,et al.  BKM: A new hardware algorithm for complex elementary functions , 1993, Proceedings of IEEE 11th Symposium on Computer Arithmetic.

[9]  Milos D. Ercegovac,et al.  A higher-radix division with simple selection of quotient digits , 1983, 1983 IEEE 6th Symposium on Computer Arithmetic (ARITH).

[10]  David Lewis Complex logarithmic number system arithmetic using high-radix redundant CORDIC algorithms , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[11]  Javier D. Bruguera,et al.  Radix-4 Vectoring CORDIC Algorithm and Architectures , 1998, J. VLSI Signal Process..

[12]  P. W. Baker Parallel Multiplicative Algorithms for Some Elementary Functions , 1975, IEEE Transactions on Computers.

[13]  Jean-Michel Muller,et al.  Elementary Functions: Algorithms and Implementation , 1997 .

[14]  Javier D. Bruguera,et al.  High Radix Cordic Rotation Based on Selection by Rounding , 1996, Euro-Par, Vol. II.

[15]  Weng-Fai Wong,et al.  Fast Hardware-Based Algorithms for Elementary Function Computations Using Rectangular Multipliers , 1994, IEEE Trans. Computers.