SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
International Journal of Engineering Inventions
e-ISSN: 2278-7461, p-ISSN: 2319-6491
Volume 2, Issue 10 (June 2013) PP: 39-44
www.ijeijournal.com Page | 39
FPGA Implementation of CORDIC Algorithm Architecture
Ramanpreet Kaur1
, Parminder Singh Jassal2
1
Department of Electronics And Communication Engineering, Punjabi University Yadavindra College of
Engineering, Talwandi Sabo Punjab, India
2
Assistant Professor, Yadvindra College of Engineering, Talwandi Sabo (Pb)-India
Abstract: - CORDIC algorithm is very simple and iterative process for performing various mathematical
computations. Most of the literature lacks in calculation of resources utilized by a particular CORDIC
architecture. In this paper, serial, parallel and pipelined CORDIC architecture has been implemented for
computing both sin & cos functions
Keywords: - About five key words in alphabetical order, separated by comma
I. INTRODUCTION
CORDIC algorithm is an iterative algorithm, which can be used for the computation of trigonometric
functions, multiplication and division [1]. Last half century has witnessed a lot of progress in design and
development of architectures of the algorithm for high-performance and low-cost hardware solutions. CORDIC
algorithm got its popularity, when [2] showed that, by varying a few simple parameters, it could be used as a
single algorithm for unified implementation of a wide range of elementary transcendental functions involving
logarithms, exponentials, and square. During the same time, [3] showed that CORDIC technique is a better
choice for scientific calculator applications.
The popularity of CORDIC was very much enhanced thereafter primarily due to its potential for
efficient and low-cost implementation. With the advent of low cost, low power FPGAs, this algorithm has
shown its potential for efficient and low-cost implementation. CORDIC algorithm can be widely used in as
wireless communications, Software Defined Radio and medical imaging applications, which are heavily
dependent on signal processing.
Although CORDIC may not be the fastest technique to perform these operations, yet it is attractive due
to the simplicity and efficient hardware implementation.
The development of CORDIC algorithm and architecture has taken place for achieving high throughput
rate and reduction of hardware-complexity as well as the latency of implementation. Latency of implementation
is an inherent drawback of the conventional CORDIC algorithm. Angle recoding schemes and higher radix
CORDIC have been developed for reduced latency realization. Parallel and pipelined CORDIC have been
suggested for high-throughput computation. CORDIC computation is inherently sequential due to two main
bottlenecks firstly the micro-rotation for any iteration is performed on the intermediate vector computed by the
previous iteration and secondly the (i+1)th iteration could be started only after the completion of the ith
iteration, since the value of which is required to start the (i+1)th iteration could be known only after the
completion of the ith iteration. To alleviate the second bottleneck some attempts have been made for evaluation
of values corresponding to small micro-rotation angles [4]. However, the CORDIC iterations could not still be
performed in parallel due to the first bottleneck. A partial parallelization has been realized in [4] by combining a
pair of conventional CORDIC iterations into a single merged iteration which provides better area-delay
efficiency. But the accuracy is slightly affected by such merging and cannot be extended to a higher number of
conventional CORDIC iterations since the induced error becomes unacceptable [5]. Parallel realization of
CORDIC iterations to handle the first bottleneck by direct unfolding of micro-rotation is possible, but that
would result in increase in computational complexity and the advantage of simplicity of CORDIC algorithm
gets degraded [6]. Although no popular architectures are known to us for fully parallel implementation of
CORDIC, different forms of pipelined implementation of CORDIC have however been proposed for improving
the computational throughput [7].To handle latency bottlenecks, various architectures have been developed and
reported in this review. Most of the well-known architectures could be grouped under bit parallel iterative
CORDIC, bit parallel unrolled CORDIC , bit serial iterative CORDIC architecture.
II. CORDIC ALGORITHM
Keeping the requirements and constraints of different application environments in view, the
development of CORDIC algorithm and architecture has taken place for achieving high throughput rate and
reduction of hardware-complexity as well as the latency of implementation. Some of the typical approaches for
reduced-complexity implementation are focused on minimization of the complexity of scaling operation and the
Fpga Implementation Of Cordic Algorithm Architecture
www.ijeijournal.com Page | 40
complexity of barrel-shifter in the CORDIC engine. Latency of implementation is an inherent drawback of the
conventional CORDIC algorithm. Parallel and pipelined CORDIC have been suggested for high-throughput
computation and efficient CORDIC algorithm.
Figure 1: Vector Rotation
CORDIC algorithm has two types of computing modes Vector rotation (Rotating mode) and vector
translation (Vectoring mode). The CORDIC algorithm was initially designed to perform a vector rotation, where
the vector V with components ( , )x y is rotated through the angle  yielding a new vector
'
V with component
' '
( , )x y shown in Figure 1.
'
[ ][ ]V R V (1)
where R is the rotation matrix:
cos sin
sin cos
R
 
 
 
  
 
(2)
'
'
'
cos sin
sin cos
xx
V
yy
 
 
     
      
    
(3)
individual equations for
'
x and
'
y can be rewritten as:
'
.cos( ) .sin( )x x y   (4)
'
.cos( ) .sin( )y y x   (5)
and rearranged so that
'
cos( )[ .tan( )]x x y   (6)
'
cos( )[ .tan( )]y y x   (7)
The multiplication by the tangent term can be avoided if the rotation angles and therefore tan( ) are
restricted so that tan( ) 2 i
 
 . In digital hardware this denotes a simple shift operation. Furthermore, if those
