Вы находитесь на странице: 1из 35

CORDIC

IMPLEMENTATION OF CORDIC ALGORITHM AND SYNTHESIS OF THE CORDIC BLOCK Guided by : Anitha S. Prasad

By: Naveen Kumar .R 4VV07EC027 Renuka 4VV07EC403

Sanjay .M.J 4VV07EC042 Shamith Manohar 4VV07EC043

WHAT IS 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.

WHY CORDIC?

Easy understandability & implementation of the Cordic algorithm. Different approach for computation (Shift & Add approach). Reduced hardware and computational complexity.

HISTORY OF CORDIC

HISTORY OF CORDIC
y

In 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.

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.

TOOLS USED

TOOLS USED
CADENCE TOOLS y Cadence is the primary tool used to design our complete project.
y

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.

Cadence EDA tool


 NC

launch window

Tool box

NC launch Compiler

NC Launch Elaborator

NC Launch Loading Snapshot into Simulator

Simulation Waveform Window

SYNTHESIS FLOW

INTRODUCTION TO BASIC CORDIC ALGORITHM

CORDIC EQUATIONS
y y y

Xi+1 = Xi Yi (2-i) Yi+1 = Yi Xi (2-i) Zi+1 = Zi arctan(2-i)

ELEMENTARY STRUCTURE OF CORDIC BLOCK

There are two computing modes

y Rotation
y

mode

Calculation of phase

y Vectoring
y

mode

Calculation of magnitude

PIPELINING

WORKING OF CORDIC EQUATION

BLOCK DIAGRAM FOR THE IMPLEMENTATION OF CORDIC ALGORITHM


XIN XNEW X-MAP X-OUT

YIN

PREPROCESSING BLOCK

YNEW

EXECUTION BLOCK

Y-MAP

POSTPROCESS ING Y-OUT BLOCK

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.

EXECUTION BLOCK

POST-PROCESSING BLOCK POSTMapped 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.

SYNTHESISED TOP-MODULE

CORDIC PIPELINE

APPLICATION
To calculate various trigonometric and hyperbolic functions. y To determine magnitude and phase of a vector. y To determine DFT of a sequence. y To calculate square-root of a number.
y

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

FUTURE SCOPE
y

ASIC/FPGA design implementation of the proposed structure.

CONCLUSION
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.

Вам также может понравиться