Multiplier-accumulator circuitry and methods
First Claim
1. Multiplier-accumulator circuitry implemented in an integrated circuit device that includes a plurality of instances of general-purpose programmable logic elements and at least one instance of special-purpose circuitry, the multiplier-accumulator circuitry comprising:
- circuitry for forming a plurality of partial products of multiplier and multiplicand inputs;
carry-save adder circuitry for adding together the partial products and another input to produce intermediate sum and carry outputs;
final adder circuitry for adding together the intermediate sum and carry outputs to produce a final output having no more bits than the maximum number of bits required for one multiplier-multiplicand product; and
feedback circuitry for applying the final output to the carry-save adder circuitry as said another input for accumulating the final output; and
accumulator-overflow circuitry for accumulating overflow from the final adder circuitry beyond the maximum number of bits from the adding of the intermediate sum and carry outputs;
wherein;
said multiplier-accumulator circuitry, other than said accumulator-overflow circuitry, is implemented in the special-purpose circuitry; and
said accumulator-overflow circuitry is implemented in the general-purpose logic elements.
1 Assignment
0 Petitions
Accused Products
Abstract
Multiplier-accumulator circuitry includes circuitry for forming a plurality of partial products of multiplier and multiplicand inputs, carry-save adder circuitry for adding together the partial products and another input to produce intermediate sum and carry outputs, final adder circuitry for adding together the intermediate sum and carry outputs to produce a final output, and feedback circuitry for applying the final output (typically after some delay, e.g., due to registration of the final output) to the carry-save adder circuitry as said another input. The above circuitry may be implemented in so-called “hard IP” (intellectual property) of a field-programmable gate array (“FPGA”) integrated circuit device. If desired, any overflow from the accumulation performed by the above circuitry may be accumulated in “soft” accumulator-overflow circuitry that is implemented in the general-purpose programmable logic of the FPGA.
352 Citations
16 Claims
-
1. Multiplier-accumulator circuitry implemented in an integrated circuit device that includes a plurality of instances of general-purpose programmable logic elements and at least one instance of special-purpose circuitry, the multiplier-accumulator circuitry comprising:
-
circuitry for forming a plurality of partial products of multiplier and multiplicand inputs; carry-save adder circuitry for adding together the partial products and another input to produce intermediate sum and carry outputs; final adder circuitry for adding together the intermediate sum and carry outputs to produce a final output having no more bits than the maximum number of bits required for one multiplier-multiplicand product; and feedback circuitry for applying the final output to the carry-save adder circuitry as said another input for accumulating the final output; and accumulator-overflow circuitry for accumulating overflow from the final adder circuitry beyond the maximum number of bits from the adding of the intermediate sum and carry outputs;
wherein;said multiplier-accumulator circuitry, other than said accumulator-overflow circuitry, is implemented in the special-purpose circuitry; and said accumulator-overflow circuitry is implemented in the general-purpose logic elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of performing multiplier-accumulator operations comprising:
-
forming a plurality of partial products of multiplier and multiplicand inputs using multiplication circuitry, said multiplication circuitry having a maximum number of bits; adding the partial products and another input using carry-save addition circuitry to produce intermediate sum and carry outputs; adding the intermediate sum and carry outputs using further addition circuitry, to produce a final output having no more bits than the maximum number of bits required for one multiplier-multiplicand product; registering the final output; feeding what has been registered back as said another input; and accumulating overflow beyond the maximum number of bits from the adding of the intermediate sum and carry outputs;
wherein;said method, other than said accumulating, is implemented in special-purpose circuitry of a field-programmable logic array integrated circuit device; and said accumulating is implemented in general-purpose logic elements of the field-programmable logic array integrated circuit device. - View Dependent Claims (13, 14)
-
-
15. A field-programmable gate array integrated circuit device comprising:
-
a plurality of instances of general-purpose programmable logic elements; and special-purpose circuitry adapted to perform multiplier-accumulator operations and including; (a) circuitry for forming a plurality of partial products of multiplier and multiplicand inputs; (b) carry-save adder circuitry for adding together the partial products and another input to produce intermediate sum and carry outputs; (c) final adder circuitry for adding together the intermediate sum and carry outputs to produce a final output having no more bits than the maximum number required for one multiplier-multiplicand product; (d) output register circuitry for registering the final output; and (e) feedback circuitry for selectively applying an output of the output register circuitry to the carry-save adder circuitry as said another input;
the device further comprising accumulator-overflow circuitry, implemented in the logic elements, for accumulating overflow from the final adder circuitry. - View Dependent Claims (16)
-
Specification