rotations are performed iteratively and in both directions every value of tan( ) is representable. With
arctan(2 )i
 
 the cosine term could also be simplified and since cos( ) cos( )   it is a constant for a
fixed number of iterations. This iterative rotation can now be expressed as:
1 [ . .2 ]i
i i i i ix k x y d 
   (8)
1 [ . .2 ]i
i i i i iy k y x d 
   (9)
where cos(arctan(2 ))i
ik 
 and 1id   . The product of the ik 's represents the so-called K factor .
Fpga Implementation Of Cordic Algorithm Architecture
www.ijeijournal.com Page | 41
1
0
n
i
i
k k


  (10)
This K factor can be calculated in advance and applied elsewhere in the system. Equations (8) and (9)
can now be simplified to the basic CORDIC equations:
1 [ . .2 ]i
i i i ix x y d 
   (11)
1 [ . .2 ]i
i i i iy y x d 
   (12)
The direction of each rotation is defined by id and the sequence of all id 's determines the final vector.
Each vector V can be described by either the vector length and angle or by its coordinates x and y . Following
this incident, the CORDIC algorithm knows two ways of determining the direction of rotation: the rotation
mode and the vectoring mode. Both methods initialize the angle accumulator with the desired angle oz . The
rotation mode, determines the right sequence as the angle accumulator approaches 0 while the vectoring mode
minimizes the y component of the input vector.
The angle accumulator is defined by:
1 .arctan(2 )i
i i iz z d 
   (13)
where the sum of an infinite number of iterative rotation angles equals the input angle  :
0
.arctan(2 )i
i
i
d



  (14)
Those values of arctan(2 )i
can be stored in a small lookup table or hardwired depending on the way
of implementation. Since the decision is which direction to rotate instead of whether to rotate or not, id is
sensitive to the sign of iz . Therefore id can be described as:
1, 0
1, 0
i
i
i
if z
d
if z
 
 
 
(15)
With equation (15) the CORDIC algorithm in rotation mode is described completely. Note, that the
CORDIC method as described performs rotations only within / 2 and / 2 . This limitation comes from the
use of
0
2 for the tangent in the first iteration. However, since a sine wave is symmetric from quadrant to
quadrant, every sine value from 0 to 2 can be represented by reflecting and/or inverting the first quadrant
appropriately.
In vector translation, rotates the vector V with component (X, Y) around the circle until the Y
component equals zero as illustrated in Figure 2. The outputs from vector translation are the magnitude X’ and
phase
'
z , of the input vector V with component (X,Y).
Figure2: Vector Translation
After vector translation, output equations are:
 2 2
X' = ki X Y
(16)
Fpga Implementation Of Cordic Algorithm Architecture
www.ijeijournal.com Page | 42
'
0Y  (17)
'
tan
Y
z a
X
 
  
  (18)
To achieve simplicity of hardware realization of the rotation, the key ideas used in CORDIC arithmetic
are to decompose the rotations into a sequence of elementary rotations through predefined angles that could be
implemented with minimum hardware cost and to avoid scaling, that might involve arithmetic operation, such as
square-root and division. The second idea is based on the fact the scale-factor contains only the magnitude
information but no information about the angle of rotation.
In 1971, John S. Walther found how CORDIC iterations could be modified to compute hyperbolic
functions and reformulated the CORDIC algorithm into a generalized and unified form which is suitable to
perform rotations in circular, hyperbolic and linear coordinate systems. The unified formulation includes a new
variable m , which is assigned different values for different coordinate systems. The generalized CORDIC is
formulated as follows:
1
1
1
.2 .
.2 .
.
i
i i i i
i
i i i i
i i i i
x x m y
y y x
w w


 





 
 
 
(19)
Where
( )
( )
i
i
i
sign w
sign w


 

for rotation mode
for vectoring mode
III.
For 1,0m  or 1 and
1
tan (2 ),2i i
i   
 or
1
tanh (2 )i 
, the algorithm given by (19) works in
circular, linear or hyperbolic coordinate systems, respectively. Table 1 summarizes the operations that can be
performed in rotation and vectoring modes in each of these coordinate systems. The convergence range of linear
and hyperbolic CORDIC are obtained, as in the case of circular coordinate, by the sum of all i given by
0
i
i



 .
IV.
Table 1 Generalized CORDIC Algorithm
V.
The hyperbolic CORDIC requires to execute iterations for 4,13,40........i  twice to ensure
convergence. Consequently, these repetitions must be considered while computing the scale-factor
2 1/2
(1 2 )i
hK  
  , which converges to 0.8281.
III. Fpga Implementation Of Cordic Algorithm For Sin And Cos Functions
CORDIC can be used to compute Sin of any angle  with little variation. The angle is given as input.
A vector length 1.647 (CORDIC gain) along the x-axis is taken. The vector is then rotated in steps so as to reach
the desired input angle . The x and y values are accumulated. After fixed number of iterations the final co-
ordinates of the vector i.e. the x and y values give value of Cos and Sin respectively of the given angle . When
the Sin Cos functional configuration is selected, the unit vector is rotated, using the CORDIC algorithm, by
Fpga Implementation Of Cordic Algorithm Architecture
www.ijeijournal.com Page | 43
input angle . This generates the output vector (cos( ),sin( ))  .The compensation scaling module is disabled
for the Sin and Cos functional configuration as it is internally pre-scaled to compensate for the CORDIC scale
factor.
Table 2 Resource Utilization of Sin and Cos functional Configuration
Configuration

Parameters
Serial Parallel
(No
Pipeline )
Parallel
(Pipeline)
No. of slice f/f 349 (22%) 66(4%) 1146 (74%)
No. of 4 i/p LUT’s 472 (30%) 1006(65%) 1020(66%)
No. of occupied
Slices
330
(42%)
564(73%) 623(81%)
No. of slices
containing
Only related logic
330(100%) 564(100%) 623(100%)
Total No. of 4 i/p
LUT’s
595 (38%) 1087(70%) 1123 (73%)
Figure 3: Resource Utilization of Sin and Cos functional Configuration in serial architecture
Figure 4: Resource Utilization of Sin and Cos functional Configuration in parallel architecture
Fpga Implementation Of Cordic Algorithm Architecture
www.ijeijournal.com Page | 44
Figure 5: Resource Utilization of Sin and Cos functional Configuration in parallel architecture
From Table 2 and Figures 3-5, it has been concluded parallel architecture uses 74% no. of slices as
compare to 4% no. of slices used by parallel architecture without pipelining mode and 22% no. of slices used by
serial architecture. 66% no. of 4 input LUTs used by parallel architecture with pipeline mode but 65% no. of 4
input LUTs are used by parallel architecture without pipelining and 30% no. of 4 input LUTs are used by serial
architecture. 81% and 73% occupied slices are used by parallel architecture with or without pipelining
continuously and 42% occupied slices are used by serial architecture.
IV. CONCLUSION
From the above discussion, although parallel architecture with pipeline seems to be costlier as compare
to parallel without pipelining and serial architecture, yet parallelarchitecture has high throughput (i.e. speed) as
compare to serial architecture.
REFERENCES
[1] J. E. Volder, “The CORDIC trigonometric computing technique,” IRE Transactions on Electronic Computers, vol. EC- 8, pp. 330–
334, Sept. 1959.
[2] J. S. Walther, “A unified algorithm for elementary functions,” in Proceedings of the 38th Spring Joint Computer Conference,
Atlantic City, NJ, 1971, pp.379–385.
[3] D. S. Cochran, “Algorithms and accuracy in the HP-35,” Hewlett-Packard Journal, pp. 1–11, June 1972.
[4] S. Wang, V. Piuri, and J. E. E. Swartzlander, “Hybrid CORDIC algorithms,”IEEE Transactions on Computers, volume 46, no. 11,
pp. 1202–1207, November1997.
[5] S. Wang and E. E. Swartzlander, “Merged CORDIC algorithm,” in IEEE International Symposium on Circuits Systems
(ISCAS’95),1995, volume 3, pp.1988–1991.
[6] B. Gisuthan and T. Srikanthan, “Pipelining flat CORDIC based trigonometric function generators,” Microelectronics Journal,
volume 33, Pp.77–89, 2002.
[7] E. Deprettere, P. Dewilde, and R. Udo, “Pipelined CORDIC architectures for fast VLSI filtering and array processing,” in IEEE
International Conference on Acoustic, Speech, Signal Processing, ICASSP’84, March 1984, volume 9, pp.250–253.
[8] D. E. Metafas and C. E. Goutis, “A floating point pipeline CORDIC processor with extended operation set,” in IEEE International
Symposium on Circuits and Systems, ISCAS’91, June 1991, volume 5, pp. 3066–3069.

Weitere ähnliche Inhalte

Was ist angesagt?

Elliptic curve scalar multiplier using karatsuba
Elliptic curve scalar multiplier using karatsubaElliptic curve scalar multiplier using karatsuba
Elliptic curve scalar multiplier using karatsubaIAEME Publication
 
Digital signal and image processing FAQ
Digital signal and image processing FAQDigital signal and image processing FAQ
Digital signal and image processing FAQMukesh Tekwani
 
Graphical Model Selection for Big Data
Graphical Model Selection for Big DataGraphical Model Selection for Big Data
Graphical Model Selection for Big DataAlexander Jung
 
32-bit unsigned multiplier by using CSLA & CLAA
32-bit unsigned multiplier by using CSLA &  CLAA32-bit unsigned multiplier by using CSLA &  CLAA
32-bit unsigned multiplier by using CSLA & CLAAGanesh Sambasivarao
 
Project seminar ppt_steelcasting
Project seminar ppt_steelcastingProject seminar ppt_steelcasting
Project seminar ppt_steelcastingRudra Narayan Paul
 
Implementation of Low Power and Area-Efficient Carry Select Adder
Implementation of Low Power and Area-Efficient Carry Select AdderImplementation of Low Power and Area-Efficient Carry Select Adder
Implementation of Low Power and Area-Efficient Carry Select AdderIJMTST Journal
 
Social Network Analysis
Social Network AnalysisSocial Network Analysis
Social Network Analysisrik0
 
Fundamentals of Digital Signal Processing - Question Bank
Fundamentals of Digital Signal Processing - Question BankFundamentals of Digital Signal Processing - Question Bank
Fundamentals of Digital Signal Processing - Question BankMathankumar S
 
Complex and Social Network Analysis in Python
Complex and Social Network Analysis in PythonComplex and Social Network Analysis in Python
Complex and Social Network Analysis in Pythonrik0
 
Passive network-redesign-ntua
Passive network-redesign-ntuaPassive network-redesign-ntua
Passive network-redesign-ntuaIEEE NTUA SB
 
