Iterative methods for logarithmic subtraction

The logarithmic number system (LNS) offers much better performance (in terms of power, speed and area) than floating point for multiplication, division, powers and roots. Moderate-precision addition (of like signs) in LNS generally can be done with table lookup followed by interpolation, whose implementation can be as, or more, efficient than the equivalent precision floating-point adder. The problem with LNS is the size of the table needed for subtraction. We consider iterative methods for logarithmic subtraction. The basis for the novel methods proposed here is that the subtraction logarithm is the inverse of the addition logarithm. Although the mathematics for this kind of logarithmic subtraction were first described during the time of Gauss, no modern designer has implemented an algorithm, like the one proposed here, which performs a binary search followed by an inverse interpolation. Additionally, we propose a novel initialization step for the binary search, which doubles the speed of the algorithm compared to a name, implementation. Combining the proposed method with other iterative methods may reduce the average execution time further. Synthesis results indicate the proposed methods are feasible for FPGA implementation.

[1]  Vassilis Paliouras,et al.  Low-power properties of the logarithmic number system , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[2]  Mark G. Arnold,et al.  Initializing RAM-based logarithmic processors , 1992, J. VLSI Signal Process..

[3]  John N. Coleman,et al.  Matrix engine for signal processing applications using the logarithmic number system , 2002, Proceedings IEEE International Conference on Application- Specific Systems, Architectures, and Processors.

[4]  Mark G. Arnold,et al.  Unrestricted faithful rounding is good enough for some LNS applications , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[5]  Jirí Kadlec,et al.  Arithmetic on the European Logarithmic Microprocessor , 2000, IEEE Trans. Computers.

[6]  Earl E. Swartzlander,et al.  The Sign/Logarithm Number System , 1975, IEEE Transactions on Computers.

[7]  Mark G. Arnold,et al.  A single-multiplier quadratic interpolator for LNS arithmetic , 2001, Proceedings 2001 IEEE International Conference on Computer Design: VLSI in Computers and Processors. ICCD 2001.

[8]  Rui-Lin Chen,et al.  Pipelined Computation of Very Large Word-Length LNS Addition/Subtraction with Polynomial Hardware Cost , 2000, IEEE Trans. Computers.

[9]  Mark G. Arnold,et al.  Arithmetic Co-Transformations in the Real and Complex Logarithmic Number Systems , 1998, IEEE Trans. Computers.

[10]  David Lewis 114 MFLOPS logarithmic number system arithmetic unit for DSP applications , 1995 .

[11]  Mark G. Arnold,et al.  Redundant Logarithmic Arithmetic , 1990, IEEE Trans. Computers.

[12]  David Lewis,et al.  A 30-b integrated logarithmic number system processor , 1991 .

[13]  Mark G. Arnold,et al.  Design of a faithful LNS interpolator , 2001, Proceedings Euromicro Symposium on Digital Systems Design.

[14]  Samuel C. Lee,et al.  FOCUS microcomputer number system , 1979, CACM.

[15]  Vassilis Paliouras,et al.  A novel algorithm for accurate logarithmic number system subtraction , 1996, 1996 IEEE International Symposium on Circuits and Systems. Circuits and Systems Connecting the World. ISCAS 96.

[16]  Vassilis Paliouras,et al.  A novel algorithm for multi-operand logarithmic number system addition and subtraction using polynomial approximation , 1995, Proceedings of ISCAS'95 - International Symposium on Circuits and Systems.

[17]  N. Kingsbury,et al.  Digital filtering using logarithmic arithmetic , 1971 .

[18]  John N. Mitchell,et al.  Computer Multiplication and Division Using Binary Logarithms , 1962, IRE Trans. Electron. Comput..