cordic

35
CORDIC CORDIC IMPLEMENTATION OF CORDIC ALGORITHM AND SYNTHESIS OF THE CORDIC BLOCK Guided by : Anitha S. Prasad By: Naveen Kumar .R Sanjay .M.J 4VV07EC027 4VV07EC042 Renuka Shamith Manohar

Upload: prajwal-shivamurthy

Post on 27-Nov-2014

176 views

Category:

Documents


22 download

TRANSCRIPT

Page 1: CORDIC

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

WHAT IS CORDIC?WHAT IS CORDIC?

Page 3: CORDIC

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

WHY CORDIC?WHY CORDIC?

Page 5: CORDIC

Easy understandability & implementation of the Cordic algorithm.

Different approach for computation (Shift & Add approach).

Reduced hardware and computational complexity.

Page 6: CORDIC

HISTORY OF CORDICHISTORY OF CORDIC

Page 7: CORDIC

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

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

TOOLS USEDTOOLS USED

Page 10: CORDIC

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

Cadence EDA tool Cadence EDA tool

NC launch window

Page 12: CORDIC

Tool boxTool box

Page 13: CORDIC

NC launch Compiler NC launch Compiler

Page 14: CORDIC

NC Launch Elaborator NC Launch Elaborator

Page 15: CORDIC

NC Launch Loading Snapshot into NC Launch Loading Snapshot into Simulator Simulator

Page 16: CORDIC

Simulation Waveform WindowSimulation Waveform Window

Page 17: CORDIC

SYNTHESIS FLOWSYNTHESIS FLOW

Page 18: CORDIC
Page 19: CORDIC

INTRODUCTION TO

BASIC CORDIC

ALGORITHM

Page 20: CORDIC

CORDIC EQUATIONSCORDIC EQUATIONS

Xi+1 = Xi ± Yi (2-i)

Yi+1 = Yi ± Xi (2-i)

Zi+1 = Zi ± arctan(2-i)

Page 21: CORDIC

ELEMENTARY STRUCTURE OF CORDIC BLOCK

Page 22: CORDIC

There are two computing modes

Rotation mode

Calculation of phase

Vectoring mode

Calculation of magnitude

Page 23: CORDIC

PIPELININGPIPELINING

Page 24: CORDIC

WORKING OF CORDIC EQUATIONWORKING OF CORDIC EQUATION

Page 25: CORDIC

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

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

EXECUTION BLOCKEXECUTION BLOCK

Page 28: CORDIC

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

SYNTHESISED TOP-MODULE

Page 30: CORDIC
Page 31: CORDIC

CORDIC PIPELINECORDIC PIPELINE

Page 32: CORDIC

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

LIMITATIONSLIMITATIONS

•In order to determine sign of the number, we need to propagate carry after addition, implementation requires extra hardware.

Page 34: CORDIC

FUTURE SCOPEFUTURE SCOPE

ASIC/FPGA design implementation of the proposed structure.

Page 35: CORDIC

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.