Professional Documents
Culture Documents
Bit Serial Iterative Cordic Implementation For The Calculation of Trigonometric Functions
Bit Serial Iterative Cordic Implementation For The Calculation of Trigonometric Functions
Vol.03,Issue.01,
January-2014,
Pages:0073-0080
www.semargroup.org,
www.ijsetr.com
Abstract: A detailed description of the bit-serial implementation and its Control Unit is presented. It is shown that the
improvement is due to a reduction of registers in the implementation and is made possible by ensuring that the angular path is
calculated prior to the corresponding vector paths. In addition, the improved architecture is implemented in Verilog. Rotation of
vectors through fixed and known angles has wide applications in robotics, digital signal processing, graphics, games, and
animation. Therefore, in this paper, we be present Bit Serial Iterative CORDIC Implementation for The Calculation of
Trigonometric Functions. We have synthesized the proposed CORDIC Circuit by xilinx and shown that the proposed design
offer higher throughput, less latency for fixed angles of rotation. CORDIC stands for coordinate rotation digital computer. The
key concept of CORDIC arithmetic is based on the simple and ancient principles of 2-D geometry. This iterative formulation of
a computational algorithm for its implementation is developed for the computation of trigonometric functions and
multiplication. Not only a wide variety of applications of CORDIC have been suggested over the time, but also a lot of progress
has taken place in the area of algorithm design and development of architectures for high-performance and low-cost solutions .
I. INTRODUCTION
The CORDIC algorithm was first introduced by Jack E. algorithm is multiplication-free and thus well suited for
Volder in the year 1959 for the computation of hardware Implementation. The CORDIC algorithm does
Trigonometric functions, Multiplication, Division, Data not use Calculus based methods such as polynomial or
type conversion, Square Root and Logarithms. It is a highly rational function approximation. Today cordic algorithm is
efficient, low-complexity, and robust technique to compute used in Neural Network VLSI design, high performance
the elementary functions. The basic Algorithm structure is vector rotation DSP applications, advanced circuit design,
described in other information about CORDIC Algorithm optimized low power design. CORDIC algorithm revolves
and different Issues are in the CORDIC algorithm has around the idea of "rotating" the phase of a complex
found its way in various applications such as pocket number, by multiplying it by a succession of constant
calculators, numerical co-processors, to high performance values.
radar signal processing, supersonic bomber aircraft with
a digital counterpart. CORDIC stands for Coordinate However, the "multiplies" can all be powers of 2, so in
Rotation Digital Computer. It calculates the value of binary arithmetic they can be done using just shifts and
trigonometric functions like sine, cosine, magnitude and adds; no actual "multiplier" is needed thus it simpler and
phase (arctangent) to any desired precision. It can also do not require complex hardware structure as in the case of
calculate hyperbolic functions (such as sinh, cosh, and multiplier. Earlier methods used are Table look up method,
tanh). Polynomial approximation method etc. for evaluation of
trigonometric functions. It is hardware efficient algorithm.
The CORDIC works in two different modes, they are No multiplier requirement as in the case of
Rotation Mode and Vector Mode. In Rotation Mode the microcontroller.
algorithm rotates a vector with a given angle, and in
Vector Mode the angle between a given vector and the x- II. CORDIC ALGORITHM
axis is calculated. In this project to find trigonometric The CORDIC algorithm is used in different situations
functions CORDIC works in rotation mode only. The and for different purposes. The common, basic idea
between the different usages is that through a series of Let’s find how equation 3 and 4 came into picture. As
additions and subtractions, it is possible to approximate shown in the figure1, a vector V (x, y) can be resolved in
vector rotations in the complex plane. This can be used in two parts along the x - axis and y –axis as r cosФ and r
e.g. the calculation of trigonometric or hyperbolic values. sinФ respectively. Figure2 illustrates the rotation of a
The CORDIC works in two different modes rotation mode vector.
and vector mode. In Rotation Mode the algorithm rotates
a vector with a given angle, and in Vector Mode the angle
between a given vector and the x-axis is calculated. The (5)
algorithm is multiplication-free and thus well suited for
hardware implementation. In this paper, the CORDIC is
used for the calculation of the trigonometric functions sine
and cosine of an input angle. For that purpose, the
CORDIC is working in Rotation Mode, with the input
=1
vector being known in advanced, and found to be X0 /R
=0
and Y0 , where R is a radius correction factor, that will
depend on the number of stages of the CORDIC. The
vector of each new stage is then found as
(22)
Where
The basic CORDIC method can be generalized to Jack E. Volder described the Coordinate Rotation
provide the more powerful tool for function evaluation. Digital Computer or CORDIC for the calculation of
Generalized CORDIC is defined as follows: trigonometric functions, multiplication, division and
conversion between binary and mixed radix number
Xi+1 = xi – μ di yi 2-i systems. The CORDIC-algorithm provides an iterative
Yi+1 = yi + μ di xi 2-i method of performing vector rotations by arbitrary angles
Zi+1 = zi - αi di (23) using only shifts and adds. Volder's algorithm is derived
from the general equations for vector rotation. If a vector v
[Generalized CORDIC iteration] with components (x, y) is to be rotated through an angle ϕ
a new vector v' with components (x', y') is formed by (as
Noting that the only difference with basic CORDIC is the in equation 3 and 4):
introduction of the parameter μ in the equation for x and
redefinition of αi. The parameter μ can assume one of the X = r cos ϴ
three values: Y = r sin ϴ (27)
IV. SIMULATION RESULTS The above figure shows the top level RTL schematic
diagram of CORDIC algorithm, where x_i, y_i and theta_i
are 17-bit inputs and x_o, y_o and theta_o are the outputs.
Fig10(b)
V. SYNTHESIS RESULTS
A. RTL Schematic of Cordic Algorithm
Fig10(c)
VII. REFERENCES
Total latency 2.275ns (1.726ns logic, 0.549ns route) [9] Antelo E., LangT. and Bruguera J. D., .Very-High
(75.9% logic, 24.1% route) Radix CORDIC Rotation Based on Selection by
Rounding., Journal of VLSI Signal Processing, Vol.25,
VI. CONCLUSION 141.153, Kluwer Academic Publishers, Netherlands, 2000.
In this paper, a new and improved bit-serial CORDIC
architecture is presented. It is shown how it is possible to [10] Delosme M. J. Lau, C. Y. and Hsiao S. F., .Redundant
reduce the number of registers by calculating the angular Constant-Factor Implementation of Multi-Dimensional
path prior to the vector paths in the CORDIC. Some extra CORDIC and Its Application to Complex SVD., Journal of
registers and extra logic are needed to store the sign bits of VLSI Signal Processing, Volume 25, pp 155.166, Kluwer
the angular calculations. However, this is substantially less Academic Publishers, Netherlands, 2000.
than the area reduction in the vector paths. The improved
architecture is 20 % smaller and consumes 26 % less [11] Choi J. H., Kwak J. H. and Swartzlander, Journal of
power. The CORDIC algorithm is a powerful and widely VLSI Signal Processing, Volume 25, Kluwer Academic
used tool for digital signal processing applications and can Publishers, Netherlands, 2000.
International Journal of Scientific Engineering and Technology Research
Volume.03, IssueNo.01, January-2014, Pages:0073-0080
CHINTADA RAMANAMMA, SOLOMON J V GOTHAM
Author’s Profile:
CHINTADA. RAMANAMMA,
has completed B.Tech (E.C.E)
from Sanketika Vidya Parishad.
College of Engineering, pursuing
M.Tech in Kaushik College of
Engineering, Affiliated to
JNTUK, Andhra Pradesh, India.
Her main research interest
includes in Electronics,
Embedded & VLSI Systems.