SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
International Journal Of Computational Engineering Research (ijceronline.com) Vol. 3 Issue. 3
312
||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com||
Simulink Design Of Pipelined CORDIC For Generation of Sine
and Cosine Values
Richa Upadhyay1
, Dr. Nisha Sarwade2
, Shrugal Varde3
1,2,3,
Electrical Department, V.J.T.I. Mumbai
Abstract
In recent researches, there are countless applications where sine and cosine wave are used, like in
Physics, Digital Signal Processing for various transforms, several modulation and demodulation techniques etc.
There are numerous ways to generate digital sine and cosine waves, the use of previously calculated tables is
one of the choices, but it requires excessive memory usage when good quantization level is needed. CORDIC
algorithm, on the other hand, offers an excellent alternative, and its best characteristic is flexibility. Its
quantization accuracy is a function of word length. In this paper a simple Pipelined CORDIC structure for
generation of sine and cosine values has been implemented and verified using Simulink tool by MATLAB.
Keywords: CORDIC, Simulink, Pipeline Architecture, Shift And Add, Trigonometric, Unscaled, HDL,
Hardwired.
I. Introduction
The CORDIC is hardware-efficient algorithms for computation of trigonometric and other elementary
functions by only shift and adds operations. The CORDIC set of algorithms for the computation of
trigonometric functions was designed by Jack E. Volder in 1959 to help building a real-time navigational system
for the B-58 bomber [1]. Later, J. Walther in 1971 extended the CORDIC scheme to other functions [2]. The
CORDIC method of functional computation is used by most calculators (such as the ones by Texas Instruments
and HP) to approximate the normal transcendental functions.
The popularity of CORDIC was very much enhanced there-after primarily due to its potential for
efficient and low-cost implementation of a large class of applications which include: the generation of
trigonometric, logarithmic and transcendental elementary functions; complex number multiplication, Eigen-
value computation, matrix inversion, solution of linear systems and singular value decomposition (SVD)[4]for
signal processing, Fourier and related Transforms[3], image processing, and general scientific computation.
Some other popular and upcoming applications are:
[1] Direct frequency synthesis, digital modulation and coding for speech/music synthesis and communication;
[2] Direct and inverse kinematics computation for robot manipulation;
[3] Planar and three-dimensional vector rotation for graphics and animation
Although CORDIC may not be the fastest technique to per-form these operations, it is attractive due to
the simplicity of its hardware implementation, since the same iterative algorithm could be used for all these
applications using the basic shift-add operations.In this paper, our purpose is to demonstrate the utility of the
simulation tool Simulink by MATLAB to implement the basic CORDIC algorithm for calculating the
trigonometric values. Simulink, developed by MathWorks, is a data flow graphical programming language tool
for modeling, simulating and analyzing multidomain dynamic systems. Its primary interface is a graphical block
diagramming tool and a customizable set of block libraries. It offers tight integration with the rest of
the MATLAB and XILINX environment and can either drive them or be scripted from them. Simulink is widely
used in control theory and digital signal processing for multidomain simulation and Model-Based Design.The
remainder of this paper is organized as follows. In Section II, describes the principles of CORDIC operation,
covering the elementary ideas from coordinate transformation to rotation mode and vectoring model operations.
In section III, the implementation of CORDIC for calculation of sine and cosine values is discussed. The
CORDIC architecture applied for this paper has been described in Section IV along with its implementation in
Simulink. The conclusion along with future research directions are discussed in Section V.
2. Basic Cordic Algorithm
The CORDIC algorithm performs a planar rotation as shown in Fig 1. Graphically, planar rotation
means transforming a vector (Xi, Yi) into a new vector (Xj, Yj). Using a matrix form, a planar rotation for a
vector of (Xi, Yi) is defined as-
Simulink Design Of Pipelined Cordic For…
||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com||
313
Fig-1: Plannar rotation of a vector
The θ angle rotation can be executed in several steps, using an iterative process. Each step completes a small
part of the rotation. Many steps will compose one planar rotation. A single step is defined by the following
equation:
Here n = no. of iterations. Equation 2 can be modified by eliminating the factor.
Equation 3 requires three multiplies, compared to the four needed in equation 2. Additional multipliers can be
eliminated by selecting the angle steps such that the tangent of a step is a power of 2. Multiplying or dividing by
a power of 2 can be implemented using a simple shift operation.The angle for each step is given by eq (4) and
All iteration angles summed must equal the rotation angle θ as in eq (5).
Where S = {+1,-1}
This results in the following equation for
Combining equation 3 and 7 results in-
Besides for the coefficient, the algorithm has been reduced to a few simple shifts and additions. The
coefficient can be eliminated by pre-computing the final result. The first step is to rewrite the coefficient.
The second step is to compute equation 9 for all values of „n‟ and multiplying the results, which we will refer to
as K.
K is constant for all initial vectors and for all values of the rotation angle; it is normally referred to as the
congregate constant.
Because the coefficient K is pre-computed and taken into account at a later stage, equation 8 may be written as
or as
At this point a new variable called „Z‟ is introduced. Z represents the part of the angle θ which has not been
rotated yet.
Combining equations 5 and 13 results in a system which reduces the not rotated part of angle θ to zero.
Simulink Design Of Pipelined Cordic For…
||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com||
314
Thus the basic CORDIC equations are –
So, the CORDIC method evaluates elementary functions merely by table-look-up, shift and add operations. A
small number (of the order of n, where n bits of precision is required in the evaluation of the functions) of pre-
calculated fixed constants is all that is required to be stored in the look-up table. The CORDIC algorithm has
nice geometrical interpretations: trigonometric, exponential, multiply functions are evaluated via rotations in the
circular, hyperbolic and linear coordinate systems, respectively. Their inverses (i.e., inverse trigonometric
functions, logarithm and division) can be implemented in a “vectoring” mode in the appropriate coordinate
system. Thus, there exist two modalities of CORDIC algorithm, VECTORING and ROTATION mode. In
vectoring mode, coordinates ( , ) are rotated until converges to zero. In rotation mode, initial vector
( , ) starts aligned with the x axis and is rotated by an angle of θi every cycle, so after n iterations, θn is the
obtained angle. Also,
Hence, in ROTATION MODE
And in VECTORING MODE
3. CORDIC Theory for Trigonometric Functions
3.1 SINE AND COSINE
The rotation mode CORDIC operation can simultaneously compute the sine and cosine of the input
angle. Setting the y component of the input vector to zero reduces the rotation mode result to:
By setting to K the rotation produces unscaled sine and cosine of angle argument, z0. Very often sine cosine
values modulate a magnitude value. Using other techniques (for example: look up table) requires a pair of
multipliers to obtain the modulation. The CORDIC technique performs the multiply as a part of rotation
operation, and therefore eliminates the need for a pair of explicit multipliers. The output of CORDIC rotator is
scaled by the rotator gain. If the gain is not acceptable, a single multiply by the reciprocal of gain constant
placed before CORDIC rotator will yield unscaled results. It is worth noting that the hardware complexity of
CORDIC rotator is approximately similar to that of a single multiplier with the same word size.
Summary:
Mode: Rotation mode
Initial values: [x, y, z] = [K, 0, ]( = input angle)
Direction: Reduce z to Zero
Output: [x, y, z] = [cos , sin 0]
Simulink Design Of Pipelined Cordic For…
||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com||
2
Fig-2: Taxonomy of CORDIC architectures
4. Proposed Cordic Architecture
As in fig-2, there are number of ways to implement CORDIC processor. The ideal architecture depends
on the speed versus area tradeoff in the intended application. The CORDIC algorithm has traditionally been
implemented using bit serial architecture with all iterations executed in the same hardware [6]. This slows down
the computational device and hence, is not suitable for high speed implementation.For this paper we use a
Pipelined Architecture [6, 10], Instead of buffering the output of one iteration and using the same resources
again, one could simply cascade the iterative CORDIC, which means rebuilding the basic CORDIC structure for
each iteration. Consequently, the output of one stage is the input of the next one, as shown in Fig. 6, and in the
face of separate stages two simplifications become possible. First, the shift operations for each step can be
performed by wiring the connections between stages appropriately. Second, there is no need for changing
constant values and those can therefore be hardwired as well. The purely unrolled design only consists of
combinatorial components. Input values find their path through the architecture on their own and do not need to
be controlled. While implementation a single iteration of the basic CORDIC structure like in fig-4, the Generic
resource report which is obtained from the HDL code generator of Simulink is as follows:
Fig-3: Resource report of a Single CORDIC iteration
Fig-4: Hardware implementation of single CORDIC iteration
Fig-5: The Addition/Subtraction Logic Subsystem
Fig-6: Pipeline architecture of CORDIC for sine and cosine.
Simulink Design Of Pipelined Cordic For…
||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com||
316
Fig-7: Output obtained on the workspace window
Here the input angle is 600
i.e. 1.0466 radians and
as shown in the figure above the output values attained are: sine600
= 0.8659 and cos600
= 0.5002.
5. Conclusion
In this paper simple calculation of sine and cosine of the input angles is done, CORDIC algorithm is
implemented by using simple hardware through repeated shift-add operations and this is the feature which
makes it attractive for a wide variety of applications. The code above implements a pipeline algorithm of a 12-
stage CORDIC operating within the rotation mode. Here since the number of shifts to be performed by the
shifters at different stages is fixed (shift-operation through i bit positions is performed at the ith
stage), the shift
operations could be hardwired with adders.
The same is the case with the constant arctan (2^-i). This is to help reduce the no. of resources and also
the latency of computation. In all of these ways, the CORDIC algorithm proves its merit as a simple but
powerful algorithm that all FPGA designers should be aware of. Using CORDIC algorithm to generate these
waveforms can, if correctly done, result in a high spurious-free dynamic range. Good SFDR performance is
required for most signal-processing applications. Also, Simulink being a graphical language makes it easy to
implement and understand the physical meaning of CORDIC.As future work the HDL code (can be VHDL or
VERILOG) can be generated from the Simulink graphical program and can further be used on FPGA. Also the
implementation of the CORDIC algorithm can be done on FPAA (Field Programmable Analog Array), the analog
cousin of FPGA by using SIM2SPICE tool that automatically converts analog systems from Simulink design to
Spice netlist and further the placing and routing can be done on FPAA with the help of other tools.
References
[1] J. E. Volder, “The CORDIC Trigonometric Computing Technique,”IRE Trans. on Electronic Computers,
vol. EC–8, pp. 330–334, Sep. 1959.
[2] J. S. Walther, “A unified Algorithm for Elementary Functions,” inProceedings of the 38th Spring Joint
Computer Conference, pp. 379–385, 1971
[3] A. M. Despain, “Fourier Transform Computers Using CORDIC Iterations,”IEEE Transactions on
Computers, vol. C-30, pp. 993–1001, Oct. 1974
[4] J. R. Cavallaro and F. T. Luk, “CORDIC Arithmetic for a SVD processor,”Journal of Parallel and
Distributed Computing, vol. 5, pp. 271–290, 1988.
[5] J. Duprat and J. Muller, “The CORDIC Algorithm: New Results for Fast VLSI Implementation,” IEEE
Transactions on Computers, vol. 42, no. 2, pp. 168-178, 1993.
[6] ] P. Meher, J. Valls, T. Juang, K. Sridharan and K. Maharatna, “50 Years of CORDIC: Algorithms,
Architectures, and Applications,” IEEE Transactions on Circuits and Systems, vol. 56, no. 9, pp. 1893-
1907,2009.
[7] E. O. Garcia, R. Cumplido, M. Arias, “Pipelined CORDIC Design on FPGA for a Digital Sine and
Cosine Waves Generator,” 3rd IEEE Transactions on Computers,vol. 59, no.4,pp.522-531, 2010.
[8] R. Bhakthavatchalu, M. Sinith, P. Nair and K. Jismi,“A Comparison of Pipelined Parallel and Iterative
CORDIC Design on FPGA,” International Conference on Industrial and Information Systems, pp. 239-
243, 2010
[9] Vladimirova, T. and Tiggler, “FPGA Implementation of Sine and Cosine Generators Using the
CORDIC Algorithm”, Proc. of Military and Aerospace Application of Programmable Devices and
Technologies Conference (MAPLD 99), Sep. 1999, Laurel, MA, A-2, pp. 28-30.
[10] Naveen Kumar and Amandeep Singh Sappal” Coordinate Rotation Digital Computer Algorithm: Design
and Architectures”, International Journal of Advanced Computer Science and Applications, Vol. 2, No. 4,
2011, pp 68-71.
[11] “System Generator for DSP user guide”, UG640 (v 12.1) April 19, 2010.

