Large multiplier for programmable logic device
First Claim
1. For use in an integrated circuit having a plurality of specialized processing blocks, each of said specialized processing blocks having a plurality of multipliers of a first size arranged in units of multipliers, a method of performing a multiplication operation of a second size larger than said first size, said method comprising:
- decomposing said multiplication operation of said second size into a plurality of multiplication operations of different sizes, each of said different sizes being smaller than said second size;
performing a multiplication operation of a first one of said different sizes using multipliers in a first one of said units;
performing a multiplication operation of a second one of said different sizes smaller than said first one of said different sizes using a multiplier in a second one of said units;
performing a plurality of multiplication operations of a third one of said different sizes, smaller than said first one of said different sizes and larger than said second one of said different sizes, using, for each respective one of said multiplication operations of said third one of said different sizes, a respective subset of said multipliers in a third one of said units; and
adding results of said multiplication operations of said first, second and third ones of said different sizes.
0 Assignments
0 Petitions
Accused Products
Abstract
A plurality of specialized processing blocks in a programmable logic device, including multipliers and circuitry for adding results of those multipliers, can be configured as a larger multiplier by adding to the specialized processing blocks selectable circuitry for shifting multiplier results before adding. In one embodiment, this allows all but the final addition to take place in specialized processing blocks, with the final addition occurring in programmable logic. In another embodiment, additional compression and adding circuitry allows even the final addition to occur in the specialized processing blocks.
360 Citations
23 Claims
-
1. For use in an integrated circuit having a plurality of specialized processing blocks, each of said specialized processing blocks having a plurality of multipliers of a first size arranged in units of multipliers, a method of performing a multiplication operation of a second size larger than said first size, said method comprising:
-
decomposing said multiplication operation of said second size into a plurality of multiplication operations of different sizes, each of said different sizes being smaller than said second size; performing a multiplication operation of a first one of said different sizes using multipliers in a first one of said units; performing a multiplication operation of a second one of said different sizes smaller than said first one of said different sizes using a multiplier in a second one of said units; performing a plurality of multiplication operations of a third one of said different sizes, smaller than said first one of said different sizes and larger than said second one of said different sizes, using, for each respective one of said multiplication operations of said third one of said different sizes, a respective subset of said multipliers in a third one of said units; and adding results of said multiplication operations of said first, second and third ones of said different sizes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An integrated circuit having a plurality of specialized processing blocks, each of said specialized processing blocks having a plurality of multipliers of a first size arranged in units of multipliers, wherein:
-
said integrated circuit is configured to perform a multiplication operation of a second size larger than said first size by decomposition of said multiplication operation of said second size into a plurality of multiplication operations of different sizes, each of said different sizes being smaller than said second size; and said integrated circuit comprises; multipliers in a first one of said units configured to perform a multiplication operation of a first one of said different sizes, a multiplier in a second of one said units configured to perform a multiplication operation of a second one of said different sizes smaller than said first one of said different sizes; a plurality of respective subsets of said multipliers in a third one of said units configured to perform a plurality of respective multiplication operations of a third one of said different sizes, smaller than said first one of said different sizes and larger than said second one of said different sizes; and circuitry configured to add results of said multiplication operations of said first, second and third ones of said different sizes. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory data storage medium encoded with non-transitory machine-executable instructions for performing a method of programmably configuring an integrated circuit to perform a multiplication operation of a second size larger than said first size by decomposition of said multiplication operation of said second size into a plurality of multiplication operations of different sizes, each of said different sizes being smaller than said second size, wherein said integrated circuit has a plurality of specialized processing blocks, each of said specialized processing blocks having a plurality of multipliers of a first size arranged in units of multipliers, said instructions comprising:
-
instructions for configuring multipliers in a first one of said units to perform a multiplication operation of a first one of said different sizes; instructions for configuring a multiplier in a second of one said units to perform a multiplication operation of a second one of said different sizes smaller than said first one of said different sizes; instructions for configuring a plurality of respective subsets of said multipliers in a third one of said units configured to perform a plurality of respective multiplication operations of a third one of said different sizes, smaller than said first one of said different sizes and larger than said second one of said different sizes; and instructions for configuring circuitry to add results of said multiplication operations of said first, second and third ones of said different sizes. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification