06-09-2012, 03:18 PM
Sine/Cosine using CORDIC Algorithm
CORDIC.pdf (Size: 411.29 KB / Downloads: 432)
Introduction
CORDIC ( COordinate Rotation DIgital
Computer)
Introduced in 1959 by Jack E. Volder
Efficient to compute sin, cos cos, tan, , sinh sinh, ,
cosh cosh, , tanh
Its an Hardware Efficient Algorithm
Iterative Algorithm for Circular Rotation
No Multiplication
Delay/Hardware cost comparable to
division or square rooting.
Why CORDIC ?
How to evaluate trigonometric functions?
• Table lookup
• Polynomial approximations
• CORDIC
Compared to other approaches, CORDIC is a clear winner when :
• Hardware Multiplier is unavailable ( eg eg. microcontroller)
. • You want to save the gates required to implement
(eg eg. FPGA)
Basic Ideas
Embedding of elementary function
evaluation as a generalized rotation
operation.
Decompose rotation operation into
successive basic rotations.
Each basic rotation can be realized
with shift shift-and and-add arithmetic
operations.
Parallel Pipelined CORDIC
Parallel CORDIC can be pipelined by inserting
registers between the adders stages.
In most FPGA architectures there are already
registers present in each logic cell, so pipeline
registers has no hardware cost.
Number of stages after which pipeline register is
inserted can be modeled, considering clock
frequency of system.
When operating at greater clock period power
consumption in later stages reduces due to lesser
switching activity in each clock period.