Más contenido relacionado

La actualidad más candente

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
 
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
 
A New Method For Solving Kinematics Model Of An RA-02
A New Method For Solving Kinematics Model Of An RA-02A New Method For Solving Kinematics Model Of An RA-02
A New Method For Solving Kinematics Model Of An RA-02IJERA Editor
 
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
 
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
 
An Efficient Line Clipping Algorithm for Circular Windows Using Vector Calcul...
An Efficient Line Clipping Algorithm for Circular Windows Using Vector Calcul...An Efficient Line Clipping Algorithm for Circular Windows Using Vector Calcul...
An Efficient Line Clipping Algorithm for Circular Windows Using Vector Calcul...ijcga
 
AN EFFICIENT LINE CLIPPING ALGORITHM FOR CIRCULAR WINDOWS USING VECTOR CALCUL...
AN EFFICIENT LINE CLIPPING ALGORITHM FOR CIRCULAR WINDOWS USING VECTOR CALCUL...AN EFFICIENT LINE CLIPPING ALGORITHM FOR CIRCULAR WINDOWS USING VECTOR CALCUL...
AN EFFICIENT LINE CLIPPING ALGORITHM FOR CIRCULAR WINDOWS USING VECTOR CALCUL...ijcga
 
SIMMECHANICS VISUALIZATION OF EXPERIMENTAL MODEL OVERHEAD CRANE, ITS LINEARIZ...
SIMMECHANICS VISUALIZATION OF EXPERIMENTAL MODEL OVERHEAD CRANE, ITS LINEARIZ...SIMMECHANICS VISUALIZATION OF EXPERIMENTAL MODEL OVERHEAD CRANE, ITS LINEARIZ...
SIMMECHANICS VISUALIZATION OF EXPERIMENTAL MODEL OVERHEAD CRANE, ITS LINEARIZ...ijccmsjournal
 
