Sine/Cosine Generator Using Pipelined CORDIC Processor: R. Ranga Teja, P. Sudhakara Reddy, IEEE, Member
Sine/Cosine Generator Using Pipelined CORDIC Processor: R. Ranga Teja, P. Sudhakara Reddy, IEEE, Member
Sine/Cosine Generator Using Pipelined CORDIC Processor: R. Ranga Teja, P. Sudhakara Reddy, IEEE, Member
4, August 2011
431
IACSIT International Journal of Engineering and Technology, Vol.3, No.4, August 2011
of addition/subtraction and shifting. So, the multiplication equations of the CORDIC algorithm for each micro iteration
terms in Givens rotation equations are removed by after rearranging givens rotation can be written as shown in
rearranging the equations (1) and (2). The single rotation is equations (3), (4) and (5).
thus decomposed into micro rotations which are realized in
terms of add/sub and shift operations. The generalized
= − , (3) such that the vector always moves closer toward required
= , + (4) angle and decrease the value of the residual angle in angle
= − , (5) accumulator. The coordinates of a vector obtained after
micro-rotations from initial position ( , ) are given by
where represents the direction of rotation, represents the equations (9), (10) and (11)
the coordinate system in which the vector is rotating = ( cos − sin ) (9)
circular( = 1), linear( = 0) and hyperbolic( = −1). = ( sin + cos ) (10)
, is non decreasing integer shift sequence, indicates the →0 (11)
radix of number system in which CORDIC is implemented
and , is the elementary rotation angle. The latter directly CORDIC can be operated in different radix, generally
depends on , through the relation (6) powers of 2. The iteration equations of the radix-2 CORDIC
algorithm in rotation mode of circular coordinate system at
, = tan √ , (6) the ( + 1) step are obtained by using = 2 in above
√
equation and are given by the equations (12),(13) and (14)
The shift sequence , depends on the coordinate system
and the radix of number system. , affects the convergence = − 2 , (12)
= 2 + , (13)
of the algorithm and n affects the accuracy of the final result.
= − (14)
refers to the mode of CORDIC in which it is used.
CORDIC can be used in two modes. One is rotation mode
and other is vectoring mode. Equation (7) gives the value of where = tan (2 ) for circular coordinate system and
in the CORDIC equations. 2 and tanh (2 ) for linear and hyperbolic coordinate
systems. refers to the direction of tracking/iteration and
( ), , given by equation (15).
= (7)
− ( ), ,
−1, < 0,
= (15)
In rotation mode, the input angle θ (8) will be decomposed 1, ℎ ,
using a finite number of elementary angles
In order to maintain a constant vector length, the obtained
= + + . . . . .+ (8) results have to be scaled by the scale factor k given by
equation (16)
where n indicates the number of micro-rotations, is the
elementary angle for iteration and is the direction of = ∏ √1 + 2 (16)
micro-rotation. In rotation mode, is the angle accumulator
initialized with the input rotation angle. The direction of This constant factor changes with radix and for radix-2
vector in every iteration must be determined to reduce the CORDIC the constant factor, k ≈ 1.65.
magnitude of the residual angle in the angle accumulator. There are number of ways to implement the CORDIC
Therefore, the direction of rotation in any iteration is processor. The ideal architecture depends upon the speed
determined using the sign of the residual angle obtained in verses area tradeoff's in the intended application. Simple
the previous iteration. Initially, the coordinates of initial among them is serial architecture. It is the direct solution for
vector are ( , ) and the micro rotations are performed the CORDIC basic equations. In serial architecture only one
432
IACSIT International Journal of Engineering and Technology, Vol.3, No.4, August 2011
basic CORDIC block is present which contains three simple = cos (17)
adder/Subtractors and two shifters with a ROM containing a = sin (18)
look up table. ROM contains the fixed angle constants for the →0 (19)
particular coordinate system in which CORDIC architecture
is implemented. This architecture performs one micro
rotation for every clock cycle. Thus, after clock cycles the IV. SIMULATION RESULTS
output is available. Since, it contains very less components This includes the simulation and synthesis of sine cosine
involved in its architecture this type of architectures are used generator implemented on the target device XILINX
in area specific applications. The serial architecture is slow as SPARTAN-3E. The sine cosine generator uses simple
it uses clock cycles for every single calculation. pipelined architecture based on CORDIC algorithm. Area
and delay reports are also included for the corresponding
target device. The CORDIC employed uses circular
co-ordinate system and is operated in rotating mode. Hence,
only phase is given as input and x, y values are given
internally in the program or hardware.
433
IACSIT International Journal of Engineering and Technology, Vol.3, No.4, August 2011
V. CONCLUSION
In this paper, we developed a sine cosine generator, a R. Ranga Teja B.Tech, Department of Electronics and
common elementary trigonometric functions using one of the Communication Engineering, Sri Kalahasteeswara
hardware efficient algorithm namely CORDIC. The sine Institute of Technology, Srikalahasti, Chittoor District,
Andhra Pradesh. He received B.Tech degree in
cosine generator is targeted for SPARTAN 3E and it requires Electronics and Communications Engineering from
11% of its total number of slices with a time delay of 6.76 ns JNTU Ananthapur University. He was born on 1991 at
in which 55% of delay is for logic and rest for routing. As the Wanaparti in Andhra Pradesh. His area of research goes
with VLSI and Digital Signal Processing.
implemented design is a pipelined one, it is more efficient
than bit serial approach and is more accurate and Dr.P.Sudhakara Reddy, Associate Professor, Department of Electronics
advantageous than bit serial architecture. and Communication Engineering, Sri Kalahasteeswara Institute of
Technology, Srikalahasti, Chittoor District, Andhra Pradesh. He received
CORDIC is not only used in computation of elementary B.Tech degree in Electronics and Communications Engineering from
functions but also used for tracking of moving targets in N.B.K.R Institute of Science and Technology, Sri Venkateswara University,
space, distance between the multiple targets, reconfigurable Tirupathi, Chittoor district ,Andhra Pradesh , M.Tech degree in Digital
Systems and Computer Electronics Electronics from JNTU Hyderabad ,
systems, channel estimation computation at OFDM based Andhra Pradesh and Doctoral degree received from Sri Venkateswara
Wireless communications, MIMO based video processing University, Tirupathi, Chittoor strict , Andhra Pradesh, India. His area of
systems, etc. low power high speed CORDIC play effective research goes with VLSI Arrays for Signal/Image/Video Processing and
role in future online computations. Communications.
434