The Community for Technology Leaders
RSS Icon
Issue No.04 - April (2010 vol.59)
pp: 522-531
Terence K. Rodrigues , University of Texas at Austin, Austin
Earl E. Swartzlander Jr. , University of Texas at Austin, Austin
The CORDIC algorithm is used in the evaluation of a wide variety of elementary functions. It is a simple and elegant method, but it suffers from long latency. The Angle Recoding method is able to reduce the number of iterations by more than 50 percent, but its implementation in hardware requires a large increase in cycle time, to accommodate its complex angle selection function. This restricts its use to those cases where the angle of rotation is fixed and known in advance, so that the angle selection can be performed offline. This paper presents a simpler implementation of the angle selection scheme that does not require an increase in cycle time, thus allowing the Angle Recoding method to be used dynamically for arbitrary angles. The method also has the advantage that all the angle constants are found in parallel, in a single step, by testing only the initial rotation angle, without having to perform successive CORDIC iterations. This dynamic Angle Recoding method can be formulated to use “sections,” to limit the number of range comparators needed, to a reasonable value. There is an increase in the number of adaptive CORDIC iterations needed, but this problem can be mitigated by using a buffer in conjunction with the method of sections.
CORDIC algorithm, angle rotation, sine computation, cosine computation.
Terence K. Rodrigues, Earl E. Swartzlander Jr., "Adaptive CORDIC: Using Parallel Angle Recoding to Accelerate Rotations", IEEE Transactions on Computers, vol.59, no. 4, pp. 522-531, April 2010, doi:10.1109/TC.2009.190
[1] J.E. Volder, "The CORDIC Trigonometric Computing Technique," IRE Trans. Electronic Computers, vol. EC-8, pp. 330-334, 1959.
[2] J.S. Walther, "A Unified Algorithm for Elementary Functions," Proc. Spring Joint Computer Conf., vol. 38, pp. 379-385, 1971.
[3] Y.H. Hu and S. Naganathan, "An Angle Recoding Method for CORDIC Algorithm Implementation," IEEE Trans. Computers, vol. 42, no. 1, pp. 99-102, Jan. 1993.
[4] S. Wang and E.E. Swartzlander,Jr., "Critically Damped CORDIC Algorithm," Proc. the 37th Midwest Symp. Circuits and Systems, pp. 236-239, Aug. 1994.
[5] E. Antelo, J. Villalba, J.D. Bruguera, and E.L. Zapata, "High Performance Rotation Architectures Based on the Radix-4 CORDIC Algorithm," IEEE Trans. Computers, vol. 46, no. 8, pp. 855-870, Aug. 1997.
[6] C. Li and S.G. Chen, "A Radix-4 Redundant CORDIC Algorithm with Fast on-Line Variable Scale Factor Compensation," Proc. Int'l Symp. Circuits and Systems, pp. 639-642, June 1997.
[7] J. Duprat and J. Muller, "The CORDIC Algorithm: New Results for Fast VLSI Implementation," IEEE Trans. Computers, vol. 42, no. 2, pp. 168-178, Feb. 1993.
[8] D.S. Phatak, "Double Step Branching CORDIC: A New Algorithm for Fast Sine and Cosine Generation," IEEE Trans. Computers, vol. 47, no. 5, pp. 587-602, May 1998.
[9] S. Wang, V. Piuri, and E.E. Swartzlander,Jr., "Hybrid CORDIC Algorithms," IEEE Trans. Computers, vol. 46, no. 11, pp. 1202-1207, Nov. 1997.
[10] D. Timmermann, H. Hahn, and B.J. Hosticka, "Low Latency Time CORDIC Algorithms," IEEE Trans. Computers, vol. 41, no. 8, pp. 1010-1015, Aug. 1992.
[11] S. Wang, V. Piuri, and E.E. Swartzlander,Jr., "A Unified View of CORDIC Processor Design," Proc. Midwest Symp. Circuits and Systems, 1996.
[12] J.A. Arbaugh, "Table Look-Up CORDIC: Effective Rotations Through Angle Partitioning," PhD dissertation, Univ. of Texas at Austin, 2004.
[13] T.-B. Juang, S.-F. Hsiao, M.-Y. Tsai, "Para-CORDIC: Parallel CORDIC Rotation Algorithm," IEEE Trans. Circuits and Systems, vol. 51, no. 8, pp. 1515-1524, Aug. 2004.
[14] M. Kuhlmann and K.K. Parhi, "P-CORDIC: A Precomputation Based Rotation CORDIC Algorithm," EURASIP J. Appl. Signal Processing, vol. 2002, pp. 936-943, 2002.
[15] J. Villalba, J.A. Hidalgo, E.L. Zapata, E. Antelo, and J.D. Bruguera, "CORDIC Architectures with Parallel Compensation of the Scale Factor," IEEE Int'l Conf. Application-Specific Array Processors (ASAP '95), pp. 258-269, July 1995.
17 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool