In the last decade, CORDIC algorithm has drawn wide attention from academia and industry
for various applications such as DSP, biomedical signal processing, software defined radio, neural
networks, and MIMO systems to mention just a few. It is an iterative algorithm, requiring simple
shift and addition operations, for hardware realization of basic elementary functions. Since
CORDIC is used as a building block in various single chip solutions, the critical aspects to be
considered are high speed, low power, and low area, for achieving reasonable overall performance.
In this paper, we first classify the CORDIC algorithm based on the number system and discuss
its importance in the implementation of CORDIC algorithm. Then, we present systematic and
comprehensive taxonomy of rotational CORDIC algorithms, which are subsequently discussed
in depth. Special attention has been devoted to the higher radix and flat techniques proposed
in the literature for reducing the latency. Finally, detailed comparison of various algorithms is
presented, which can provide a first-order information to designers looking for either further
improvement of performance or selection of rotational CORDIC for a specific application.