An Area-efficient Montgomery Modular Multiplier for Cryptosystems
An Area-efficient Montgomery Modular Multiplier for CryptosystemsAn Area-efficient Montgomery Modular Multiplier for Cryptosystems
An Area-efficient Montgomery Modular Multiplier for CryptosystemsIJERA Editor
 
Area–delay–power efficient carry select adder
Area–delay–power efficient carry select adderArea–delay–power efficient carry select adder
Area–delay–power efficient carry select adderLogicMindtech Nologies
 
Accurate Learning of Graph Representations with Graph Multiset Pooling
Accurate Learning of Graph Representations with Graph Multiset PoolingAccurate Learning of Graph Representations with Graph Multiset Pooling
Accurate Learning of Graph Representations with Graph Multiset PoolingMLAI2
 
Exact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in RoboticsExact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in RoboticsUmair Amjad
 
VHDL and Cordic Algorithim
VHDL and Cordic AlgorithimVHDL and Cordic Algorithim
VHDL and Cordic AlgorithimSubeer Rangra
 

La actualidad más candente (18)

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
 
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...
 
A New Method For Solving Kinematics Model Of An RA-02
A New Method For Solving Kinematics Model Of An RA-02A New Method For Solving Kinematics Model Of An RA-02
A New Method For Solving Kinematics Model Of An RA-02
 
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
 
