Patent US4545028A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4545028A Expired / Lapsed US ⏱️ 0.0 years remaining

Partial product accumulation in high performance multipliers

Assignee: HP Inc
•
Filing: 1982-10-13
•
Granted: 1985-10-01
•
Expires: 2002-10-13
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A new technique for the accumulation of partial product terms in a monolithic VLSI multiplier is disclosed. The method requires fewer than a 5% increase in transistors over older techniques yet provides more than three times the performance of the prior art when used to implement a 64x64 multiplier. The accumulator is implemented with one-bit cells to facilitate the VLSI mask design and is expandable to any desired precision.

Inventors

  • 👤 Frederick A. Ware

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 23:05
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/38; G06F7/48; G06F7/52; G06F7/523; G06F7/533; G06F7/50; G06F7/505; G06F7/509

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 622 words
A circuit for accumulating partial products in a multiplier of first and second multiple-bit operands, said accumulator circuit comprising: a first block of ripple cells arranged as a first row of first ripple cells coupled to a digit of both said first and second operands for producing first local ripple signals, said first row of first ripple cells terminated by a first end ripple cell coupled to said second operand for producing a first partial product signal, a second row of second ripple cells coupled to a digit of both said first and second operands and to said first local ripple signals for producing second local ripple signals, said second row of second ripple cells terminated by a second ripple end cell coupled to said second operand for producing a second partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of both said first and second operands, the first of said at least one row of third ripple cells coupled to said second local ripple signals for producing a first set of third local ripple signals and subsequent ones of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second operand for producing a third partial product signal, and a fourth row of fourth ripple cells coupled to a digit of both said first and second operands and to the last set of third local ripple signals for producing first global ripple signals, said fourth row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second operand for producing a fourth partial product signal; and a second block of ripple cells arranged as a fifth row of fith ripple cells coupled to a digit of both said first and second operands and to the first global ripple signals of the first block of ripple cells for producing fifth local ripple signals, said fifth row of fifth ripple cells terminated by a first end ripple cell coupled to said second operand for producing a fifth partial product signal, a sixth row of second ripple cells coupled to a digit of both said first and second operands and to said fifth local ripple signals for producing sixth local ripple signals, said sixth row of second ripple cells terminated by a second ripple end cell coupled to said second operand for producing a sixth partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of both said first and second operands, the first of said at least one row of third ripple cells coupled to said sixth local ripple signals for producing a first set of seventh local ripple signals and subsequent ones of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second operand for producing a seventh partial product signal, and an eight row of fourth ripple cells coupled to a digit of both said first and second operands and to the last set of seventh local ripple signals for producing second global ripple signals, said eighth row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second operand for producing an eighth partial product signal.
Claim 2
Dependent Claim 622 words
A circuit for accumulating partial products in a multiplier of first and second multiple-bit operands, said accumulator circuit comprising: a first block of ripple cells arranged as a first row of first ripple cells coupled to a digit of both said first and second operands for producing first local ripple signals, said first row of first ripple cells terminated by a first end ripple cell coupled to said second operand for producing a first partial product signal, a second row of second ripple cells coupled to a digit of both said first and second operands and to said first local ripple signals for producing second local ripple signals, said second row of second ripple cells terminated by a second ripple end cell coupled to said second operand for producing a second partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of both said first and second operands, the first of said at least one row of third ripple cells coupled to said second local ripple signals for producing a first set of third local ripple signals and subsequent ones of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second operand for producing a third partial product signal, and a fourth row of fourth ripple cells coupled to a digit of both said first and second operands and to the last set of third local ripple signals for producing first global ripple signals, said fourth row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second operand for producing a fourth partial product signal; and a second block of ripple cells arranged as a fifth row of fith ripple cells coupled to a digit of both said first and second operands and to the first global ripple signals of the first block of ripple cells for producing fifth local ripple signals, said fifth row of fifth ripple cells terminated by a first end ripple cell coupled to said second operand for producing a fifth partial product signal, a sixth row of second ripple cells coupled to a digit of both said first and second operands and to said fifth local ripple signals for producing sixth local ripple signals, said sixth row of second ripple cells terminated by a second ripple end cell coupled to said second operand for producing a sixth partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of both said first and second operands, the first of said at least one row of third ripple cells coupled to said sixth local ripple signals for producing a first set of seventh local ripple signals and subsequent ones of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second operand for producing a seventh partial product signal, and an eight row of fourth ripple cells coupled to a digit of both said first and second operands and to the last set of seventh local ripple signals for producing second global ripple signals, said eighth row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second operand for producing an eighth partial product signal.
Claim 3
Dependent Claim 15 words
A circuit as in claim 1 wherein the first and fifth ripple cells are identical.
Claim 4
Dependent Claim 316 words
A circuit as in claim 1 further comprising a third block of ripple cells arranged as a ninth row of fifth ripple cells coupled to a digit of both said first and second operands and to the second global ripple signals of the second block of ripple cells for producing ninth local ripple signals, said ninth row of fifth ripple cells terminated by a first end ripple cell coupled to said second operand for producing a ninth partial product signal, a tenth row of second ripple cells coupled to a digit of both said first and second operands and to said ninth local ripple signals for producing tenth local ripple signals, said tenth row of second ripple cells terminated by a second ripple end cell coupled to said second operand for producing a tenth partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of both said first and second operands, the first of said at least one row of third ripple cells coupled to said tenth local ripple signals for producing a first set of eleventh local ripple signals and subsequent one of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second operand for producing an eleventh partial product signal, and a twelfth row of fourth ripple cells coupled to a digit of both said first and second operands and to the last set of eleventh local ripple signals for producing third global ripple signals, said twelfth row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second operand for producing a twelfth partial product signal.
Claim 5
Dependent Claim 15 words
A circuit as in claim 3 wherein the first and fifth ripple cells are identical.
Claim 6
Dependent Claim 57 words
A circuit as in claim 3 wherein the number of rows of ripple cells in the first block is A, the number of rows of ripple cells in the second block is B, the number of rows of ripple cells in the third block is C, and the numbers A, B and C form an arithmetic progression.
Claim 7
Dependent Claim 688 words
A circuit for accumulating partial products in a multiplier for first and second multiple-bit operands wherein said second multiple-bit operand is encoded into a set of encoded second operand digits, said accumulator circuit comprising: a first block of ripple cells arranged as a first row of first ripple cells coupled to a digit of said first operand and to one of the encoded second operand digits for producing first local ripple signals, said first row of first ripple cells terminated by a first end ripple cell coupled to said encoded second operand for producing a first partial product signal, a second row of second ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to said first local ripple signals for producing second local ripple signals, said second row of second ripple cells terminated by a second ripple end cell coupled to said second encoded operand for producing a second partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of said first operand and to one of the encoded second operand digits, the first of said at least one row of third ripple cells coupled to said second local ripple signals for producing a first set of third local ripple signals and subsequent ones of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second encoded operand for producing a third partial product signal, and a fourth row of fourth ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to the last set of third local ripple signals for producing first global ripple signals, said fourth row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second encoded operand for producing a fourth partial product signal; and a second block of ripple cells arranged as a fifth row of fifth ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to the first global ripple signals of the first block of ripple cells for producing fifth local ripple signals, said fifth row of fifth ripple cells terminated by a first end ripple cell coupled to said second encoded operand for producing a fifth partial product signal, a sixth row of second ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to said fifth local ripple signals for producing sixth local ripple signals, said sixth row of second ripple cells terminated by a second ripple end cell coupled to said second encoded operand for producing a sixth partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of said first operand and to one of the encoded second operand digits, the first of said at least one row of third ripple cells coupled to said sixth local ripple signals for producing a first set of seventh local ripple signals and subsequent ones of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second encoded operand for producing a seventh partial product signal, and an eight row of fourth ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to the last set of seventh local ripple signals for producing second global ripple signals, said eight row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second encoded operand for producing an eighth partial product signal.
Claim 8
Dependent Claim 688 words
A circuit for accumulating partial products in a multiplier for first and second multiple-bit operands wherein said second multiple-bit operand is encoded into a set of encoded second operand digits, said accumulator circuit comprising: a first block of ripple cells arranged as a first row of first ripple cells coupled to a digit of said first operand and to one of the encoded second operand digits for producing first local ripple signals, said first row of first ripple cells terminated by a first end ripple cell coupled to said encoded second operand for producing a first partial product signal, a second row of second ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to said first local ripple signals for producing second local ripple signals, said second row of second ripple cells terminated by a second ripple end cell coupled to said second encoded operand for producing a second partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of said first operand and to one of the encoded second operand digits, the first of said at least one row of third ripple cells coupled to said second local ripple signals for producing a first set of third local ripple signals and subsequent ones of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second encoded operand for producing a third partial product signal, and a fourth row of fourth ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to the last set of third local ripple signals for producing first global ripple signals, said fourth row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second encoded operand for producing a fourth partial product signal; and a second block of ripple cells arranged as a fifth row of fifth ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to the first global ripple signals of the first block of ripple cells for producing fifth local ripple signals, said fifth row of fifth ripple cells terminated by a first end ripple cell coupled to said second encoded operand for producing a fifth partial product signal, a sixth row of second ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to said fifth local ripple signals for producing sixth local ripple signals, said sixth row of second ripple cells terminated by a second ripple end cell coupled to said second encoded operand for producing a sixth partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of said first operand and to one of the encoded second operand digits, the first of said at least one row of third ripple cells coupled to said sixth local ripple signals for producing a first set of seventh local ripple signals and subsequent ones of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second encoded operand for producing a seventh partial product signal, and an eight row of fourth ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to the last set of seventh local ripple signals for producing second global ripple signals, said eight row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second encoded operand for producing an eighth partial product signal.
Claim 9
Dependent Claim 15 words
A circuit as in claim 6 wherein the first and fifth ripple cells are identical.
Claim 10
Dependent Claim 341 words
A circuit as in claim 6 further comprising a third block of ripple cells arranged as a ninth row of fifth ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to the second global ripple signals of the second block of ripple cells for producing ninth local ripple signals, said ninth row of fifth ripple cells terminated by a first end ripple cell coupled to said second encoded operand for producing a ninth partial product signal, a tenth row of second ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to said ninth local ripple signals for producing tenth local ripple signals, said tenth row of second ripple cells terminated by a second ripple end cell coupled to said second encoded operand for producing a tenth partial product signal, at least one row of third ripple cells, each row of third ripple cells coupled to a digit of said first operand and to one of the encoded second operand digits, the first of said at least one row of third ripple cells coupled to said tenth local ripple signals for producing a first set of eleventh local ripple signals and subsequent ones of the rows of third ripple cells coupled to the local ripple signals of the next proceeding row of third ripple cells for producing subsequent sets of third local ripple signals, each of said at least one row of third ripple cells terminated by a third ripple end cell coupled to the second encoded operand for producing an eleventh partial product signal, and a twelfth row of fourth ripple cells coupled to a digit of said first operand, to one of the encoded second operand digits and to the last set of eleventh local ripple signals for producing third global ripple signals, said twelfth row of fourth ripple cells terminated by a fourth ripple end cell coupled to the second encoded operand for producing a twelfth partial product signal.
Claim 11
Dependent Claim 15 words
A circuit as in claim 8 wherein the first and fifth ripple cells are identical.
Claim 12
Dependent Claim 57 words
A circuit as in claim 8 wherein the number of rows of ripple cells in the first block is A, the number of rows of ripple cells in the second block is B, the number of rows of ripple cells in the third block is C, and the numbers A, B and C form an arithmetic progression.
Claim 13
Dependent Claim 159 words
A circuit for accumulating partial products in a multiplier of first and second multiple-bit operands, said accumulator circuit comprising: a plurality of blocks of ripple cells coupled to the first and second multiple-bit operands, each of said plurality of blocks arranged as one row of first ripple cells, one row of second ripple cells coupled to the one row of first ripple cells, at least one row of third ripple cells, the first of said at least one row of ripple cells coupled to the one row of second ripple cells and subsequent ones of the rows of third ripple cells coupled to the next preceding row of third ripple cells, and one row of fourth ripple cells coupled to the last of the at least one row of third ripple cells, to provide local ripple signals between each row of ripple cells within each block and to provide global ripple signals between each of the plurality of blocks.
Claim 14
Dependent Claim 159 words
A circuit for accumulating partial products in a multiplier of first and second multiple-bit operands, said accumulator circuit comprising: a plurality of blocks of ripple cells coupled to the first and second multiple-bit operands, each of said plurality of blocks arranged as one row of first ripple cells, one row of second ripple cells coupled to the one row of first ripple cells, at least one row of third ripple cells, the first of said at least one row of ripple cells coupled to the one row of second ripple cells and subsequent ones of the rows of third ripple cells coupled to the next preceding row of third ripple cells, and one row of fourth ripple cells coupled to the last of the at least one row of third ripple cells, to provide local ripple signals between each row of ripple cells within each block and to provide global ripple signals between each of the plurality of blocks.
Claim 15
Dependent Claim 28 words
A circuit as in claim 11 wherein the number of rows of ripple cells in each of the plurality of blocks of ripple cells forms an arithmetic progression.
Claim 16
Dependent Claim 97 words
A circuit as in claim 11 further comprising: one first ripple end cell terminating each row of first ripple cells within each block for producing a first partial product signal; one second ripple end cell terminating each row of second ripple cells within each block for producing a second partial product signal; one third ripple end cell terminating each row of third ripple cells within each block for producing a third partial product signal; and one fourth ripple end cell terminating each row of fourth ripple cells within each block for producing a fourth partial product signal.

References Cited (Backward Citations)

US4153938A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1988-09-30 1989-04-01 1989-10-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1992-09-30 1993-04-01 1993-10-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1996-09-30 1997-04-01 1997-10-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag