← Back to Patent Explorer
US5426599A Expired / Lapsed US ⏱️ 0.0 years remaining

Hardware implemented multiplier for performing multiplication of two digital data according to booth algorithm

Assignee: Mitsubishi Electric Corp
•
Filing: 1993-05-19
•
Granted: 1995-06-20
•
Expires: 2013-05-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The multiplier includes a register circuit for holding a multiplicand X, a multiplier register circuit for holding a multiplier Y, a second order Booth decoder circuit for decoding prescribed less significant bits of the multiplier Y according to the second Booth algorithm, and a third order Booth decode circuit for decoding more significant bits of the multiplier Y according to the third Booth algorithm. A tripled of the multiplicand X is produced in a 3X producing circuit in parallel with a multiplication operation utilizing the second Booth algorithm in an adder array. The output of adder array together with the output of 3X producing circuit is applied to an adder array for executing a multiplication operation according to the third order Booth algorithm. Production of an odd number multiple data of the multiplicand necessary for the third order Booth algorithm is executed in parallel with the multiplication operation according to the second order Booth algorithm, and therefore time required for producing the triple can apparently be eliminated. Thus, a multiplier capable of executing multiplication at a high speed in a hardware manner is provided.

Inventors

  • 👤 Hirohisa Machida

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 17:21
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/52; G06F7/523; G06F7/533; G06F7/5334; G06F7/5336; G06F7/5338

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 166 words
A multiplier for executing multiplication of a multiplier Y and a multiplicand X both formed of a plurality of bits according to a Booth algorithm, comprising: first decode means for decoding a prescribed number of less significant bits of said multiplier Y according to a second order Booth algorithm and for producing a first decode output; second decode means for decoding remaining more significant bits of said multiplier Y which do not overlap with said prescribed number of less significant bits according to a greater than second order Booth algorithm and for producing a second decode output; means for producing a first partial product from the first decode output received from said first decode means and said multiplicand X; means for producing a second partial product from the second decode output received from said second decode means and said multiplicand X; and means for producing a multiplication result of said multiplier Y and said multiplicand X using said first partial product and said second partial product.
Claim 2
Dependent Claim 166 words
A multiplier for executing multiplication of a multiplier Y and a multiplicand X both formed of a plurality of bits according to a Booth algorithm, comprising: first decode means for decoding a prescribed number of less significant bits of said multiplier Y according to a second order Booth algorithm and for producing a first decode output; second decode means for decoding remaining more significant bits of said multiplier Y which do not overlap with said prescribed number of less significant bits according to a greater than second order Booth algorithm and for producing a second decode output; means for producing a first partial product from the first decode output received from said first decode means and said multiplicand X; means for producing a second partial product from the second decode output received from said second decode means and said multiplicand X; and means for producing a multiplication result of said multiplier Y and said multiplicand X using said first partial product and said second partial product.
Claim 3
Dependent Claim 226 words
A multiplier for executing multiplication of a multiplier Y and a multiplicand X both formed of a plurality of bits according to a Booth algorithm, comprising: first decode means for decoding a prescribed number of less significant bits of said multiplier Y according to a second order Booth algorithm; second decode means for decoding the remaining more significant bits of said multiplier Y according to a third order Booth algorithm which do not overlap with said prescribed number of less significant bits; first partial product producing means for producing a first partial product from the output of said first decode means and said multiplicand X; second partial product producing means for producing a second partial product from the output of said second decode means and said multiplicand X, said second partial product producing means including triple producing means for producing a triple value of said multiplicand X by adding said multiplicand X with a double value of said multiplicand X; and means for producing a multiplication result of said multiplier Y and said multiplicand X using said first partial product and said second partial product, said prescribed number of less significant bits being determined according to a first time for said triple producing means to produce the triple value of said multiplicand X by adding said multiplicand X with the double value of said multiplicand X.
Claim 4
Dependent Claim 226 words
A multiplier for executing multiplication of a multiplier Y and a multiplicand X both formed of a plurality of bits according to a Booth algorithm, comprising: first decode means for decoding a prescribed number of less significant bits of said multiplier Y according to a second order Booth algorithm; second decode means for decoding the remaining more significant bits of said multiplier Y according to a third order Booth algorithm which do not overlap with said prescribed number of less significant bits; first partial product producing means for producing a first partial product from the output of said first decode means and said multiplicand X; second partial product producing means for producing a second partial product from the output of said second decode means and said multiplicand X, said second partial product producing means including triple producing means for producing a triple value of said multiplicand X by adding said multiplicand X with a double value of said multiplicand X; and means for producing a multiplication result of said multiplier Y and said multiplicand X using said first partial product and said second partial product, said prescribed number of less significant bits being determined according to a first time for said triple producing means to produce the triple value of said multiplicand X by adding said multiplicand X with the double value of said multiplicand X.
Claim 5
Dependent Claim 42 words
A multiplier according to claim 2, wherein said prescribed number of less significant bits is determined such that a second time required for producing said first partial product encompasses the first time for production of said triple value of said multiplicand X.
Claim 6
Dependent Claim 190 words
A multiplier for executing multiplication of a multiplier Y and multiplicand X according to a Booth algorithm, comprising: fixed number multiple producing means for producing first data of a fixed number multiple of said multiplicand X necessary for the Booth algorithm from said multiplicand X; input means for receiving second data of said multiplicand X and outputting the second data of said multiplicand X after the fixed number multiple is output from said fixed number multiple producing means; decode means for decoding less significant bits of said multiplier Y according to the Booth algorithm, and for decoding more significant bits of said multiplier Y which do not overlap with said less significant bits, and producing a decode output responsive thereto; selector means for producing third data of a partial product from the second data of the multiplicand X received from said input means and the first data of said fixed number multiple producing means according to the decode output of said decode means; and product producing means for producing a product of said multiplier Y and said multiplicand X by adding up the third data received from said selector means.
Claim 7
Dependent Claim 190 words
A multiplier for executing multiplication of a multiplier Y and multiplicand X according to a Booth algorithm, comprising: fixed number multiple producing means for producing first data of a fixed number multiple of said multiplicand X necessary for the Booth algorithm from said multiplicand X; input means for receiving second data of said multiplicand X and outputting the second data of said multiplicand X after the fixed number multiple is output from said fixed number multiple producing means; decode means for decoding less significant bits of said multiplier Y according to the Booth algorithm, and for decoding more significant bits of said multiplier Y which do not overlap with said less significant bits, and producing a decode output responsive thereto; selector means for producing third data of a partial product from the second data of the multiplicand X received from said input means and the first data of said fixed number multiple producing means according to the decode output of said decode means; and product producing means for producing a product of said multiplier Y and said multiplicand X by adding up the third data received from said selector means.
Claim 8
Dependent Claim 229 words
A multiplier for executing multiplication of a multiplier Y of a plurality of bits and a multiplicand X of a plurality of bits, comprising: partial product producing means for producing partial products from said multiplier Y and said multiplicand X; product producing means including an adder array for receiving and adding up the partial products received from said partial product producing means and producing a product X·Y of said multiplier Y and said multiplicand X; multiplier input means for receiving said multiplier Y and applying said multiplier Y to said partial product producing means, said multiplier Y having first less and first more significant bits, and said multiplier input means having first positions corresponding to the first less significant bits and second positions corresponding to the first more significant bits; and multiplicand input means for receiving said multiplicand X and applying the multiplicand X to said partial product producing means, said multipticand X having second less and second more significant bits, and said multiplicand input means having third positions corresponding to the second less significant bits and fourth positions corresponding to the second more significant bits, and wherein said first positions and said third positions are positioned closer to each other than said second and fourth positions of said multiplicand and multiplier input means, and wherein said first and second less significant bits do not overlap with each other.
Claim 9
Dependent Claim 229 words
A multiplier for executing multiplication of a multiplier Y of a plurality of bits and a multiplicand X of a plurality of bits, comprising: partial product producing means for producing partial products from said multiplier Y and said multiplicand X; product producing means including an adder array for receiving and adding up the partial products received from said partial product producing means and producing a product X·Y of said multiplier Y and said multiplicand X; multiplier input means for receiving said multiplier Y and applying said multiplier Y to said partial product producing means, said multiplier Y having first less and first more significant bits, and said multiplier input means having first positions corresponding to the first less significant bits and second positions corresponding to the first more significant bits; and multiplicand input means for receiving said multiplicand X and applying the multiplicand X to said partial product producing means, said multipticand X having second less and second more significant bits, and said multiplicand input means having third positions corresponding to the second less significant bits and fourth positions corresponding to the second more significant bits, and wherein said first positions and said third positions are positioned closer to each other than said second and fourth positions of said multiplicand and multiplier input means, and wherein said first and second less significant bits do not overlap with each other.
Claim 10
Dependent Claim 95 words
A multiplier as recited in claim 5, wherein said partial product producing means includes, decode means for decoding said multiplier Y according to a Booth algorithm and producing a decode output, fixed number multiple producing means for producing a fixed number multiple of said multiplicand X necessary for said Booth algorithm from said multiplicand X, and partial product producing means responsive to the decode output of said decode means for selecting one of the fixed number multiple received from said fixed number multiple producing means and said multiplicand X and producing a partial product therefrom.
Claim 11
Dependent Claim 166 words
A multiplier for executing multiplication of a multiplier Y of a plurality of bits and a multiplicand X of a plurality of bits according to a Booth algorithm, comprising: a multiplicand transmitting line for transmitting data of said multiplicand X in a parallel and having a side transmitting less significant bits of said multiplicand X; decode means provided on the side of the less significant bits of said multiplicand transmitting line for decoding less significant bits of said multiplier Y according to the Booth algorithm, and for decoding more significant bits of said multiplier Y which do not overlap with said less significant bits, and producing a decode output responsive thereto; partial product producing means for producing partial products from the decode output of said decode means and said multiplicand X according to said Booth algorithm; and product producing means for producing the product X·Y of said multiplier Y and said multiplicand X by adding up the partial products received from said partial product producing means.
Claim 12
Dependent Claim 166 words
A multiplier for executing multiplication of a multiplier Y of a plurality of bits and a multiplicand X of a plurality of bits according to a Booth algorithm, comprising: a multiplicand transmitting line for transmitting data of said multiplicand X in a parallel and having a side transmitting less significant bits of said multiplicand X; decode means provided on the side of the less significant bits of said multiplicand transmitting line for decoding less significant bits of said multiplier Y according to the Booth algorithm, and for decoding more significant bits of said multiplier Y which do not overlap with said less significant bits, and producing a decode output responsive thereto; partial product producing means for producing partial products from the decode output of said decode means and said multiplicand X according to said Booth algorithm; and product producing means for producing the product X·Y of said multiplier Y and said multiplicand X by adding up the partial products received from said partial product producing means.
Claim 13
Dependent Claim 214 words
A multiplier for executing multiplication of a multiplier Y of a plurality of first bits and a multiplicand X of a plurality of second bits according to a Booth algorithm, comprising: a multiplicand transmitting line for transmitting the second bits of said multiplicand X in parallel and having first and second sides for respectively transmitting less and more significant bits of said multiplicand X; first decode means provided on the first side of the less significant bits of said multiplicand transmitting line for decoding prescribed bits of the first bits of said multiplier Y according to the Booth algorithm and producing a first decode output; second decode means provided on the second side of the more significant bits of said multiplicand transmitting line for decoding remaining bits of said multiplier Y which do not overlap with said prescribed bits of said multiplier Y according to said Booth algorithm and producing a second decode output; partial product producing means for producing partial products according to the Booth algorithm from the first and second decode outputs of said first and second decode means and said multiplicand X; and product means for producing a product X·Y of said multiplier Y and said multiplicand X by adding up the partial products received from said partial product producing means.
Claim 14
Dependent Claim 214 words
A multiplier for executing multiplication of a multiplier Y of a plurality of first bits and a multiplicand X of a plurality of second bits according to a Booth algorithm, comprising: a multiplicand transmitting line for transmitting the second bits of said multiplicand X in parallel and having first and second sides for respectively transmitting less and more significant bits of said multiplicand X; first decode means provided on the first side of the less significant bits of said multiplicand transmitting line for decoding prescribed bits of the first bits of said multiplier Y according to the Booth algorithm and producing a first decode output; second decode means provided on the second side of the more significant bits of said multiplicand transmitting line for decoding remaining bits of said multiplier Y which do not overlap with said prescribed bits of said multiplier Y according to said Booth algorithm and producing a second decode output; partial product producing means for producing partial products according to the Booth algorithm from the first and second decode outputs of said first and second decode means and said multiplicand X; and product means for producing a product X·Y of said multiplier Y and said multiplicand X by adding up the partial products received from said partial product producing means.
Claim 15
Dependent Claim 49 words
A multiplier as recited in claim 8, wherein said first decode means decodes a prescribed number of less significant bits of said multiplier Y according to said Booth algorithm, and said second decode means decodes the remaining more significant bits of said multiplier Y according to said Booth algorithm.
Claim 16
Dependent Claim 44 words
A multiplier as recited in claim 8, wherein said first decode means decodes only the prescribed number of less significant bits of said multiplier Y according to said Booth algorithm and said second decode means decodes the remaining more significant bits of the multiplier.
Claim 17
Dependent Claim 36 words
A multiplier as recited in claim 8, further comprising data output nodes for providing data bits of said result of the multiplication and provided on the side of less significant bits of said multiplicand transmitting line.
Claim 18
Dependent Claim 78 words
A multiplier as recited in claim 8, wherein said partial product producing means includes an array of adders arranged such that a carry output of an adder is supplied to an input of an adder of one bit higher digit in a subsequent stage, and said multiplier further includes a data output line for leading out data bits of the result of multiplication extending from said array at a side of a less significant bit of said multiplicand.
Claim 19
Dependent Claim 125 words
A multiplier for executing multiplication of a multiplier Y processed by a Booth algorithm to generate prescribed bits, and a multiplicand X processed by an adder array to generate partial products, comprising: decode means for decoding first bits of said multiplier Y according to said Booth algorithm, and for decoding second bits of said multiplier Y which do not overlap with said first bits, and producing a decode result responsive thereto; means for selecting one of the partial products of said multiplicand X and the prescribed bits of the multiplier Y responsive to said decode result; and multiplication means for generating the multiplication of the multiplicand X and the multiplier Y responsive to the partial products and the prescribed bits received from said decode means.
Claim 20
Dependent Claim 125 words
A multiplier for executing multiplication of a multiplier Y processed by a Booth algorithm to generate prescribed bits, and a multiplicand X processed by an adder array to generate partial products, comprising: decode means for decoding first bits of said multiplier Y according to said Booth algorithm, and for decoding second bits of said multiplier Y which do not overlap with said first bits, and producing a decode result responsive thereto; means for selecting one of the partial products of said multiplicand X and the prescribed bits of the multiplier Y responsive to said decode result; and multiplication means for generating the multiplication of the multiplicand X and the multiplier Y responsive to the partial products and the prescribed bits received from said decode means.
Claim 21
Independent Claim 178 words
A method of multiplying a multibit binary multiplier Y and a multibit binary multiplicand X, comprising the steps of: decoding a predetermined number of bits of said multiplier Y according to a second order Booth algorithm and remaining bits of said multiplier Y according to a third order Booth algorithm where the predetermined number of bits and the remaining bits do not overlap; in parallel with said decoding step, producing a triple of said multiplicand X; in parallel with said producing a triple stem, selecting a first operation to be executed in response to the decoding of said predetermined number of bits, and producing a first partial product according to the first operation to be executed and said multiplicand X; after production of said triple step, selecting a second operation to be executed according to the decoding of said remaining bits, and producing a second partial product according the selected second operation and the multiplicand X; and adding up said first and second partial products to produce data of multiplication of said multiplier Y and said multiplicand X.
Claim 22
Independent Claim 178 words
A method of multiplying a multibit binary multiplier Y and a multibit binary multiplicand X, comprising the steps of: decoding a predetermined number of bits of said multiplier Y according to a second order Booth algorithm and remaining bits of said multiplier Y according to a third order Booth algorithm where the predetermined number of bits and the remaining bits do not overlap; in parallel with said decoding step, producing a triple of said multiplicand X; in parallel with said producing a triple stem, selecting a first operation to be executed in response to the decoding of said predetermined number of bits, and producing a first partial product according to the first operation to be executed and said multiplicand X; after production of said triple step, selecting a second operation to be executed according to the decoding of said remaining bits, and producing a second partial product according the selected second operation and the multiplicand X; and adding up said first and second partial products to produce data of multiplication of said multiplier Y and said multiplicand X.
Claim 23
Independent Claim 209 words
A method of multiplying a multibit binary multiplier Y and a multibit binary multiplicand X having less significant bits using an electronically implemented multiplier device including an adder array having first and second sides and a plurality of adders arranged in an array, comprising the steps of: supplying said multibit binary multiplicand X in parallel into said adder array; decoding a predetermined number of less significant bits of said multibit binary multiplier Y according to a first Booth algorithm and supplying a first decoded signal indicating a first operation to be executed obtained through the decoding into said adder array at the first side near a portion through which said adder array receives the less significant bits of said multibit binary multiplicand X; decoding remaining bits of said multibit binary multiplier Y which do not overlap with said predetermined number of less significant bits according to a second Booth algorithm and supplying a second decoded signal indicating a second operation to be executed obtained through the decoding into the adder array at the second side opposite to said first side; obtaining a result of multiplication of said multibit binary multiplier Y and said multibit binary multiplicand X responsive to said first and second decoded signals using said adder array.
Claim 24
Independent Claim 209 words
A method of multiplying a multibit binary multiplier Y and a multibit binary multiplicand X having less significant bits using an electronically implemented multiplier device including an adder array having first and second sides and a plurality of adders arranged in an array, comprising the steps of: supplying said multibit binary multiplicand X in parallel into said adder array; decoding a predetermined number of less significant bits of said multibit binary multiplier Y according to a first Booth algorithm and supplying a first decoded signal indicating a first operation to be executed obtained through the decoding into said adder array at the first side near a portion through which said adder array receives the less significant bits of said multibit binary multiplicand X; decoding remaining bits of said multibit binary multiplier Y which do not overlap with said predetermined number of less significant bits according to a second Booth algorithm and supplying a second decoded signal indicating a second operation to be executed obtained through the decoding into the adder array at the second side opposite to said first side; obtaining a result of multiplication of said multibit binary multiplier Y and said multibit binary multiplicand X responsive to said first and second decoded signals using said adder array.
Claim 25
Dependent Claim 48 words
A method as recited in claim 15, further comprising the step of decoding the predetermined number of less significant bits of said multibit binary multiplier and supplying a third decoded signal into said adder array at the second side, said first and third decoded signals produced in parallel.
Claim 26
Dependent Claim 35 words
A method as recited in claim 15, further comprising the step of leading out a part of the result of multiplication at said first side of said adder array to produce an external data bit.
Claim 27
Independent Claim 228 words
A method of multiplying a multibit binary multiplicand X and multibit binary multiplier Y, comprising the steps of: producing all possible partial products in a calculation according to a Booth algorithm with respect to a predetermined number of bits of said multibit binary multiplier Y and said multibit binary multiplicand X; according to the producing of said all possible partial products, producing possible intermediate sums for respective possible partial products through addition of related partial products; in parallel with the producing of all possible partial products and intermediate sums, decoding the predetermined number of less significant bits according to the Booth algorithm to generate a selection signal; in parallel with the decoding of the predetermined number of less significant bits, decoding remaining bits of said multibit binary multiplier Y which do not overlap with said predetermined number of less significant bits to produce a decode signal indicating an operation to be executed according to the Booth algorithm; in response to the selection signal, selecting an intermediate sum from said possible intermediate sums; according to the selected intermediate sum, the decode signal and the multibit binary multiplicand X, producing a final product indicating the multiplication of said multibit binary multiplier X and multiplicand X through generation of a partial product corresponding to the decode signal and the multiplicand X, and addition of the intermediate sum and the partial product.
Claim 28
Independent Claim 228 words
A method of multiplying a multibit binary multiplicand X and multibit binary multiplier Y, comprising the steps of: producing all possible partial products in a calculation according to a Booth algorithm with respect to a predetermined number of bits of said multibit binary multiplier Y and said multibit binary multiplicand X; according to the producing of said all possible partial products, producing possible intermediate sums for respective possible partial products through addition of related partial products; in parallel with the producing of all possible partial products and intermediate sums, decoding the predetermined number of less significant bits according to the Booth algorithm to generate a selection signal; in parallel with the decoding of the predetermined number of less significant bits, decoding remaining bits of said multibit binary multiplier Y which do not overlap with said predetermined number of less significant bits to produce a decode signal indicating an operation to be executed according to the Booth algorithm; in response to the selection signal, selecting an intermediate sum from said possible intermediate sums; according to the selected intermediate sum, the decode signal and the multibit binary multiplicand X, producing a final product indicating the multiplication of said multibit binary multiplier X and multiplicand X through generation of a partial product corresponding to the decode signal and the multiplicand X, and addition of the intermediate sum and the partial product.

References Cited (Backward Citations)

US5070471A Cited
US4965762A Cited
US5150322A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-06-19 1998-12-19 1999-06-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-06-19 2002-12-19 2003-06-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-06-19 2006-12-19 2007-06-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag