An iterative logarithmic multiplier

  • Authors:
  • Z. Babić;A. Avramović;P. Bulić

  • Affiliations:
  • University of Banja Luka, Faculty of Electrical Engineering, Banja Luka, Bosnia and Herzegovina;University of Banja Luka, Faculty of Electrical Engineering, Banja Luka, Bosnia and Herzegovina;University of Ljubljana, Faculty of Computer and Information Science, Ljubljana, Slovenia

  • Venue:
  • Microprocessors & Microsystems
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Digital signal processing algorithms often rely heavily on a large number of multiplications, which is both time and power consuming. However, there are many practical solutions to simplify multiplication, like truncated and logarithmic multipliers. These methods consume less time and power but introduce errors. Nevertheless, they can be used in situations where a shorter time delay is more important than accuracy. In digital signal processing, these conditions are often met, especially in video compression and tracking, where integer arithmetic gives satisfactory results. This paper presents a simple and efficient multiplier with the possibility to achieve an arbitrary accuracy through an iterative procedure, prior to achieving the exact result. The multiplier is based on the same form of number representation as Mitchell's algorithm, but it uses different error correction circuits than those proposed by Mitchell. In such a way, the error correction can be done almost in parallel (actually this is achieved through pipelining) with the basic multiplication. The hardware solution involves adders and shifters, so it is not gate and power consuming. The error summary for operands ranging from 8 bits to 16 bits indicates a very low relative error percentage with two iterations only. For the hardware implementation assessment, the proposed multiplier is implemented on the Spartan 3 FPGA chip. For 16-bit operands, the time delay estimation indicates that a multiplier with two iterations can work with a clock cycle more than 150MHz, and with the maximum relative error being less than 2%.