Low complexity methodology for complex square-root computation
Low complexity methodology for complex square-root computationLow complexity methodology for complex square-root computation
Low complexity methodology for complex square-root computationNxfee Innovation
 
All Pair Shortest Path Algorithm – Parallel Implementation and Analysis
All Pair Shortest Path Algorithm – Parallel Implementation and AnalysisAll Pair Shortest Path Algorithm – Parallel Implementation and Analysis
All Pair Shortest Path Algorithm – Parallel Implementation and AnalysisInderjeet Singh
 
Joint CSI Estimation, Beamforming and Scheduling Design for Wideband Massive ...
Joint CSI Estimation, Beamforming and Scheduling Design for Wideband Massive ...Joint CSI Estimation, Beamforming and Scheduling Design for Wideband Massive ...
Joint CSI Estimation, Beamforming and Scheduling Design for Wideband Massive ...T. E. BOGALE
 
Orthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
Orthogonal Faster than Nyquist Transmission for SIMO Wireless SystemsOrthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
Orthogonal Faster than Nyquist Transmission for SIMO Wireless SystemsT. E. BOGALE
 
Vector Distance Transform Maps for Autonomous Mobile Robot Navigation
Vector Distance Transform Maps for Autonomous Mobile Robot NavigationVector Distance Transform Maps for Autonomous Mobile Robot Navigation
Vector Distance Transform Maps for Autonomous Mobile Robot NavigationJanindu Arukgoda
 

Was ist angesagt? (20)

Dk32696699
Dk32696699Dk32696699
Dk32696699
 
Elliptic curve scalar multiplier using karatsuba
Elliptic curve scalar multiplier using karatsubaElliptic curve scalar multiplier using karatsuba
Elliptic curve scalar multiplier using karatsuba
 
Digital signal and image processing FAQ
Digital signal and image processing FAQDigital signal and image processing FAQ
Digital signal and image processing FAQ
 
Graphical Model Selection for Big Data
Graphical Model Selection for Big DataGraphical Model Selection for Big Data
Graphical Model Selection for Big Data
 
32-bit unsigned multiplier by using CSLA & CLAA
32-bit unsigned multiplier by using CSLA &  CLAA32-bit unsigned multiplier by using CSLA &  CLAA
32-bit unsigned multiplier by using CSLA & CLAA
 
Project seminar ppt_steelcasting
Project seminar ppt_steelcastingProject seminar ppt_steelcasting
Project seminar ppt_steelcasting
 
Implementation of Low Power and Area-Efficient Carry Select Adder
Implementation of Low Power and Area-Efficient Carry Select AdderImplementation of Low Power and Area-Efficient Carry Select Adder
Implementation of Low Power and Area-Efficient Carry Select Adder
 
Social Network Analysis
Social Network AnalysisSocial Network Analysis
Social Network Analysis
 
Lh2419001903
Lh2419001903Lh2419001903
Lh2419001903
 
Fundamentals of Digital Signal Processing - Question Bank
Fundamentals of Digital Signal Processing - Question BankFundamentals of Digital Signal Processing - Question Bank
Fundamentals of Digital Signal Processing - Question Bank
 
Complex and Social Network Analysis in Python
Complex and Social Network Analysis in PythonComplex and Social Network Analysis in Python
Complex and Social Network Analysis in Python
 
1 5
1 51 5
1 5
 
Passive network-redesign-ntua
Passive network-redesign-ntuaPassive network-redesign-ntua
Passive network-redesign-ntua
 
Low complexity methodology for complex square-root computation
Low complexity methodology for complex square-root computationLow complexity methodology for complex square-root computation
Low complexity methodology for complex square-root computation
 
All Pair Shortest Path Algorithm – Parallel Implementation and Analysis
All Pair Shortest Path Algorithm – Parallel Implementation and AnalysisAll Pair Shortest Path Algorithm – Parallel Implementation and Analysis
All Pair Shortest Path Algorithm – Parallel Implementation and Analysis
 
Joint CSI Estimation, Beamforming and Scheduling Design for Wideband Massive ...
Joint CSI Estimation, Beamforming and Scheduling Design for Wideband Massive ...Joint CSI Estimation, Beamforming and Scheduling Design for Wideband Massive ...
Joint CSI Estimation, Beamforming and Scheduling Design for Wideband Massive ...
 
Orthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
Orthogonal Faster than Nyquist Transmission for SIMO Wireless SystemsOrthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
Orthogonal Faster than Nyquist Transmission for SIMO Wireless Systems
 
J0535964
J0535964J0535964
J0535964
 
Slide11 icc2015
Slide11 icc2015Slide11 icc2015
Slide11 icc2015
 
Vector Distance Transform Maps for Autonomous Mobile Robot Navigation
Vector Distance Transform Maps for Autonomous Mobile Robot NavigationVector Distance Transform Maps for Autonomous Mobile Robot Navigation
Vector Distance Transform Maps for Autonomous Mobile Robot Navigation
 

Ähnlich wie FPGA Implementation of CORDIC Algorithm Architecture

High speed cordic design for fixed angle of rotation
High speed cordic design for fixed angle of rotationHigh speed cordic design for fixed angle of rotation
High speed cordic design for fixed angle of rotationIAEME Publication
 
