Issue No.04 - April (2010 vol.59)
Terence K. Rodrigues , University of Texas at Austin, Austin
Earl E. Swartzlander Jr. , University of Texas at Austin, Austin
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2009.190
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