A Modified CORDIC FPGA Implementation for Wave Generation

This paper presents a modified coordinate rotation digital computer (CORDIC) algorithm implemented in parallel architecture to generate sine and cosine waveform. Since CORDIC is a combination of only additions and shifts, it can be efficiently implemented in hardware. The proposed algorithm further approximates the way of computing rotation angle based on Taylor series in order to reduce the usage of Read-Only-Memory (ROM) table. Thus area and power is reduced due to partial usage of ROM storage. The precision remains the same as the original algorithm. The modified 32-bits pipeline CORDIC are implemented in Spartan XC3S500E device using Xilinx ISE 12.3 design suite. The result is compared with original CORDIC and Xilinx coregen in device utilization. It is shown that the logic usage is 31 FFs and 285 FFs less than the original design and Xilinx core, respectively. When compared with the original design, the signal power and total power reduction at 40 MHz clocks are 7.69 % and 1.35 %, respectively. The bit error remains at 10−8 dB level. The SNR of modified CORDIC is about 2 dB lower, which is acceptable in wave generation.

[1]  Thambipillai Srikanthan,et al.  Optimizing Scaling Factor Computations in Flat Cordic , 2002, J. Circuits Syst. Comput..

[2]  S. Walther A unified algorithm for elementary functions , 1899 .

[3]  Peter Pirsch,et al.  Architectures for digital signal processing , 1998 .

[4]  Yoshihiko Nomura,et al.  Error analysis and optimization of camera calibration , 1991, Proceedings IROS '91:IEEE/RSJ International Workshop on Intelligent Robots and Systems '91.

[5]  Zhongyi Zhu,et al.  A low-power digital processing circuit for capacitive accelerometer , 2013 .

[6]  Jack E. Volder,et al.  The CORDIC computing technique , 1899, IRE-AIEE-ACM '59 (Western).

[7]  Ed F. Deprettere,et al.  Pipelined cordic architectures for fast VLSI filtering and array processing , 1984, ICASSP.

[8]  José-Luis Sánchez-Romero,et al.  Function approximation on decimal operands , 2011, Digit. Signal Process..

[9]  K. Sridharan,et al.  Efficient CORDIC Algorithms and Architectures for Low Area and High Throughput Implementation , 2009, IEEE Transactions on Circuits and Systems II: Express Briefs.

[10]  Keshab K. Parhi,et al.  Evaluation of CORDIC Algorithms for FPGA Design , 2002, J. VLSI Signal Process..

[11]  Yu Hen Hu,et al.  An Angle Recoding Method for CORDIC Algorithm Implementation , 1993, IEEE Trans. Computers.

[12]  Kavita Khare,et al.  Scale-Free Hyperbolic CORDIC Processor and Its Application to Waveform Generation , 2013, IEEE Transactions on Circuits and Systems I: Regular Papers.

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

[14]  Davide De Caro,et al.  Digital Synthesizer/Mixer With Hybrid CORDIC–Multiplier Architecture: Error Analysis and Optimization , 2009, IEEE Transactions on Circuits and Systems I: Regular Papers.

[15]  Jean-Michel Muller,et al.  Computing Functions cos^{-1} and sin^{-1} Using Cordic , 1993, IEEE Trans. Computers.

[16]  Nitesh Kumar CORDIC Designs for Fixed Angle of Rotation. , 2013 .