Main Article Content

Aidin Shiri


Mathematical functions are generally classified into two groups. Functions such as logarithmic or trigonometric functions are called elementary functions, and functions such as sin(1/x), which are a combination of two or more elementary functions, are called combinatorial functions. Mathematical functions have many applications in digital devices, such as digital signal processing, image processing, and telecommunication systems. Although software computation of mathematical functions in digital systems has flexibility and convenience advantage, sometimes it does not keep up with the real-time requirements of modern digital systems. To solve this problem, various algorithms have been proposed to implement mathematical functions on hardware. Hardware implementations tend to have higher throughput compared to software implementations, but usually, they suffer in terms of accuracy. In this paper, we propose a novel method for calculating the elementary trigonometric functions using the CORDIC algorithm based on the dynamic microrotation generation technique. We implement our design on Spartan-6 FPGA. Results show our method outperforms similar works in terms of throughput and power consumption while exploiting less hardware.

Article Details


Hardware Implementation, FPGA , CORDIC Algorithm, Trigonometric Functions

[1] R.P. Paul, B. Shimano. Kinematic control equations for simple manipulators. 1978 IEEE Conference on Decision and Control including the 17th Symposium on Adaptive Processes. IEEE1979. pp. 1398-406.
[2] T. Lang, E. Antelo. High-throughput CORDIC-based geometry operations for 3D computer graphics. IEEE Transactions on Computers. 54 (2005) 347-61.
[3] A. Shiri, G.K. Khosroshahi. An FPGA Implementation of Singular Value Decomposition. 2019 27th Iranian Conference on Electrical Engineering (ICEE). IEEE2019. pp. 416-22.
[4] Y.H. Hu. CORDIC-based VLSI architectures for digital signal processing. IEEE signal processing Magazine. 9 (1992) 16-35.
[5] C.-S. Peng, Y.-S. Chuang, K.-A. Wen. CORDIC-based architecture with channel state information for OFDM baseband receiver. IEEE Transactions on Consumer Electronics. 51 (2005) 403-12.
[6] S.-F. Hsiao, Y.H. Hu, T.-B. Juang, C.-H. Lee. Efficient VLSI implementations of fast multiplierless approximated DCT using parameterized hardware modules for silicon intellectual property design. IEEE Transactions on Circuits and Systems I: Regular Papers. 52 (2005) 1568-79.
[7] M. Terré, M. Bellanger. A systolic QRD-based algorithm for adaptive filtering and its implementation. 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing. IEEE1993. pp. 373-6.
[8] J. Harrison, T. Kubaska, S. Story. The computation of transcendental functions on the IA-64 architecture. Intel Technology Journal. Citeseer1999.
[9] M.D. Ercegovac, T. Lang. Digital arithmetic. Elsevier2004.
[10] J.H. Mathews, K.D. Fink. Numerical methods using MATLAB. Pearson prentice hall Upper Saddle River, NJ2004.
[11] J. Volder. The CORDIC computing technique. Papers presented at the the March 3-5, 1959, western joint computer conference1959. pp. 257-61.
[12] E. Antelo, J. Villalba, J.D. Bruguera, E.L. Zapata. High performance rotation architectures based on the radix-4 CORDIC algorithm. IEEE Transactions on Computers. 46 (1997) 855-70.
[13] E. Deprettere, P. Dewilde, R. Udo. Pipelined CORDIC architectures for fast VLSI filtering and array processing. ICASSP'84 IEEE International Conference on Acoustics, Speech, and Signal Processing. IEEE1984. pp. 250-3.
[14] Y.H. Hu, S. Naganathan. An angle recoding method for CORDIC algorithm implementation. IEEE Transactions on Computers. 42 (1993) 99-102.
[15] S. Aggarwal, P.K. Meher, K. Khare. Area-time efficient scaling-free CORDIC using generalized micro-rotation selection. IEEE Transactions on Very Large Scale Integration (VLSI) Systems. 20 (2011) 1542-6.
[16] P.K. Meher, S.Y. Park. CORDIC designs for fixed angle of rotation. IEEE transactions on very large scale integration (VLSI) systems. 21 (2012) 217-28.
[17] S. Wang, V. Piuri, E. Wartzlander. Hybrid CORDIC algorithms. IEEE Transactions on Computers. 46 (1997) 1202-7.
[18] S. Aggarwal, P.K. Meher, K. Khare. Scale-free hyperbolic CORDIC processor and its application to waveform generation. IEEE Transactions on Circuits and Systems I: Regular Papers. 60 (2012) 314-26.
[19] R. Shukla, K.C. Ray. Low latency hybrid CORDIC algorithm. IEEE Transactions on Computers. 63 (2013) 3066-78.
[20] L. Chen, J. Han, W. Liu, F. Lombardi. Algorithm and design of a fully parallel approximate coordinate rotation digital computer (CORDIC). IEEE Transactions on Multi-Scale Computing Systems. 3 (2017) 139-51.
[21] Y. Luo, Y. Wang, Y. Ha, Z. Wang, S. Chen, H. Pan. Generalized hyperbolic CORDIC and its logarithmic and exponential computation with arbitrary fixed base. IEEE Transactions on Very Large Scale Integration (VLSI) Systems. 27 (2019) 2156-69.
[22] Y. Luo, Y. Wang, H. Sun, Y. Zha, Z. Wang, H. Pan. CORDIC-based architecture for computing Nth root and its implementation. IEEE Transactions on Circuits and Systems I: Regular Papers. 65 (2018) 4183-95.
[23] H. Mahdavi, S. Timarchi. Improving Architectures of Binary Signed-Digit CORDIC With Generic/Specific Initial Angles. IEEE Transactions on Circuits and Systems I: Regular Papers. 67 (2020) 2297-304.
[24] T.K. Rodrigues, E.E. Swartzlander. Adaptive CORDIC: Using parallel angle recoding to accelerate rotations. IEEE Transactions on Computers. 59 (2010) 522-31.
Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

The copyright in the text of individual articles (including research articles, opinion articles, book reviews, conference proceedings and abstracts) is the property of their respective authors, subject to a general license granted to Mapta Publishing Group and a Creative Commons CC-BY licence granted to all others, as specified below. The compilation of all content on this site, as well as the design and look and feel of this website are the exclusive property of Mapta Publishing Group.

All contributions to Mapta Publishig Group may be copied and re-posted or re-published in accordance with the Creative Commons licence referred to below.

Articles and other user-contributed materials may be downloaded and reproduced subject to any copyright or other notices.

As an author or contributor you grant permission to others to reproduce your articles, including any graphics and third-party materials supplied by you, in accordance with the Mapta Publishing GroupTerms and Conditions and subject to any copyright notices which you include in connection with such materials. The licence granted to third parties is a Creative Common Attribution ("CC BY") licence. The current version is CC-BY, version 4.0 (, and the licence will automatically be updated as and when updated by the Creative Commons organisation.

How to Cite

Shiri, A. (2021). A Novel Implementation of CORDIC Algorithm Based on Dynamic Microrotation Generation. Mapta Journal of Electrical and Computer Engineering (MJECE), 3(1), 17–27.