High speed bit-level pipelined architectures for redundant CORDIC implementation

The CORDIC algorithm is well known as an efficient method for the computation of trigonometric/hyperbolic functions and vector rotations. The achievable throughput and the latency of CORDIC processors using conventional arithmetic are determined by the carry propagation occurring in additions/subtractions, since the CORDIC iterations are directed by the signs of intermediate results. Using a redundant number system, much higher throughput is possible due to the elimination of carry propagation, but an exact sign detection can not be implemented efficiently. The authors derive transformations of the original CORDIC algorithm which result in partially fixed iteration sequences no longer dependent on intermediate signs for the CORDIC vectoring mode as well as the rotation mode. Very fast and efficient carry-save architectures using redundant absolute value computation resulting from the transformed algorithms are described. A CORDIC processor (rotation mode) is presented as an implementation example which to the best of the authors knowledge is the fastest CMOS CORDIC realization today.<<ETX>>

[1]  Hironori Yamauchi,et al.  A 50-MHz CMOS geometrical mapping processor , 1989 .

[2]  R. J. van de Plassche,et al.  A 540-MHz 10-b polar-to-Cartesian converter , 1991 .

[3]  Jack E. Volder The CORDIC Trigonometric Computing Technique , 1959, IRE Trans. Electron. Comput..

[4]  Tomás Lang,et al.  Redundant and On-Line CORDIC: Application to Matrix Triangularization and SVD , 1990, IEEE Trans. Computers.

[5]  J. S. Walther,et al.  A unified algorithm for elementary functions , 1899, AFIPS '71 (Spring).

[6]  Milos D. Ercegovac,et al.  Implementation of fast angle calculation and rotation using on-line CORDIC , 1988, 1988., IEEE International Symposium on Circuits and Systems.

[7]  Joseph R. Cavallaro,et al.  Floating point CORDIC for matrix computations , 1988, Proceedings 1988 IEEE International Conference on Computer Design: VLSI.

[8]  H. De Man,et al.  Automated synthesis of a high speed Cordic algorithm with the Cathedral-III compilation system , 1988, 1988., IEEE International Symposium on Circuits and Systems.

[9]  Shuzo Yajima,et al.  A hardware algorithm for computing sine and cosine using redundant binary representation , 1987, Systems and Computers in Japan.

[10]  Jeong-A Lee,et al.  On-Line CORDIC For Generalized Singular Value Decomposition(GSVD) , 1989, Photonics West - Lasers and Applications in Science and Engineering.

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

[12]  Henk J. Sips,et al.  On-Line CORDIC Algorithms , 1990, IEEE Trans. Computers.

[13]  E.F. Deprettere,et al.  An optimal floating-point pipeline CMOS CORDIC processor , 1988, 1988., IEEE International Symposium on Circuits and Systems.

[14]  Joseph R. Cavallaro,et al.  CORDIC arithmetic for an SVD processor , 1987, 1987 IEEE 8th Symposium on Computer Arithmetic (ARITH).

[15]  Tobias G. Noll Carry-save architectures for high-speed digital signal processing , 1991, J. VLSI Signal Process..

[16]  Heinrich Meyr,et al.  VLSI implementation of the CORDIC algorithm using redundant arithmetic , 1992, [Proceedings] 1992 IEEE International Symposium on Circuits and Systems.

[17]  R. Kunemund,et al.  CORDIC Processor with Carry-Save Architecture , 1990, ESSCIRC '90: Sixteenth European Solid-State Circuits Conference.

[18]  T. G. Noll Carry-save arithmetic for high-speed digital signal processing , 1990, IEEE International Symposium on Circuits and Systems.