Method for reducing memory size in logarithmic number system arithmetic units
First Claim
1. A method of computing a mathematical function of logarithmic number system (LNS) operands x and y in a computing device, the method comprising:
- populating a lookup table with values;
providing a value a from an absolute value of difference of x and y;
when performing an addition operation, accessing the lookup table a single time using the value α and
adding the lookup table output added to the largest of the input operands to produce the addition result; and
when performing a subtraction operation accessing the lookup table a plurality of times with different versions of the value α
, accumulating the lookup table outputs, and adding the largest of the input operands to the accumulated lookup table outputs to produce the subtraction result.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for performing addition/subtraction on logarithmic number system (LNS) operands x and y that uses a single lookup table. The lookup table is populated by values of ln(1+exp(−α)) where α is an absolute value of difference of x and y. To perform an addition operation, the lookup table is accessed a single time and the lookup table output added to the largest of the input operands to produce the result. To perform a subtraction operation the addition lookup table is successively addressed by left-shifted versions of α, the table outputs are accumulated, and accumulated lookup table output added to the largest of the input operands to produce the subtraction result.
31 Citations
18 Claims
-
1. A method of computing a mathematical function of logarithmic number system (LNS) operands x and y in a computing device, the method comprising:
-
populating a lookup table with values;
providing a value a from an absolute value of difference of x and y;
when performing an addition operation, accessing the lookup table a single time using the value α and
adding the lookup table output added to the largest of the input operands to produce the addition result; and
when performing a subtraction operation accessing the lookup table a plurality of times with different versions of the value α
, accumulating the lookup table outputs, and adding the largest of the input operands to the accumulated lookup table outputs to produce the subtraction result. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A math unit for performing a function on two logarithmic number system (LNS) operands x and y, the math unit comprising:
-
a component for determining a value α
by finding the absolute value of the difference of two LNS operands x and y;
an address generator coupled to receive α and
generate a plurality of address values from α
;
a lookup table comprising a plurality of entries, wherein a value of a selected entry is output in response to an address identifying the selected entry;
a first selector for selectively coupling either a or the plurality of addresses generated from a to an input of an adder; and
a second selector for selectively coupling the largest of the two LNS operands x and y to an input of the adder, wherein an output of the adder is a LNS result of a function of the two LNS operands. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A digital signal processor comprising:
-
a math unit for performing a function on a first LNS operand and a second LNS operand;
an absolute value unit within the math unit for determining a value a by finding the absolute value of the difference of the first and second LNS operands;
a lookup table comprising a plurality of entries, wherein a value of a selected entry is output from the lookup table in response to an address identifying the selected entry;
a first selector for selectively coupling either α
or the plurality of addresses generated from α
to an input of an adder; and
a second selector for selectively coupling the largest of the two LNS operands x and y to an input of the adder, wherein an output of the adder is a LNS result of a function of the first and second LNS operands.
-
Specification