Multidimensional Logarithmic Number System:Mathematical Operations

Mathematical Operations

To summarize, a two-dimensional logarithmic number system (2DLNS) representation provides a triple,

{si , ai , bi }, for each digit, where si is the sign bit and ai and bi the exponents of the binary and nonbinary bases, and a number, x, is approximated by Definition 84.5.

Multiplication and Division

MDLNS multiplication and division are the simplest of the arithmetic operations. The equations for multiplication and division, given a single-digit 2DLNS representation of x

Multidimensional Logarithmic Number System-0156

Eq. (84.3) and Eq. (84.4) show that single-digit 2DLNS multiplication can be implemented in hardware using two independent binary adders and simple logic for the sign correction. As we start to add digits to the representation we will face the equivalent of implementing multiplication with the addition of partial products. A 2-digit representation will produce four independent partial products that will have to be added, and since addition is an expensive operation we try to optimize this process as much as possible (we will show an optimized structure later).

Addition and Subtraction

Unfortunately, as with the classical LNS, addition and subtraction operations are not as simple as multiplication and division operations. Traditionally, addition and subtraction must be handled through a set of identities and lookup tables (LUTs). The identities are [14]

Multidimensional Logarithmic Number System-0157

The use of large LUTs, implemented through the use of ROMs, for the evaluation of addition and subtraction operations is the most straightforward approach in systems such as the LNS [4] (other techniques for evaluating the functions of Eq. (84.5) and Eq. (84.6) can be found in Refs. [7,9]). The large ROM table technique is only feasible for very small ranges of 2DLNS numbers. It is more practical, in most cases, to convert the 2DLNS numbers into binary and perform the addition and subtraction using a binary representation.

The conversions from 2DLNS to binary form will still require an LUT, but one that is much smaller than required for handling 2DLNS addition and subtraction. The LUT is used to convert the second base portion of the 2DLNS number into a binary representation. Therefore, the size of the LUT is dependent on the number of bits used to represent the second base exponent.

It should be noted that a new architecture is proposed in Ref. [22] which significantly reduces the size of the tables requires for 2DLNS addition and subtraction.

Multidigit MDLNS Arithmetic

Multidigit MDLNS arithmetic is simply an extension of the single-digit MDLNS arithmetic, and is necessary when numbers are represented by more than one MDLNS digit. When performing a compu- tation using multidigit MDLNS each digit can be treated as an independent MDLNS number and the operatio handled separately. For example, if X and Y are 2-digit MDLNS numbers such that X = x1 + x2 and Y = y1 + y2 then

Multidimensional Logarithmic Number System-0158

where xi and yi are single-digit MDLNS numbers. The independence of the arithmetic operations is very important as it naturally allows for parallel architectures.

Comments

Popular posts from this blog

SRAM:Decoder and Word-Line Decoding Circuit [10–13].

ASIC and Custom IC Cell Information Representation:GDS2

Timing Description Languages:SDF