Nova Patents
EP0447244A2

Table lookup multiplier.

Abstract

In a digital multiplier for multiplying two multi-bit binary operands to produce a binary result by means of a lookup table containing all possible products of said operands, reduction of the total amount of memory required to store the table is obtained by segmenting one operand into a plurality of non-overlapping bit groups and constructing lookup tables for the bit groups, in which each lookup table contains products of its associated bit group and the other, non-partitioned operand. Multiplication is accomplished by generating partial products from the lookup tables, shifting the partial products to account for the relative significance of their associated bit groups, and adding the partial products to provide the resultant product.

EP0447244A2, drawing sheet 1
Sheet 1 of 23

Term

Term ended

Projected expiry passed 14 March 2011, 15.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

10 claims: 3 independent, 7 dependent

  1. 1
    A method executable with an addressable storage apparatus and a binary adder for look-up multiplication of an M-bit operand X and an L-bit operand K to produce an N-bit product Y where N=M+L, including the steps of:partitioning X into i consecutive, non-overlapping bit groups, the bit groups forming X when concatenated in a particular magnitude order in which each bit group has a respective magnitude position;generating a set of partial products for each bit group, each partial product representing the multiplication of K by a number which the bit group represents;storing the sets of partial products in the addressable storage apparatus such that each partial product of a set is stored at an address location corresponding to the number which is multiplied with K to generate the partial product;presenting X(t) for multiplication by K, X(t) being a particular value of X;obtaining i partial products from said storage apparatus in response to X(t), each partial product obtained in response to a respective bit group of X(t) and representing the product of the instantaneous value of that bit group and K;shifting the most significant bit groups in a predetermined magnitude direction with respect to the least significant bit group to form in-bit partial products;and    adding said in-bit partial products to obtain Y.
  2. 2
    A method as claimed in Claim 1, wherein the step of storing includes storing only odd multiples of K.
  3. 3
    A method as claimed in Claim 2, wherein the step of obtaining includes shifting an odd multiple in a predetermined magnitude direction to obtain even multiples of K.
  4. 4
    A lookup table multiplier for generating an N-bit number Y representing the product of an M-bit operand X and an L-bit operand K, where N=(M+L), comprising:addressable storage means for storing a plurality of partial products, each partial product representing the product of K and a number represented by a group of i consecutive bits of X, where i<M;a converter, connected to the addressable storage means for converting the partial products to N-bit partial products;and    an adder circuit connected to the converter for adding i N-bit partial products to produce Y.
  5. 5
    A lookup table multiplier as claimed in Claim 4 wherein the addressable storage means is for storing only odd multiples of K.
  6. 6
    A lookup table multiplier as claimed in Claim 4 or Claim 5 further comprising:partial products means for generating said plurality of partial products;and in which each partial product is stored in the storage means at an address location corresponding to the number by which K is multiplied to generate that partial product.
  7. 7
    A lookup table multiplier as claimed in Claim 6 further including means connected to the addressable storage means for generating even multiples of K in response to an odd multiple of K.
  8. 8
    A lookup table multiplier as claimed in Claim 6 or Claim 7, in which the partial products means comprises:a partial product generator for producing odd multiples of K, each of said odd multiples being a product of K and a multi-bit number, the multi-bit number including fewer bits than X;storage means for storing said odd multiples;shift means connected to the storage means for producing even multiples of K in response to an odd multiple, each of said even multiples being a product of K and a multi-bit number, the multi-bit number including fewer bits than X;gate means responsive to X and connected to the storage means and shift means for providing partial products, each partial product including an odd or an even multiple of K which corresponds to the product of K and a group of bits of X, said group of bits including fewer than all bits of X;and    an adder connected to the gate means for adding the partial products to produce a result which equals the product of X and K.
  9. 9
    A lookup table multiplier as claim in Claim 8, wherein the gate means includes at least two multiplexers, each multiplexer including data inputs connected to the storage means and shift means, central inputs connected to receive said group of bits of X and an output.
  10. 10
    A discrete multi-stage filter in which a stage result is produced at the jth stage of combining a prior stage result produced at a stage preceding the jth stage with a stage product, wherein one or more of the stages comprises:a lookup table multiplier as claimed in any of claims 4 to 8;an adder for adding the prior stage result with the stage product to produce a jth stage result;and    storage connected to the adder for providing the jth stage result to a stage succeeding the jth filter stage.