Fm33980983
Fm33980983Fm33980983
Fm33980983
 
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
 
An Efficient Line Clipping Algorithm for Circular Windows Using Vector Calcul...
An Efficient Line Clipping Algorithm for Circular Windows Using Vector Calcul...An Efficient Line Clipping Algorithm for Circular Windows Using Vector Calcul...
An Efficient Line Clipping Algorithm for Circular Windows Using Vector Calcul...
 
AN EFFICIENT LINE CLIPPING ALGORITHM FOR CIRCULAR WINDOWS USING VECTOR CALCUL...
AN EFFICIENT LINE CLIPPING ALGORITHM FOR CIRCULAR WINDOWS USING VECTOR CALCUL...AN EFFICIENT LINE CLIPPING ALGORITHM FOR CIRCULAR WINDOWS USING VECTOR CALCUL...
AN EFFICIENT LINE CLIPPING ALGORITHM FOR CIRCULAR WINDOWS USING VECTOR CALCUL...
 
N045077984
N045077984N045077984
N045077984
 
SIMMECHANICS VISUALIZATION OF EXPERIMENTAL MODEL OVERHEAD CRANE, ITS LINEARIZ...
SIMMECHANICS VISUALIZATION OF EXPERIMENTAL MODEL OVERHEAD CRANE, ITS LINEARIZ...SIMMECHANICS VISUALIZATION OF EXPERIMENTAL MODEL OVERHEAD CRANE, ITS LINEARIZ...
SIMMECHANICS VISUALIZATION OF EXPERIMENTAL MODEL OVERHEAD CRANE, ITS LINEARIZ...
 
