This Article 
 Bibliographic References 
 Add to: 
Numerical Accuracy and Hardware Tradeoffs for CORDIC Arithmetic for Special-Purpose Processors
July 1993 (vol. 42 no. 7)
pp. 769-779

The coordinate rotation digital computer (CORDIC) algorithm is used in numerous special-purpose systems for real-time signal processing applications. An analysis of fixed-point CORDIC in the Y-reduction mode, which allows computation of the inverse tangent function, shows that unnormalized input values can result in large numerical errors. The authors describe two approaches for tackling the numerical accuracy problem. The first approach builds on a fixed-point CORDIC unit and eliminates the problem by including additional hardware for normalization. A method for integrating the normalization operation with the CORDIC iterations for efficient implementation in O(n/sup 1.5/) hardware is provided. The second solution to the accuracy problem is to use a floating-point CORDIC unit but reduce the implementation complexity by using a hybrid architecture. Arguments to support the use of such an architecture in certain special-purpose arrays are presented.

[1] H. M. Ahmed, "Signal processing algorithms and architectures," Ph.D. dissertation, Dep. Elec. Eng., Stanford Univ., 1982.
[2] H. M. Ahmed, M. Morf, D. Lee, and P. Ang, "A VLSI speech analysis chip set based on square-root normalized ladder forms," inProc. IEEE Int. Conf. Acoustics, Speech, Signal Processing, 1981, pp. 648-653.
[3] R. P. Brent, F. T. Luk, and C. F. Van Loan, "Computation of the singular value decomposition using mesh-connected processors,"J. VLSI Comput. Syst., vol. 1, no. 3, pp. 242-270, 1985.
[4] J. R. Cavallaro and F. T. Luk, "CORDIC arithmetic for an SVD processor,"J. Parallel Distributed Comput., vol. 5, no. 3, pp. 271-290, June 1988.
[5] J. R. Cavallaro and F. T. Luk, "Floating-point CORDIC for matrix computations," inProc. IEEE Int. Conf. Computer Design, Oct. 1988, pp. 40-42.
[6] A. A. J. de Lange and E. F. Deprettere, "Design and implementation of a floating-point quasi-systolic general purpose CORDIC rotator for high-rate parallel data and signal processing," inProc. IEEE 10th Symp. Computer Arithmetic, 1991, pp. 272-281.
[7] J. M. Delosme, "VLSI implementation of rotations in pseudo-Euclidean spaces," inProc. IEEE Int. Conf. Acoust., Speech, Signal Processing, vol. 2, 1983, pp. 927-930.
[8] E. F. Deprettere, P. Dewilde, and R. Udo, "Pipelined CORDIC architectures for fast VLSI filtering and array processing," inProc. Int. Conf. Acoust. Speech. Signal Processing (ICASSP 84), 1984, pp. 41. A.6.1.-41.A.6.5.
[9] A. M. Despain, "Fourier transform computers using CORDIC iterations,"IEEE Trans. Comput., vol. C-23, no. 10, pp. 993-1001, Oct. 1974.
[10] R. A. Duryea and C. Pottle, "Finite precision arithmetic units in Jacobi SVD architectures," School of Elec. Eng., Cornell Univ., Ithaca, NY, Tech. Rep. EE-CEG-87-11, Mar. 1987.
[11] 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.
[12] G. L. Haviland and A. A. Tuszynski, "A CORDIC arithmetic processor chip,"IEEE Trans. Comput., vol. C-29, no. 2, pp. 68-79, Feb. 1980.
[13] N. D. Hemkumar, K. Kota, and J. R. Cavallaro, "CAPE--VLSI implementation of a systolic processor array: Architecture, design and testing," inProc. 9th IEEE Biennial University/Government/Industry Microelectronics Symp., June 1991, pp. 64-69.
[14] S.-F. Hsiao and J.-M. Delosme, "The CORDIC Householder algorithm," inProc. IEEE 10th Symp. Computer Arithmetic, 1991, pp. 256-263.
[15] X. Hu, R. G. Harber, and S. C. Bass, "Expanding the range of the CORDIC algorithm,"IEEE Trans. Comput., vol. 40, pp. 13-21, Jan. 1991.
[16] Y. H. Hu, "The quantization effects of the CORDIC algorithm,"IEEE Trans. Signal Processing, pp. 834-844, Apr. 1992.
[17] S. L. Johnsson and V. Krishnaswamy, "Floating-point CORDIC," Dep. Comput. Sci., Yale Univ., New Haven, CT, Tech. Rep. YALEU/DCS/RR- 473, Apr. 1986.
[18] J. J. Modi and J. D. Pryce, "Efficient implementation of Jacobi's diagonalization method on the DAP,"Numer. Math., vol. 46, pp. 443-454, 1985.
[19] J. M. Muller, "Discrete basis and computation of elementary functions,"IEEE Trans. Comput., vol. C-34, no. 9, pp. 857-862, Sept. 1985.
[20] T. Y. Sung, Y. H. Hu, and H. J. Yu, "Doubly pipelined CORDIC array for digital signal processing algorithms," inProc. IEEE Int. Conf. Acoustics, Speech, and Signal Processing, vol. 2, Apr. 1986, pp. 1169-1172.
[21] N. Takagi, T. Asada, and S. Yajima, "Redundant CORDIC methods with a constant scale factor for sine and cosine computation,"IEEE Trans. Comput., vol. 40, no. 9, pp. 989-995, Sept. 1991.
[22] J. Volder, "The CORDIC trigonometric computing technique,"IRE Trans. Electron. Comput., vol. EC-8, no. 3, pp. 330-334, Sept. 1959.
[23] J. S. Walther, "A unified algorithm for elementary functions," inProc. AFIPS Spring Joint Computer Conf., 1971, pp. 379-385.
[24] B. Yang and J. F. Böhme, "Reducing the computations of the SVD array given by Brent and Luk,"SIAM J. Matrix Anal. Appl., vol. 12, no. 4, pp. 713-725, Oct. 1991.

Index Terms:
numerical accuracy; hardware tradeoffs; CORDIC arithmetic; special-purpose processors; coordinate rotation digital computer; real-time signal processing; Y-reduction mode; inverse tangent function; floating-point CORDIC; implementation complexity; hybrid architecture; special-purpose arrays; digital arithmetic; signal processing.
K. Kota, J.R. Cavallaro, "Numerical Accuracy and Hardware Tradeoffs for CORDIC Arithmetic for Special-Purpose Processors," IEEE Transactions on Computers, vol. 42, no. 7, pp. 769-779, July 1993, doi:10.1109/12.237718
Usage of this product signifies your acceptance of the Terms of Use.