remainder is computed by a pipelined Carry-Ripple Adders (CRA) leading
to an initial latency of
n
full-adders b efore the rst CORDIC rotation can be
performed. Nevertheless, after this initial latency, the following signs can be
obtained with a delay of only one full-adder. This leads to an overall latency
of 3
n
and 3
:
5
n
full-adders delays for rotation and vectoring mode, respec-
tively. In [10], the rotation direction for the last 2
n=
3 rotations have been
determined in parallel, while for the rst
n=
3 rotations a standard approach
has b een used. However, this scheme only works for the rotation mo de. Al-
ternative to the CORDIC implementations with constant scale factor, other
implementations use a minimally redundant radix-4 number representation
[11,12,13]. By using this number system, the number of iterations can be
reduced by a factor of two. However, the scale factor b ecomes variable and
has to b e computed every time, due to the absence of consecutive rotations.
This leads to an increase of complexity.
This pap er is organized as follows. Section 2 presents the theoretical
background for the novel CORDIC algorithm for rotation and vectoring mo de
in circular coordinates. Section 3 presents the new architecture of the algo-
rithm which leads to the fastest implementation. Section 4 concludes the
paper.
2 The Novel CORDIC Algorithm
2.1 The Rotation Mo de
In [10,14], a relationship between the rotation angle
and the directions of the
micro-rotations has b een already discovered. However, in [14], the correlation
is only mentioned for
m
= 0 (CORDIC in linear co ordinate systems), while
in [10] a correlation between the last 2
n=
3 rotation directions and the angle
remainder is described, where
n
represents the word-length.
There is, however, a global correlation between the binary representation
of
and the directions of the micro-rotations. The representation of the
directions of all micro-rotations (abbr. as
d
) can be written as
d
=
n
,
1
X
i
=0
a
i
2
,
i
=
a
0
:a
1
a
2
a
3
:::a
n
,
1
;
(5)
where
a
i
2 f
1
;
1
g
. A
one
always represents a p ositive micro-rotation (the
angle remainder is p ositive, so the value of arctan(2
,
i
) is subtracted), a
1
always represents a negative micro-rotation (the angle remainder is negative,
hence the value of arctan(2
,
i
) is added). This representation is called Oset-
Binary Coding (OBC) [15,16].
In order to convert this number into a binary number, all
1 are regarded
as 0. All digits except the Most Signicant Digit (MSD) are shifted one p osi-
tion towards left. The MSD is also shifted one position to the left. However,
its value is the inverse of
a
0
. If
a
0
is 1 then the MSB of the binary repre-
sentation is 0, if
a
0
is 0 (which corresponds to
1) then the MSB is 1. By
comparing this constructed binary representation of
d
with the input angle
a correlation can be obtained (Fig. 2a). The gure shows the correlation
from angles in the range of
,
=
2to
=
2. However, Fig. 2 (b) reveals that