The CORDIC (coordinate rotation digital computer) algorithm is an iterative technique that can be used to compute many arithmetic functions using mainly shifts and additions making it ideal for FPGA implementation. In the early 1990s, Yu Hen Hu developed an equation for the overall quantisation error (OQE) experienced by the CORDIC algorithm when computing a vector magnitude. This equation could be used to find the most efficient architecture that would give a desired level of accuracy thus avoiding a trial and error approach. In this paper, we note that in fact the OQE overestimates the error in many cases, thus yielding inefficient architectures. Hence, this paper presents an updated equation for the OQE which is more accurate in predicting the error. To illustrate the improved accuracy of the new OQE expression, comparisons are made between CORDIC systems found using both versions of the OQE algorithm and Direct systems computing a vector magnitude. This comparison is of interest as it shows that CORDIC systems based on the new OQE expression use considerably fewer FPGA resources than CORDIC systems found using the original algorithm or equivalent direct designs. Given the widespread use of CORDIC in FPGA designs, particularly in DSP, this is significant.
- vector magnitude