Journal of VLSI Signal Processing 40, 109–123, 2005 c 2005 Springer Science + Business Media, Inc. Manufactured in The Netherlands. High-Radix Logarithm with Selection by Rounding: Algorithm and Implementation J.-A. PI ˜ NEIRO Department of Electronic and Computer Engineering, University of Santiago de Compostela, Spain M.D. ERCEGOVAC Computer Science Department, University of California, Los Angeles (UCLA), USA J.D. BRUGUERA Department of Electronic and Computer Engineering, University of Santiago de Compostela, Spain Received November 15, 2002; Revised November 11, 2003; Accepted November 13, 2003 Abstract. A high-radix digit-recurrence algorithm for the computation of the logarithm, and an analysis of the tradeoffs between area and speed for its implementation, are presented in this paper. Selection by rounding is used in iterations j ≥ 2, and by table look-up in the first iteration. A sequential architecture is proposed, and estimates of the execution time and hardware requirements are obtained for n = 16, 24, 32, 53 and 64 bits of precision and for radix values from r = 8 to r = 1024. These estimates are obtained according to an approximate model for the delay and area of the main logic blocks. We show that the most efficient implementations are obtained for radices ranging from r = 32 to r = 256, reducing the execution time by half with respect to a radix-4 implementation with redundant arithmetic. Keywords: logarithm, digit-recurrence, high-radix, selection by rounding, computer arithmetic 1. Introduction Logarithms belong to a type of mathematical func- tions known as elementary functions, and are important for a wide range of applications such as engineering, physics, computational chemistry, logarithmic number systems (LNS), or signal processing [1, 2]. Other el- ementary functions are square root, reciprocal square root, exponentials and trigonometric functions, all of them employed in scientific computations, DSP and 3D-graphics applications [3–5]. Software routines have been used to evaluate el- ementary functions with techniques such as polyno- mial and rational approximations [6–8] and contin- ued fraction expansion [9]. However, although these routines provide very accurate results, they are of- ten too slow for numerically intensive and real-time applications. Hardware-based methods have been developed as an alternative to the software routines, providing high-speed solutions implemented in dedicated hardware. Low-degree polynomial approximations combined with table look-up [10, 11], functional iteration methods [4, 12, 13] and digit-recurrence algorithms [14, 15] are examples of these methods. Digit-recurrence algorithms are an interesting alter- native due to their low area requirements, especially for high-precision computations, when compared with table-based and functional iteration methods. Their main drawback is a linear convergence of one radix-r digit per step, resulting in long execution times for small radices and high precision. Two factors