FPGA Implementation of CORDIC Algorithm Architecture
FPGA Implementation of CORDIC Algorithm ArchitectureFPGA Implementation of CORDIC Algorithm Architecture
FPGA Implementation of CORDIC Algorithm Architecture
 
CAD
CADCAD
CAD
 
An Area-efficient Montgomery Modular Multiplier for Cryptosystems
An Area-efficient Montgomery Modular Multiplier for CryptosystemsAn Area-efficient Montgomery Modular Multiplier for Cryptosystems
An Area-efficient Montgomery Modular Multiplier for Cryptosystems
 
Area–delay–power efficient carry select adder
Area–delay–power efficient carry select adderArea–delay–power efficient carry select adder
Area–delay–power efficient carry select adder
 
Cordic Code
Cordic CodeCordic Code
Cordic Code
 
Accurate Learning of Graph Representations with Graph Multiset Pooling
Accurate Learning of Graph Representations with Graph Multiset PoolingAccurate Learning of Graph Representations with Graph Multiset Pooling
Accurate Learning of Graph Representations with Graph Multiset Pooling
 
Exact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in RoboticsExact Cell Decomposition of Arrangements used for Path Planning in Robotics
Exact Cell Decomposition of Arrangements used for Path Planning in Robotics
 
VHDL and Cordic Algorithim
VHDL and Cordic AlgorithimVHDL and Cordic Algorithim
VHDL and Cordic Algorithim
 

Destacado

Chainsaw Ticket - Tree Felling
Chainsaw Ticket - Tree FellingChainsaw Ticket - Tree Felling
Chainsaw Ticket - Tree Fellingfitecaustralia
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer ExperienceYuan Wang
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanPost Planner
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldabaux singapore
 

Destacado (6)

Chainsaw Ticket - Tree Felling
Chainsaw Ticket - Tree FellingChainsaw Ticket - Tree Felling
Chainsaw Ticket - Tree Felling
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Similar a Ax03303120316

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
 
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
 
Implementation performance analysis of cordic
Implementation performance analysis of cordicImplementation performance analysis of cordic
Implementation performance analysis of cordiciaemedu
 
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
 
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
 
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
 
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
 
The use of reversible logic gates in the design of residue number systems
The use of reversible logic gates in the design of residue number systems The use of reversible logic gates in the design of residue number systems
The use of reversible logic gates in the design of residue number systems IJECEIAES
 
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
 
IIIRJET-Implementation of Image Compression Algorithm on FPGA
IIIRJET-Implementation of Image Compression Algorithm on FPGAIIIRJET-Implementation of Image Compression Algorithm on FPGA
IIIRJET-Implementation of Image Compression Algorithm on FPGAIRJET Journal
 
Realization of Direct Digital Synthesis in Cordic Algorithm
Realization of Direct Digital Synthesis in Cordic AlgorithmRealization of Direct Digital Synthesis in Cordic Algorithm
Realization of Direct Digital Synthesis in Cordic AlgorithmIJASRD Journal
 
Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...
Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...
Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...ijsrd.com
 
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal ...
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal ...© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal ...
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal ...IRJET Journal
 
57892883 geometric-modeling
57892883 geometric-modeling57892883 geometric-modeling
57892883 geometric-modelingmanojg1990
 

Similar a Ax03303120316 (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
 
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
 
Fm33980983
Fm33980983Fm33980983
Fm33980983
 
Implementation performance analysis of cordic
Implementation performance analysis of cordicImplementation performance analysis of cordic
Implementation performance analysis of cordic
 
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
 
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
 
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
 
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...
 
The use of reversible logic gates in the design of residue number systems
The use of reversible logic gates in the design of residue number systems The use of reversible logic gates in the design of residue number systems
The use of reversible logic gates in the design of residue number systems
 
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)
 
IIIRJET-Implementation of Image Compression Algorithm on FPGA
IIIRJET-Implementation of Image Compression Algorithm on FPGAIIIRJET-Implementation of Image Compression Algorithm on FPGA
IIIRJET-Implementation of Image Compression Algorithm on FPGA
 
Cw34597599
Cw34597599Cw34597599
Cw34597599
 
2313ijccms01.pdf
2313ijccms01.pdf2313ijccms01.pdf
2313ijccms01.pdf
 
2313ijccms01.pdf
2313ijccms01.pdf2313ijccms01.pdf
2313ijccms01.pdf
 
