International Journal of Research in Advent Technology, Vol.2, No.6, June 2014 E-ISSN: 2321-9637
Implementation of LNS Adder/Subtractor in MAC Unit Kanika Chugh1, Dinesh Kumar Verma2, Nitin Tiwari3 P.D.M College of Engineering1, 2, DKOP Labs Pvt Ltd, Noida, India3 Email id-kanika.218@gmail.com1, er.dineshverma@gmail.com2, nitin.vd025@gmail.com3 Abstract-This paper tells the technique for low power addition/subtraction of Logarithmic number system(LNS).Firstly, the impact of partitioning the look up tables (LUT) required for addition/subtraction on complexity, performance is studied. For addition and subtraction of LNS, Matlab is also used to calculate the output which is further stored in partitioned LUTs.Then the LNS adder/subtractor so obtained is implemented in binary MAC and LNS MAC and difference is compared by synthesis report so obtained. The results are obtained through Verilog code written in Xilinx (version-ISE-13.2) and is implemented in FPGA. Index Term- LNS adder/subtractor, LUT, FPGA
1.
INTRODUCTION
The logarithmic number system can be used in various ways to represent the data in efficient way which is used in various special purpose VLSI processors. The LNS exploites the property to reduce the basic arithmetic function of multiplication,division,roots and powers to binary addition,subtraction,and right and left shifts respectively.Furthermore,the LNS also provides additional benefit as it gives us freedom to choose the logarithmic base. Digital filters are commonly implemented using either fixed-point or floating-point arithmetic. The dynamic range of digital filters implemented with fixed-point arithmetic is limited. Floating-point arithmetic can increase the dynamic range at the expense of speed and accuracy. To overcome this difficulty, the use of a logarithmic number system (LNS) for digital signal processing applications was proposed .With LNS, multiplication and division operations reduce to simple addition and subtraction operations providing the ability to support high-speed arithmetic over a wide dynamic range. Another advantage of LNS is its uniform geometric error characteristics across the entire range of values, leading to a better precision than that of a floatingpoint representation having the same wordlength. It must be emphasized that this system cannot replace conventional arithmetic units ingeneral purpose computers; rather it is intended to enhance the implementation of special purpose processors for specialized applications(e.g., pattern recognition, digital image enhancement, radar processing, speech filtering, etc.).The sign/logarithm representation of a number consists of the sign of the number appended to the logarithm of the absolute value of the number (scaled to avoid negative logarithms). This system thus avoids the classic problem with logarithmic number systems; the inability to represent negative numbers.
LNS benefit come at the cost, the operation of addition and subtraction are awkward to perform in LNS with complex LUTs(look up tables) or other approximation circuitry is needed. while for shorter wordlength simple technique based on LUTs suffice are needed whereas for longer wordlength more elaborate techniques are required. Several authors have proposed solutions to reduce complexity of awkward LNS operations. Mahalingam and Ranganathan [1] improve Mitchell’s Algorithm in terms of the accuracy of the logarithmic operations, while Johansson et al. [2] use a method based on sums of bit products to implement the basic logarithmic functions. Arnold et al. [3] suggest the use of cotransformations for the reduction of the LUT. Dimitrov et al. [4] have proposed an extension of LNS in which several bases are used. In this context and to address the complicated required conversion to LNS, Muscedere et al. [5] have studied techniques for converting binary to a multidigitmultidimensional LNS by using LUT. Very recently, Ismail and Coleman [6] presented a cotransformation procedure and an improved interpolation method that reduce the size of LUT to an extent that allows their easy synthesis inlogic. Fu et al. [7] deal with LNS arithmetic optimizations on FPGAs. Arnold and Collange [8] propose complex LNS as a generalization of LNS, which represents complex values in log-polar form. 2. LNS BASICS The basic idea in LNS is to use logarithmic to represent data, since the logarithm of negative number is not real. To represent signed numbers in LNS the sign information is used as a separate bit sx and is used in combination with logarithm of magnitude of number. furthermore, the logarithm of zerois not a finite number so an additional single bit flag zx is used to denote that the number is zero.let us assume that X denote the number and x denote the logarithm 86