Download - CORDIC
![Page 1: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/1.jpg)
CORDICCORDICIMPLEMENTATION OF CORDIC ALGORITHM
ANDSYNTHESIS OF THE CORDIC BLOCK
Guided by : Anitha S. Prasad
By:Naveen Kumar .R Sanjay .M.J4VV07EC027 4VV07EC042 Renuka Shamith Manohar4VV07EC403 4VV07EC043
![Page 2: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/2.jpg)
WHAT IS CORDIC?WHAT IS CORDIC?
![Page 3: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/3.jpg)
CORDIC abbreviates to COordinate Rotation DIgital Computer.
Computation of trigonometric & hyperbolic functions & also phase and magnitude of a given vector.
In this project we have implemented the computation of phase and magnitude of a given vector.
![Page 4: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/4.jpg)
WHY CORDIC?WHY CORDIC?
![Page 5: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/5.jpg)
Easy understandability & implementation of the Cordic algorithm.
Different approach for computation (Shift & Add approach).
Reduced hardware and computational complexity.
![Page 6: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/6.jpg)
HISTORY OF CORDICHISTORY OF CORDIC
![Page 7: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/7.jpg)
HISTORY OF CORDICHISTORY OF CORDICIn 1956 :Jack E. Volder developed a class of
algorithms for the calculation of trigonometric and hyperbolic functions.
In 1959: he described CORDIC for the calculation of multiplication, division and conversion between binary and mixed radix number system.
![Page 8: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/8.jpg)
Dagget in 1959 discussed the use of the CORDIC for decimal-binary conversions.
In 1971 J.S.Walther, Hewlett-Packard company described a single unified algorithm for the calculation of elementary functions including multiplication, division, sin, cos, tan, arctan, sinh, cosh, tanh, arctanh, ln, exp and square-root.
![Page 9: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/9.jpg)
TOOLS USEDTOOLS USED
![Page 10: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/10.jpg)
TOOLS USEDTOOLS USED
CADENCE TOOLSCadence is the primary tool used to
design our complete project.
It is basically an industrial application tool for implementation of VLSI structures in analog, digital & mixed signal design.
SimVision : Graphical debugging environment for Cadence Simulators.
![Page 11: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/11.jpg)
Cadence EDA tool Cadence EDA tool
NC launch window
![Page 12: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/12.jpg)
Tool boxTool box
![Page 13: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/13.jpg)
NC launch Compiler NC launch Compiler
![Page 14: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/14.jpg)
NC Launch Elaborator NC Launch Elaborator
![Page 15: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/15.jpg)
NC Launch Loading Snapshot into NC Launch Loading Snapshot into Simulator Simulator
![Page 16: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/16.jpg)
Simulation Waveform WindowSimulation Waveform Window
![Page 17: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/17.jpg)
SYNTHESIS FLOWSYNTHESIS FLOW
![Page 18: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/18.jpg)
![Page 19: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/19.jpg)
INTRODUCTION TO
BASIC CORDIC
ALGORITHM
![Page 20: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/20.jpg)
CORDIC EQUATIONSCORDIC EQUATIONS
Xi+1 = Xi ± Yi (2-i)
Yi+1 = Yi ± Xi (2-i)
Zi+1 = Zi ± arctan(2-i)
![Page 21: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/21.jpg)
ELEMENTARY STRUCTURE OF CORDIC BLOCK
![Page 22: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/22.jpg)
There are two computing modes
Rotation mode
Calculation of phase
Vectoring mode
Calculation of magnitude
![Page 23: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/23.jpg)
PIPELININGPIPELINING
![Page 24: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/24.jpg)
WORKING OF CORDIC EQUATIONWORKING OF CORDIC EQUATION
![Page 25: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/25.jpg)
PRE-PROCESSING
BLOCK
EXECUTION BLOCK
POSTPROCESSING
BLOCK
XIN
YIN
XNEW
YNEW
X-MAP
Y-MAP
X-OUT
Y-OUT
BLOCK DIAGRAM FOR THE IMPLEMENTATION OF CORDIC
ALGORITHM
![Page 26: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/26.jpg)
PRE-PROCESSING BLOCK•Vectors in 2nd,3rd and 4th quadrants are mapped to the 1st quadrant in this block.•The quadrants to which these vectors originally belonged are stored for later calculations.•The mode input determines whether sine and cos calculation is to be performed or magnitude and phase calculation is to be performed.
![Page 27: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/27.jpg)
EXECUTION BLOCKEXECUTION BLOCK
![Page 28: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/28.jpg)
POST-PROCESSING BLOCKPOST-PROCESSING BLOCK
•Mapped magnitude and phase values are obtained from the execution unit.
•Depending on the quadrant to which the input vector belongs,we perform various mathematical and logical operations to obtain the actual values of magnitude and phase.
![Page 29: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/29.jpg)
SYNTHESISED TOP-MODULE
![Page 30: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/30.jpg)
![Page 31: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/31.jpg)
CORDIC PIPELINECORDIC PIPELINE
![Page 32: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/32.jpg)
APPLICATIONAPPLICATION
To calculate various trigonometric and hyperbolic functions.
To determine magnitude and phase of a vector.
To determine DFT of a sequence.To calculate square-root of a number.
![Page 33: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/33.jpg)
LIMITATIONSLIMITATIONS
•In order to determine sign of the number, we need to propagate carry after addition, implementation requires extra hardware.
![Page 34: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/34.jpg)
FUTURE SCOPEFUTURE SCOPE
ASIC/FPGA design implementation of the proposed structure.
![Page 35: CORDIC](https://reader031.vdocuments.us/reader031/viewer/2022012309/547647efb4af9f3a418b4591/html5/thumbnails/35.jpg)
CONCLUSIONCONCLUSION
•CORDIC algorithm has been successfully implemented and simulation results obtained match with theoretical values.
•The RTL code has been successfully synthesised into a functional block.