Gaurav D. Bhand1, Prabha Kasliwal2
1 PG Student Department of Electronics, MIT Academy of Engineering, Pune University
1
gdbhand@etx.maepune.ac.in,
2
prabha.kasliwal@gmail.com
Abstract— Many hardware efficient algorithms exists but these are not well known due to dominance of software systems over the past many years. Among these algorithms there is a simple shift-add algorithm known as CORDIC. CORDIC is being widely used in many domains like Image Processing, Communication, Robotics, Signal Processing applications due to its simple hardware efficient algorithm which is based on shift and add hardware. As CORDIC occupies less gate count in FPGA, it has been drawing attentions among many researchers and efforts have been made to improve its throughput and power keeping the constraints in mind. This paper summarizes the CORDIC architectures, presents a simulation of basic CORDIC cell and Implements Unfolded CORDIC Architecture on Spartan XC3S50 FPGA family. Keywords— CORDIC, Sine, Cosine, FPGA, CORDIC throughput
III. In Section IV we discuss the implementation of CORDIC algorithm in an FPGA and the simulation of basic CORDIC cell using Xilinx tool and XC3S50 Spartan3 family of FPGA is presented. The conclusion along with future research directions are discussed in Section V. II. CORDIC PRINCIPLE The CORDIC algorithm is based on the fact that any number may be represented by an appropriate alternating series. For example an appropriate value for e may be represented as e = 3- 0.3 + 0.02 - 0.002 + 0.0003 = 2.7183. The CORDIC technique uses a similar method of computation. There are two modes of operation for a CORDIC processor. a) Rotation Mode
I. INTRODUCTION Coordinate Rotation Digital Computer is abbreviated as CORDIC. Its implementation was first described in 1959 by Jack E. Volder [1], for the computation of trigonometric functions, multiplication and division. Further work has been carried out by J. S.
References: [1] Jack E. Volder, “The CORDIC Trignometric Computing Technique”, Technique” Fort Worth, Texas, IEEE, Inc, EC-8:330-334, 1959 J. S. Walther, “A Unified algorithm for elementary functions Hewlettfunctions”, Packard Company, Palo Alto, California, Spring Joint Computer Conference, 379-384, 1971 [3] Pramod K Meher, Javier Valls, Tso Bing Juang, K. Sridharan, “50 years “ of CORDIC: Algorithms, Architectures and Applicaitons IEEE Applicaitons”, Transactions on Circuits and Systems-I, Regular Papers,Vol 56, No. 9, Papers, September 2009 [4] B Lakshmi, A. S. Dhar, “CORDIC Architectures: a survey”, Hindawi Hi Publishing Corporation, VLSI Design, Article ID 794891 Vol 2010 [5] Shaoyun Wang, Vincenzo Piuri, Earl E Swartzlander, “Hybrid CORDIC Algorithms”, IEEE, IEEE Transactions on Computers, Nov 1997, Vol 46, No. 11 [6] Ramesh B, Sinith M. S., Parvathi Nair, Jismi K., “A Comparison of Pipelined Parallel and Iterative CORDIC Design on FPGA ”, Kolam, Kerala, India, ICIIS 2010, Jul 29-Aug 01, 2010 [7] K. Murugesh, C Babu, “Low Power CORDIC Core with High Low Throughput ”, IJCTEE, Vol 2, Issue 3, June 2012 [8] Burhan Khurshid, Gulam Rather, Hakim Najeeb-ud-din, “Performance din, Comparison of Non-Redundant and Redundant FPGA based Unfolded CORDIC Architectures”, National Institute of Technology, Srinagar, ”, India, IJECT, Vol 3, Issue 1, Jan-March 2012 [9] H. S. Kebbati, J Blonde, F Braun, “A new semi-flat architecture for high speed and reduced area CORDIC chip ”, Elsevier, Microelectronics Journal 37, 181-187, 2006 terative [10] Jose Sanchez, H Mora, A Jimeno, “An iterative method for improving decimal calculations on computers”, University of Alicante, Spain, Elsevier, Mathematical and Computer Modelling, 50, 869-878, 2009 869 [2]