Realization of Direct Digital Synthesis in Cordic Algorithm
Realization of Direct Digital Synthesis in Cordic AlgorithmRealization of Direct Digital Synthesis in Cordic Algorithm
Realization of Direct Digital Synthesis in Cordic Algorithm
 
2012
20122012
2012
 
Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...
Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...
Time Multiplexed VLSI Architecture for Real-Time Barrel Distortion Correction...
 
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal ...
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal ...© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal ...
© 2022, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal ...
 
57892883 geometric-modeling
57892883 geometric-modeling57892883 geometric-modeling
57892883 geometric-modeling
 

Último

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Ax03303120316

  • 1. International Journal Of Computational Engineering Research (ijceronline.com) Vol. 3 Issue. 3 312 ||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com|| Simulink Design Of Pipelined CORDIC For Generation of Sine and Cosine Values Richa Upadhyay1 , Dr. Nisha Sarwade2 , Shrugal Varde3 1,2,3, Electrical Department, V.J.T.I. Mumbai Abstract In recent researches, there are countless applications where sine and cosine wave are used, like in Physics, Digital Signal Processing for various transforms, several modulation and demodulation techniques etc. There are numerous ways to generate digital sine and cosine waves, the use of previously calculated tables is one of the choices, but it requires excessive memory usage when good quantization level is needed. CORDIC algorithm, on the other hand, offers an excellent alternative, and its best characteristic is flexibility. Its quantization accuracy is a function of word length. In this paper a simple Pipelined CORDIC structure for generation of sine and cosine values has been implemented and verified using Simulink tool by MATLAB. Keywords: CORDIC, Simulink, Pipeline Architecture, Shift And Add, Trigonometric, Unscaled, HDL, Hardwired. I. Introduction The CORDIC is hardware-efficient algorithms for computation of trigonometric and other elementary functions by only shift and adds operations. The CORDIC set of algorithms for the computation of trigonometric functions was designed by Jack E. Volder in 1959 to help building a real-time navigational system for the B-58 bomber [1]. Later, J. Walther in 1971 extended the CORDIC scheme to other functions [2]. The CORDIC method of functional computation is used by most calculators (such as the ones by Texas Instruments and HP) to approximate the normal transcendental functions. The popularity of CORDIC was very much enhanced there-after primarily due to its potential for efficient and low-cost implementation of a large class of applications which include: the generation of trigonometric, logarithmic and transcendental elementary functions; complex number multiplication, Eigen- value computation, matrix inversion, solution of linear systems and singular value decomposition (SVD)[4]for signal processing, Fourier and related Transforms[3], image processing, and general scientific computation. Some other popular and upcoming applications are: [1] Direct frequency synthesis, digital modulation and coding for speech/music synthesis and communication; [2] Direct and inverse kinematics computation for robot manipulation; [3] Planar and three-dimensional vector rotation for graphics and animation Although CORDIC may not be the fastest technique to per-form these operations, it is attractive due to the simplicity of its hardware implementation, since the same iterative algorithm could be used for all these applications using the basic shift-add operations.In this paper, our purpose is to demonstrate the utility of the simulation tool Simulink by MATLAB to implement the basic CORDIC algorithm for calculating the trigonometric values. Simulink, developed by MathWorks, is a data flow graphical programming language tool for modeling, simulating and analyzing multidomain dynamic systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers tight integration with the rest of the MATLAB and XILINX environment and can either drive them or be scripted from them. Simulink is widely used in control theory and digital signal processing for multidomain simulation and Model-Based Design.The remainder of this paper is organized as follows. In Section II, describes the principles of CORDIC operation, covering the elementary ideas from coordinate transformation to rotation mode and vectoring model operations. In section III, the implementation of CORDIC for calculation of sine and cosine values is discussed. The CORDIC architecture applied for this paper has been described in Section IV along with its implementation in Simulink. The conclusion along with future research directions are discussed in Section V. 2. Basic Cordic Algorithm The CORDIC algorithm performs a planar rotation as shown in Fig 1. Graphically, planar rotation means transforming a vector (Xi, Yi) into a new vector (Xj, Yj). Using a matrix form, a planar rotation for a vector of (Xi, Yi) is defined as-
  • 2. Simulink Design Of Pipelined Cordic For… ||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com|| 313 Fig-1: Plannar rotation of a vector The θ angle rotation can be executed in several steps, using an iterative process. Each step completes a small part of the rotation. Many steps will compose one planar rotation. A single step is defined by the following equation: Here n = no. of iterations. Equation 2 can be modified by eliminating the factor. Equation 3 requires three multiplies, compared to the four needed in equation 2. Additional multipliers can be eliminated by selecting the angle steps such that the tangent of a step is a power of 2. Multiplying or dividing by a power of 2 can be implemented using a simple shift operation.The angle for each step is given by eq (4) and All iteration angles summed must equal the rotation angle θ as in eq (5). Where S = {+1,-1} This results in the following equation for Combining equation 3 and 7 results in- Besides for the coefficient, the algorithm has been reduced to a few simple shifts and additions. The coefficient can be eliminated by pre-computing the final result. The first step is to rewrite the coefficient. The second step is to compute equation 9 for all values of „n‟ and multiplying the results, which we will refer to as K. K is constant for all initial vectors and for all values of the rotation angle; it is normally referred to as the congregate constant. Because the coefficient K is pre-computed and taken into account at a later stage, equation 8 may be written as or as At this point a new variable called „Z‟ is introduced. Z represents the part of the angle θ which has not been rotated yet. Combining equations 5 and 13 results in a system which reduces the not rotated part of angle θ to zero.
  • 3. Simulink Design Of Pipelined Cordic For… ||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com|| 314 Thus the basic CORDIC equations are – So, the CORDIC method evaluates elementary functions merely by table-look-up, shift and add operations. A small number (of the order of n, where n bits of precision is required in the evaluation of the functions) of pre- calculated fixed constants is all that is required to be stored in the look-up table. The CORDIC algorithm has nice geometrical interpretations: trigonometric, exponential, multiply functions are evaluated via rotations in the circular, hyperbolic and linear coordinate systems, respectively. Their inverses (i.e., inverse trigonometric functions, logarithm and division) can be implemented in a “vectoring” mode in the appropriate coordinate system. Thus, there exist two modalities of CORDIC algorithm, VECTORING and ROTATION mode. In vectoring mode, coordinates ( , ) are rotated until converges to zero. In rotation mode, initial vector ( , ) starts aligned with the x axis and is rotated by an angle of θi every cycle, so after n iterations, θn is the obtained angle. Also, Hence, in ROTATION MODE And in VECTORING MODE 3. CORDIC Theory for Trigonometric Functions 3.1 SINE AND COSINE The rotation mode CORDIC operation can simultaneously compute the sine and cosine of the input angle. Setting the y component of the input vector to zero reduces the rotation mode result to: By setting to K the rotation produces unscaled sine and cosine of angle argument, z0. Very often sine cosine values modulate a magnitude value. Using other techniques (for example: look up table) requires a pair of multipliers to obtain the modulation. The CORDIC technique performs the multiply as a part of rotation operation, and therefore eliminates the need for a pair of explicit multipliers. The output of CORDIC rotator is scaled by the rotator gain. If the gain is not acceptable, a single multiply by the reciprocal of gain constant placed before CORDIC rotator will yield unscaled results. It is worth noting that the hardware complexity of CORDIC rotator is approximately similar to that of a single multiplier with the same word size. Summary: Mode: Rotation mode Initial values: [x, y, z] = [K, 0, ]( = input angle) Direction: Reduce z to Zero Output: [x, y, z] = [cos , sin 0]
  • 4. Simulink Design Of Pipelined Cordic For… ||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com|| 2 Fig-2: Taxonomy of CORDIC architectures 4. Proposed Cordic Architecture As in fig-2, there are number of ways to implement CORDIC processor. The ideal architecture depends on the speed versus area tradeoff in the intended application. The CORDIC algorithm has traditionally been implemented using bit serial architecture with all iterations executed in the same hardware [6]. This slows down the computational device and hence, is not suitable for high speed implementation.For this paper we use a Pipelined Architecture [6, 10], Instead of buffering the output of one iteration and using the same resources again, one could simply cascade the iterative CORDIC, which means rebuilding the basic CORDIC structure for each iteration. Consequently, the output of one stage is the input of the next one, as shown in Fig. 6, and in the face of separate stages two simplifications become possible. First, the shift operations for each step can be performed by wiring the connections between stages appropriately. Second, there is no need for changing constant values and those can therefore be hardwired as well. The purely unrolled design only consists of combinatorial components. Input values find their path through the architecture on their own and do not need to be controlled. While implementation a single iteration of the basic CORDIC structure like in fig-4, the Generic resource report which is obtained from the HDL code generator of Simulink is as follows: Fig-3: Resource report of a Single CORDIC iteration Fig-4: Hardware implementation of single CORDIC iteration Fig-5: The Addition/Subtraction Logic Subsystem Fig-6: Pipeline architecture of CORDIC for sine and cosine.
  • 5. Simulink Design Of Pipelined Cordic For… ||Issn||2250-3005|| (Online) ||March||2013|| ||www.ijceronline.com|| 316 Fig-7: Output obtained on the workspace window Here the input angle is 600 i.e. 1.0466 radians and as shown in the figure above the output values attained are: sine600 = 0.8659 and cos600 = 0.5002. 5. Conclusion In this paper simple calculation of sine and cosine of the input angles is done, CORDIC algorithm is implemented by using simple hardware through repeated shift-add operations and this is the feature which makes it attractive for a wide variety of applications. The code above implements a pipeline algorithm of a 12- stage CORDIC operating within the rotation mode. Here since the number of shifts to be performed by the shifters at different stages is fixed (shift-operation through i bit positions is performed at the ith stage), the shift operations could be hardwired with adders. The same is the case with the constant arctan (2^-i). This is to help reduce the no. of resources and also the latency of computation. In all of these ways, the CORDIC algorithm proves its merit as a simple but powerful algorithm that all FPGA designers should be aware of. Using CORDIC algorithm to generate these waveforms can, if correctly done, result in a high spurious-free dynamic range. Good SFDR performance is required for most signal-processing applications. Also, Simulink being a graphical language makes it easy to implement and understand the physical meaning of CORDIC.As future work the HDL code (can be VHDL or VERILOG) can be generated from the Simulink graphical program and can further be used on FPGA. Also the implementation of the CORDIC algorithm can be done on FPAA (Field Programmable Analog Array), the analog cousin of FPGA by using SIM2SPICE tool that automatically converts analog systems from Simulink design to Spice netlist and further the placing and routing can be done on FPAA with the help of other tools. References [1] J. E. Volder, “The CORDIC Trigonometric Computing Technique,”IRE Trans. on Electronic Computers, vol. EC–8, pp. 330–334, Sep. 1959. [2] J. S. Walther, “A unified Algorithm for Elementary Functions,” inProceedings of the 38th Spring Joint Computer Conference, pp. 379–385, 1971 [3] A. M. Despain, “Fourier Transform Computers Using CORDIC Iterations,”IEEE Transactions on Computers, vol. C-30, pp. 993–1001, Oct. 1974 [4] J. R. Cavallaro and F. T. Luk, “CORDIC Arithmetic for a SVD processor,”Journal of Parallel and Distributed Computing, vol. 5, pp. 271–290, 1988. [5] J. Duprat and J. Muller, “The CORDIC Algorithm: New Results for Fast VLSI Implementation,” IEEE Transactions on Computers, vol. 42, no. 2, pp. 168-178, 1993. [6] ] P. Meher, J. Valls, T. Juang, K. Sridharan and K. Maharatna, “50 Years of CORDIC: Algorithms, Architectures, and Applications,” IEEE Transactions on Circuits and Systems, vol. 56, no. 9, pp. 1893- 1907,2009. [7] E. O. Garcia, R. Cumplido, M. Arias, “Pipelined CORDIC Design on FPGA for a Digital Sine and Cosine Waves Generator,” 3rd IEEE Transactions on Computers,vol. 59, no.4,pp.522-531, 2010. [8] R. Bhakthavatchalu, M. Sinith, P. Nair and K. Jismi,“A Comparison of Pipelined Parallel and Iterative CORDIC Design on FPGA,” International Conference on Industrial and Information Systems, pp. 239- 243, 2010 [9] Vladimirova, T. and Tiggler, “FPGA Implementation of Sine and Cosine Generators Using the CORDIC Algorithm”, Proc. of Military and Aerospace Application of Programmable Devices and Technologies Conference (MAPLD 99), Sep. 1999, Laurel, MA, A-2, pp. 28-30. [10] Naveen Kumar and Amandeep Singh Sappal” Coordinate Rotation Digital Computer Algorithm: Design and Architectures”, International Journal of Advanced Computer Science and Applications, Vol. 2, No. 4, 2011, pp 68-71. [11] “System Generator for DSP user guide”, UG640 (v 12.1) April 19, 2010.