A Low Latency High-Throughput Elementary Function Generator Based on Enhanced Double Rotation CORDIC

Coordinate Rotation Digital Computer (CORDIC) algorithm is well known and widely used in many computer systems due to its simplicity and the variety of functions it provides. Although CORDIC is known to be able to work in several modes and coordinate to provide elementary functions including trigonometric and transcendental functions, most proposed CORDIC enhancement and application were only limited to a single or only a few modes, and that does not help to build a CORDIC coprocessor that works in all modes. This paper presents an enhanced version of double rotation method which is a scaling-free and redundant arithmetic based CORDIC variation. The proposed algorithm has been implemented and it is shown that the new architectures have great advantage on both FPGA and ASIC platforms and are extremely attractive for high precision and high performance computing.

[1]  Javier D. Bruguera,et al.  High Performance Rotation Architectures Based on the Radix-4 CORDIC Algorithm , 1997, IEEE Trans. Computers.

[2]  Pangfeng Liu,et al.  Experiences with Parallel N-Body Simulation , 2000, IEEE Trans. Parallel Distributed Syst..

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

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

[5]  Davide De Caro,et al.  A 630 MHz, 76 mW Direct Digital Frequency Synthesizer Using Enhanced ROM Compression Technique , 2007, IEEE Journal of Solid-State Circuits.

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

[7]  Aleksandar Milenkovic,et al.  A Direct Digital Frequency Synthesizer Based on the Quasi-Linear Interpolation Method , 2010, IEEE Trans. Circuits Syst. I Regul. Pap..

[8]  Lee-Sup Kim,et al.  A hardware cost minimized fast Phong shader , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[9]  Konstantina Karagianni,et al.  A vector processor for 3-D geometrical transformations , 2001, ISCAS 2001. The 2001 IEEE International Symposium on Circuits and Systems (Cat. No.01CH37196).

[10]  Wayne Luk,et al.  Hardware Implementation Trade-Offs of Polynomial Approximations and Interpolations , 2008, IEEE Transactions on Computers.

[11]  Yong Dou,et al.  Double Precision Hybrid-Mode Floating-Point FPGA CORDIC Co-processor , 2008, 2008 10th IEEE International Conference on High Performance Computing and Communications.

[12]  Earl E. Swartzlander,et al.  Adaptive CORDIC: Using Parallel Angle Recoding to Accelerate Rotations , 2010, IEEE Transactions on Computers.

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

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

[15]  Kailash Chandra Ray,et al.  Low Latency Hybrid CORDIC Algorithm , 2014, IEEE Transactions on Computers.

[16]  Milos D. Ercegovac,et al.  Digital Arithmetic , 2003, Wiley Encyclopedia of Computer Science and Engineering.

[17]  Sau-Gee Chen,et al.  An efficient modified Phong shading algorithm & its low-complexity realization , 2002, 2002 IEEE International Symposium on Circuits and Systems. Proceedings (Cat. No.02CH37353).

[18]  Vassilis Paliouras,et al.  Operation-Saving VLSI Architectures for 3D Geometrical Transformations , 2001, IEEE Trans. Computers.