HARDWARE EFFICIENT SCALING FREE VECTORING AND ROTATIONAL CORDIC FOR DSP APPLI...
HARDWARE EFFICIENT SCALING FREE VECTORING AND ROTATIONAL CORDIC FOR DSP APPLI...HARDWARE EFFICIENT SCALING FREE VECTORING AND ROTATIONAL CORDIC FOR DSP APPLI...
HARDWARE EFFICIENT SCALING FREE VECTORING AND ROTATIONAL CORDIC FOR DSP APPLI...VLSICS Design
 
A CORDIC based QR Decomposition Technique for MIMO Detection
A CORDIC based QR Decomposition Technique for MIMO Detection A CORDIC based QR Decomposition Technique for MIMO Detection
A CORDIC based QR Decomposition Technique for MIMO Detection IJECEIAES
 
CORDIC Algorithm for WLAN
CORDIC Algorithm for WLANCORDIC Algorithm for WLAN
CORDIC Algorithm for WLANIJERA Editor
 
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...Editor IJMTER
 
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator cscpconf
 
VLSI Implementation of CORDIC Based Robot Navigation Processor
VLSI Implementation of CORDIC Based Robot Navigation ProcessorVLSI Implementation of CORDIC Based Robot Navigation Processor
VLSI Implementation of CORDIC Based Robot Navigation ProcessorIRJET Journal
 
Comparative analysis of multi stage cordic using micro rotation technique
Comparative analysis of multi stage cordic using micro rotation techniqueComparative analysis of multi stage cordic using micro rotation technique
Comparative analysis of multi stage cordic using micro rotation techniqueIAEME Publication
 
Area Time Efficient Scaling Free Rotation Mode Cordic Using Circular Trajectory
Area Time Efficient Scaling Free Rotation Mode Cordic Using Circular TrajectoryArea Time Efficient Scaling Free Rotation Mode Cordic Using Circular Trajectory
Area Time Efficient Scaling Free Rotation Mode Cordic Using Circular TrajectoryIOSR Journals
 
Implementation performance analysis of cordic
Implementation performance analysis of cordicImplementation performance analysis of cordic
Implementation performance analysis of cordiciaemedu
 
Iaetsd finger print recognition by cordic algorithm and pipelined fft
Iaetsd finger print recognition by cordic algorithm and pipelined fftIaetsd finger print recognition by cordic algorithm and pipelined fft
Iaetsd finger print recognition by cordic algorithm and pipelined fftIaetsd Iaetsd
 
Comparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniqComparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniqIAEME Publication
 
Comparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniqComparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniqIAEME Publication
 
Comparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniqComparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniqIAEME Publication
 
A verilog based implementation of transcendental function calculator using co...
A verilog based implementation of transcendental function calculator using co...A verilog based implementation of transcendental function calculator using co...
A verilog based implementation of transcendental function calculator using co...eSAT Journals
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Reconfigurable Design of Rectangular to Polar Converter using Linear Convergence
Reconfigurable Design of Rectangular to Polar Converter using Linear ConvergenceReconfigurable Design of Rectangular to Polar Converter using Linear Convergence
Reconfigurable Design of Rectangular to Polar Converter using Linear ConvergenceAnuragVijayAgrawal
 

Ähnlich wie FPGA Implementation of CORDIC Algorithm Architecture (20)

High speed cordic design for fixed angle of rotation
High speed cordic design for fixed angle of rotationHigh speed cordic design for fixed angle of rotation
High speed cordic design for fixed angle of rotation
 
HARDWARE EFFICIENT SCALING FREE VECTORING AND ROTATIONAL CORDIC FOR DSP APPLI...
HARDWARE EFFICIENT SCALING FREE VECTORING AND ROTATIONAL CORDIC FOR DSP APPLI...HARDWARE EFFICIENT SCALING FREE VECTORING AND ROTATIONAL CORDIC FOR DSP APPLI...
HARDWARE EFFICIENT SCALING FREE VECTORING AND ROTATIONAL CORDIC FOR DSP APPLI...
 
A CORDIC based QR Decomposition Technique for MIMO Detection
A CORDIC based QR Decomposition Technique for MIMO Detection A CORDIC based QR Decomposition Technique for MIMO Detection
A CORDIC based QR Decomposition Technique for MIMO Detection
 
CORDIC Algorithm for WLAN
CORDIC Algorithm for WLANCORDIC Algorithm for WLAN
CORDIC Algorithm for WLAN
 
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
Reconfigurable CORDIC Low-Power Implementation of Complex Signal Processing f...
 
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
FPGA Implementation of Pipelined CORDIC Sine Cosine Digital Wave Generator
 
VLSI Implementation of CORDIC Based Robot Navigation Processor
VLSI Implementation of CORDIC Based Robot Navigation ProcessorVLSI Implementation of CORDIC Based Robot Navigation Processor
VLSI Implementation of CORDIC Based Robot Navigation Processor
 
Fm33980983
Fm33980983Fm33980983
Fm33980983
 
Fm33980983
Fm33980983Fm33980983
Fm33980983
 
Comparative analysis of multi stage cordic using micro rotation technique
Comparative analysis of multi stage cordic using micro rotation techniqueComparative analysis of multi stage cordic using micro rotation technique
Comparative analysis of multi stage cordic using micro rotation technique
 
Cw34597599
Cw34597599Cw34597599
Cw34597599
 
