This Article 
 Bibliographic References 
 Add to: 
The CORDIC Algorithm: New Results for Fast VLSI Implementation
February 1993 (vol. 42 no. 2)
pp. 168-178

After a brief survey of the CORDIC algorithm, some new results that allow fast and easy signed-digit implementation of CORDIC, without modifying the basic iteration step are given. A slight modification would make it possible to use a carry-save representation of numbers, instead of a signed-digit one. The method, called the branching CORDIC method, consists of performing in parallel two classic CORDIC rotations. It gives a constant normalization factor. An online implementation of the algorithm is proposed with an online delay equal to 5 for the sine and cosine functions.

[1] H. M. Ahmed, J. -M. Delosme, and M. Morf, "Highly concurrent computing structures for matrix arithmetic and signal processing,"IEEE Comput. Mag., Jan. 1982.
[2] J. R. Cavallaro and F. T. Luk, "CORDIC arithmetic for a SVD processor," inProc. 8th Symp. Comput. Arithmet., Como, Italy, May 1987.
[3] D. Cochran, "Algorithms and accuracy in the HP35,"Hewlett Packard J., pp. 10-11, June 1972.
[4] M. Cosnardet al., "The FELIN arithmetic coprocessor chip," inProc. 8th Symp. Comput. Arithmet., ARITH8, Como, Italy, May 1987, pp. 107-112.
[5] E. Deprettere, P. Dewilde, and R. Udo, "Pipelined CORDIC architectures for fast VLSI filtering and array processing," inProc. ICCD'84, pp. 41.A.6.1-.A.6.4.
[6] A. M. Despain, "Fourier transform computers using CORDIC iterations,"IEEE Trans. Comput., May 1984.
[7] M. D. Ercegovac and T. Lang, "On-the-fly conversion of redundant into conventional representations,"IEEE Trans. Comput., vol. C-36, no. 7, pp. 895-897, July 1987.
[8] M. D. Ercegovac and T. Lang, "Implementation of fast angle calculation and rotation using online Cordic," inProc. ISCAS'88, pp. 2703-2706.
[9] M. D. Ercegovac and T. Lang, "Redundant and on-line CORDIC: Application to matrix triangularization and SVD,"IEEE Trans. Comput., vol. 39, no. 6, pp. 725-740, June 1990.
[10] M.D. Ercegovac, "On line arithmetic: An overview," inProc. SPIE Conf. Real Time Signal Processing, San-Diego, CA, 1984, pp. 667-680.
[11] A. Guyot, B. Hochet, C. Mauras, J. M. Muller, and Y. Robert, "SCALA: une cellule systolique programmable pour l'algèbre linéaire et le traitement du signal," inProc. 2nd Symp. C3, Angoulême, France, May, 1987 (in French).
[12] H. Lin and H. J. Sips, "On-line CORDIC algorithms,"IEEE Trans. Comput., vol. 39, no. 8, Aug. 1990.
[13] J. M. Muller, "Discrete basis and computation of elementary functions,"IEEE Trans. Comput., vol. C-34, no. 9, pp. 857-862, Sept. 1985.
[14] N. Takagi, T. Asada, and S. Yajima, "A hardware algorithm for computing sine and cosine using redundant binary representation,"Trans. IECE Japan, vol. J69-D, no. 6, pp. 841-847, June 1986 (in Japanese), English translation is available inSyst. and Comput. in Japan, vol. 18, no. 8, pp. 1-9, Aug. 1987.
[15] N. Takagi, T. Asada, and S. Yajima, "Redundant CORDIC methods with a constant scale factor,"IEEE Trans. Comput., vol. 40, no. 9, pp. 989-995, Sept. 1991.
[16] J. Volder, "The CORDIC computing technique,"IRE Trans. Comput., Sept. 1959.
[17] J. Walther, "A unified algorithm for elementary functions," inJoint Comput. Conf. Proc., vol. 38, 1971.

Index Terms:
sign functions; CORDIC algorithm; fast VLSI implementation; signed-digit implementation; carry-save representation; branching CORDIC method; constant normalization factor; online delay; cosine functions; digital arithmetic; signal processing; VLSI.
J. Duprat, J.-M. Muller, "The CORDIC Algorithm: New Results for Fast VLSI Implementation," IEEE Transactions on Computers, vol. 42, no. 2, pp. 168-178, Feb. 1993, doi:10.1109/12.204786
Usage of this product signifies your acceptance of the Terms of Use.