Area Time Efficient Scaling Free Rotation Mode Cordic Using Circular Trajectory
Area Time Efficient Scaling Free Rotation Mode Cordic Using Circular TrajectoryArea Time Efficient Scaling Free Rotation Mode Cordic Using Circular Trajectory
Area Time Efficient Scaling Free Rotation Mode Cordic Using Circular Trajectory
 
Implementation performance analysis of cordic
Implementation performance analysis of cordicImplementation performance analysis of cordic
Implementation performance analysis of cordic
 
Iaetsd finger print recognition by cordic algorithm and pipelined fft
Iaetsd finger print recognition by cordic algorithm and pipelined fftIaetsd finger print recognition by cordic algorithm and pipelined fft
Iaetsd finger print recognition by cordic algorithm and pipelined fft
 
Comparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniqComparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniq
 
Comparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniqComparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniq
 
Comparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniqComparative analysis of multi stage cordic using micro rotation techniq
Comparative analysis of multi stage cordic using micro rotation techniq
 
A verilog based implementation of transcendental function calculator using co...
A verilog based implementation of transcendental function calculator using co...A verilog based implementation of transcendental function calculator using co...
A verilog based implementation of transcendental function calculator using co...
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Reconfigurable Design of Rectangular to Polar Converter using Linear Convergence
Reconfigurable Design of Rectangular to Polar Converter using Linear ConvergenceReconfigurable Design of Rectangular to Polar Converter using Linear Convergence
Reconfigurable Design of Rectangular to Polar Converter using Linear Convergence
 

Mehr von International Journal of Engineering Inventions www.ijeijournal.com

Mehr von International Journal of Engineering Inventions www.ijeijournal.com (20)

H04124548
H04124548H04124548
H04124548
 
G04123844
G04123844G04123844
G04123844
 
F04123137
F04123137F04123137
F04123137
 
E04122330
E04122330E04122330
E04122330
 
C04121115
C04121115C04121115
C04121115
 
B04120610
B04120610B04120610
B04120610
 
A04120105
A04120105A04120105
A04120105
 
F04113640
F04113640F04113640
F04113640
 
E04112135
E04112135E04112135
E04112135
 
D04111520
D04111520D04111520
D04111520
 
C04111114
C04111114C04111114
C04111114
 
B04110710
B04110710B04110710
B04110710
 
A04110106
A04110106A04110106
A04110106
 
I04105358
I04105358I04105358
I04105358
 
H04104952
H04104952H04104952
H04104952
 
G04103948
G04103948G04103948
G04103948
 
F04103138
F04103138F04103138
F04103138
 
E04102330
E04102330E04102330
E04102330
 
D04101822
D04101822D04101822
D04101822
 
C04101217
C04101217C04101217
C04101217
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

FPGA Implementation of CORDIC Algorithm Architecture

  • 1. International Journal of Engineering Inventions e-ISSN: 2278-7461, p-ISSN: 2319-6491 Volume 2, Issue 10 (June 2013) PP: 39-44 www.ijeijournal.com Page | 39 FPGA Implementation of CORDIC Algorithm Architecture Ramanpreet Kaur1 , Parminder Singh Jassal2 1 Department of Electronics And Communication Engineering, Punjabi University Yadavindra College of Engineering, Talwandi Sabo Punjab, India 2 Assistant Professor, Yadvindra College of Engineering, Talwandi Sabo (Pb)-India Abstract: - CORDIC algorithm is very simple and iterative process for performing various mathematical computations. Most of the literature lacks in calculation of resources utilized by a particular CORDIC architecture. In this paper, serial, parallel and pipelined CORDIC architecture has been implemented for computing both sin & cos functions Keywords: - About five key words in alphabetical order, separated by comma I. INTRODUCTION CORDIC algorithm is an iterative algorithm, which can be used for the computation of trigonometric functions, multiplication and division [1]. Last half century has witnessed a lot of progress in design and development of architectures of the algorithm for high-performance and low-cost hardware solutions. CORDIC algorithm got its popularity, when [2] showed that, by varying a few simple parameters, it could be used as a single algorithm for unified implementation of a wide range of elementary transcendental functions involving logarithms, exponentials, and square. During the same time, [3] showed that CORDIC technique is a better choice for scientific calculator applications. The popularity of CORDIC was very much enhanced thereafter primarily due to its potential for efficient and low-cost implementation. With the advent of low cost, low power FPGAs, this algorithm has shown its potential for efficient and low-cost implementation. CORDIC algorithm can be widely used in as wireless communications, Software Defined Radio and medical imaging applications, which are heavily dependent on signal processing. Although CORDIC may not be the fastest technique to perform these operations, yet it is attractive due to the simplicity and efficient hardware implementation. The development of CORDIC algorithm and architecture has taken place for achieving high throughput rate and reduction of hardware-complexity as well as the latency of implementation. Latency of implementation is an inherent drawback of the conventional CORDIC algorithm. Angle recoding schemes and higher radix CORDIC have been developed for reduced latency realization. Parallel and pipelined CORDIC have been suggested for high-throughput computation. CORDIC computation is inherently sequential due to two main bottlenecks firstly the micro-rotation for any iteration is performed on the intermediate vector computed by the previous iteration and secondly the (i+1)th iteration could be started only after the completion of the ith iteration, since the value of which is required to start the (i+1)th iteration could be known only after the completion of the ith iteration. To alleviate the second bottleneck some attempts have been made for evaluation of values corresponding to small micro-rotation angles [4]. However, the CORDIC iterations could not still be performed in parallel due to the first bottleneck. A partial parallelization has been realized in [4] by combining a pair of conventional CORDIC iterations into a single merged iteration which provides better area-delay efficiency. But the accuracy is slightly affected by such merging and cannot be extended to a higher number of conventional CORDIC iterations since the induced error becomes unacceptable [5]. Parallel realization of CORDIC iterations to handle the first bottleneck by direct unfolding of micro-rotation is possible, but that would result in increase in computational complexity and the advantage of simplicity of CORDIC algorithm gets degraded [6]. Although no popular architectures are known to us for fully parallel implementation of CORDIC, different forms of pipelined implementation of CORDIC have however been proposed for improving the computational throughput [7].To handle latency bottlenecks, various architectures have been developed and reported in this review. Most of the well-known architectures could be grouped under bit parallel iterative CORDIC, bit parallel unrolled CORDIC , bit serial iterative CORDIC architecture. II. CORDIC ALGORITHM Keeping the requirements and constraints of different application environments in view, the development of CORDIC algorithm and architecture has taken place for achieving high throughput rate and reduction of hardware-complexity as well as the latency of implementation. Some of the typical approaches for reduced-complexity implementation are focused on minimization of the complexity of scaling operation and the
  • 2. Fpga Implementation Of Cordic Algorithm Architecture www.ijeijournal.com Page | 40 complexity of barrel-shifter in the CORDIC engine. Latency of implementation is an inherent drawback of the conventional CORDIC algorithm. Parallel and pipelined CORDIC have been suggested for high-throughput computation and efficient CORDIC algorithm. Figure 1: Vector Rotation CORDIC algorithm has two types of computing modes Vector rotation (Rotating mode) and vector translation (Vectoring mode). The CORDIC algorithm was initially designed to perform a vector rotation, where the vector V with components ( , )x y is rotated through the angle  yielding a new vector ' V with component ' ' ( , )x y shown in Figure 1. ' [ ][ ]V R V (1) where R is the rotation matrix: cos sin sin cos R            (2) ' ' ' cos sin sin cos xx V yy                       (3) individual equations for ' x and ' y can be rewritten as: ' .cos( ) .sin( )x x y   (4) ' .cos( ) .sin( )y y x   (5) and rearranged so that ' cos( )[ .tan( )]x x y   (6) ' cos( )[ .tan( )]y y x   (7) The multiplication by the tangent term can be avoided if the rotation angles and therefore tan( ) are restricted so that tan( ) 2 i    . In digital hardware this denotes a simple shift operation. Furthermore, if those rotations are performed iteratively and in both directions every value of tan( ) is representable. With arctan(2 )i    the cosine term could also be simplified and since cos( ) cos( )   it is a constant for a fixed number of iterations. This iterative rotation can now be expressed as: 1 [ . .2 ]i i i i i ix k x y d     (8) 1 [ . .2 ]i i i i i iy k y x d     (9) where cos(arctan(2 ))i ik   and 1id   . The product of the ik 's represents the so-called K factor .
  • 3. Fpga Implementation Of Cordic Algorithm Architecture www.ijeijournal.com Page | 41 1 0 n i i k k     (10) This K factor can be calculated in advance and applied elsewhere in the system. Equations (8) and (9) can now be simplified to the basic CORDIC equations: 1 [ . .2 ]i i i i ix x y d     (11) 1 [ . .2 ]i i i i iy y x d     (12) The direction of each rotation is defined by id and the sequence of all id 's determines the final vector. Each vector V can be described by either the vector length and angle or by its coordinates x and y . Following this incident, the CORDIC algorithm knows two ways of determining the direction of rotation: the rotation mode and the vectoring mode. Both methods initialize the angle accumulator with the desired angle oz . The rotation mode, determines the right sequence as the angle accumulator approaches 0 while the vectoring mode minimizes the y component of the input vector. The angle accumulator is defined by: 1 .arctan(2 )i i i iz z d     (13) where the sum of an infinite number of iterative rotation angles equals the input angle  : 0 .arctan(2 )i i i d      (14) Those values of arctan(2 )i can be stored in a small lookup table or hardwired depending on the way of implementation. Since the decision is which direction to rotate instead of whether to rotate or not, id is sensitive to the sign of iz . Therefore id can be described as: 1, 0 1, 0 i i i if z d if z       (15) With equation (15) the CORDIC algorithm in rotation mode is described completely. Note, that the CORDIC method as described performs rotations only within / 2 and / 2 . This limitation comes from the use of 0 2 for the tangent in the first iteration. However, since a sine wave is symmetric from quadrant to quadrant, every sine value from 0 to 2 can be represented by reflecting and/or inverting the first quadrant appropriately. In vector translation, rotates the vector V with component (X, Y) around the circle until the Y component equals zero as illustrated in Figure 2. The outputs from vector translation are the magnitude X’ and phase ' z , of the input vector V with component (X,Y). Figure2: Vector Translation After vector translation, output equations are:  2 2 X' = ki X Y (16)
  • 4. Fpga Implementation Of Cordic Algorithm Architecture www.ijeijournal.com Page | 42 ' 0Y  (17) ' tan Y z a X        (18) To achieve simplicity of hardware realization of the rotation, the key ideas used in CORDIC arithmetic are to decompose the rotations into a sequence of elementary rotations through predefined angles that could be implemented with minimum hardware cost and to avoid scaling, that might involve arithmetic operation, such as square-root and division. The second idea is based on the fact the scale-factor contains only the magnitude information but no information about the angle of rotation. In 1971, John S. Walther found how CORDIC iterations could be modified to compute hyperbolic functions and reformulated the CORDIC algorithm into a generalized and unified form which is suitable to perform rotations in circular, hyperbolic and linear coordinate systems. The unified formulation includes a new variable m , which is assigned different values for different coordinate systems. The generalized CORDIC is formulated as follows: 1 1 1 .2 . .2 . . i i i i i i i i i i i i i i x x m y y y x w w                (19) Where ( ) ( ) i i i sign w sign w      for rotation mode for vectoring mode III. For 1,0m  or 1 and 1 tan (2 ),2i i i     or 1 tanh (2 )i  , the algorithm given by (19) works in circular, linear or hyperbolic coordinate systems, respectively. Table 1 summarizes the operations that can be performed in rotation and vectoring modes in each of these coordinate systems. The convergence range of linear and hyperbolic CORDIC are obtained, as in the case of circular coordinate, by the sum of all i given by 0 i i     . IV. Table 1 Generalized CORDIC Algorithm V. The hyperbolic CORDIC requires to execute iterations for 4,13,40........i  twice to ensure convergence. Consequently, these repetitions must be considered while computing the scale-factor 2 1/2 (1 2 )i hK     , which converges to 0.8281. III. Fpga Implementation Of Cordic Algorithm For Sin And Cos Functions CORDIC can be used to compute Sin of any angle  with little variation. The angle is given as input. A vector length 1.647 (CORDIC gain) along the x-axis is taken. The vector is then rotated in steps so as to reach the desired input angle . The x and y values are accumulated. After fixed number of iterations the final co- ordinates of the vector i.e. the x and y values give value of Cos and Sin respectively of the given angle . When the Sin Cos functional configuration is selected, the unit vector is rotated, using the CORDIC algorithm, by
  • 5. Fpga Implementation Of Cordic Algorithm Architecture www.ijeijournal.com Page | 43 input angle . This generates the output vector (cos( ),sin( ))  .The compensation scaling module is disabled for the Sin and Cos functional configuration as it is internally pre-scaled to compensate for the CORDIC scale factor. Table 2 Resource Utilization of Sin and Cos functional Configuration Configuration  Parameters Serial Parallel (No Pipeline ) Parallel (Pipeline) No. of slice f/f 349 (22%) 66(4%) 1146 (74%) No. of 4 i/p LUT’s 472 (30%) 1006(65%) 1020(66%) No. of occupied Slices 330 (42%) 564(73%) 623(81%) No. of slices containing Only related logic 330(100%) 564(100%) 623(100%) Total No. of 4 i/p LUT’s 595 (38%) 1087(70%) 1123 (73%) Figure 3: Resource Utilization of Sin and Cos functional Configuration in serial architecture Figure 4: Resource Utilization of Sin and Cos functional Configuration in parallel architecture
  • 6. Fpga Implementation Of Cordic Algorithm Architecture www.ijeijournal.com Page | 44 Figure 5: Resource Utilization of Sin and Cos functional Configuration in parallel architecture From Table 2 and Figures 3-5, it has been concluded parallel architecture uses 74% no. of slices as compare to 4% no. of slices used by parallel architecture without pipelining mode and 22% no. of slices used by serial architecture. 66% no. of 4 input LUTs used by parallel architecture with pipeline mode but 65% no. of 4 input LUTs are used by parallel architecture without pipelining and 30% no. of 4 input LUTs are used by serial architecture. 81% and 73% occupied slices are used by parallel architecture with or without pipelining continuously and 42% occupied slices are used by serial architecture. IV. CONCLUSION From the above discussion, although parallel architecture with pipeline seems to be costlier as compare to parallel without pipelining and serial architecture, yet parallelarchitecture has high throughput (i.e. speed) as compare to serial architecture. REFERENCES [1] J. E. Volder, “The CORDIC trigonometric computing technique,” IRE Transactions on Electronic Computers, vol. EC- 8, pp. 330– 334, Sept. 1959. [2] J. S. Walther, “A unified algorithm for elementary functions,” in Proceedings of the 38th Spring Joint Computer Conference, Atlantic City, NJ, 1971, pp.379–385. [3] D. S. Cochran, “Algorithms and accuracy in the HP-35,” Hewlett-Packard Journal, pp. 1–11, June 1972. [4] S. Wang, V. Piuri, and J. E. E. Swartzlander, “Hybrid CORDIC algorithms,”IEEE Transactions on Computers, volume 46, no. 11, pp. 1202–1207, November1997. [5] S. Wang and E. E. Swartzlander, “Merged CORDIC algorithm,” in IEEE International Symposium on Circuits Systems (ISCAS’95),1995, volume 3, pp.1988–1991. [6] B. Gisuthan and T. Srikanthan, “Pipelining flat CORDIC based trigonometric function generators,” Microelectronics Journal, volume 33, Pp.77–89, 2002. [7] E. Deprettere, P. Dewilde, and R. Udo, “Pipelined CORDIC architectures for fast VLSI filtering and array processing,” in IEEE International Conference on Acoustic, Speech, Signal Processing, ICASSP’84, March 1984, volume 9, pp.250–253. [8] D. E. Metafas and C. E. Goutis, “A floating point pipeline CORDIC processor with extended operation set,” in IEEE International Symposium on Circuits and Systems, ISCAS’91, June 1991, volume 5, pp. 3066–3069.