DSP block for implementing large multiplier on a programmable integrated circuit device
First Claim
1. A specialized processing block for a programmable integrated circuit device having a plurality of instances of said specialized processing block, each instance of said specialized processing block comprising:
- multiplier circuitry that performs at least one multiplication and provides partial sum/carry signals for each said at least one multiplication;
a chain output for propagating partial sum/carry signals to any other of said instances of said specialized processing block;
a chain input for receiving partial sum/carry signals propagated from any other of said instances of said specialized processing block;
combining circuitry that combines said partial sum/carry signals for each said at least one multiplication and any said partial sum/carry signals propagated from any other of said instances of said specialized processing block, for propagation to said chain output; and
circuitry for programmably routing signals within said specialized processing block.
1 Assignment
0 Petitions
Accused Products
Abstract
A programmable integrated circuit device includes a plurality of specialized processing blocks. Each specialized processing block may be small enough to occupy a single row of logic blocks. The specialized processing blocks may be located adjacent one another in different logic block rows, forming a column of adjacent specialized processing blocks. Each specialized processing block includes one or more multipliers based on carry-save adders whose outputs are combined using compressors. Chain-in and chain-out connections to the compressors allow adjacent specialized processing blocks to be cascaded to form arbitrarily large multipliers. Each specialized processing block also includes a carry-propagate adder, and the carry-propagate added in the final specialized processing block of the chain provides the final result. The size of the multiplication that may be performed is limited only by the number of specialized processing blocks in the programmable integrated circuit device.
348 Citations
29 Claims
-
1. A specialized processing block for a programmable integrated circuit device having a plurality of instances of said specialized processing block, each instance of said specialized processing block comprising:
-
multiplier circuitry that performs at least one multiplication and provides partial sum/carry signals for each said at least one multiplication; a chain output for propagating partial sum/carry signals to any other of said instances of said specialized processing block; a chain input for receiving partial sum/carry signals propagated from any other of said instances of said specialized processing block; combining circuitry that combines said partial sum/carry signals for each said at least one multiplication and any said partial sum/carry signals propagated from any other of said instances of said specialized processing block, for propagation to said chain output; and circuitry for programmably routing signals within said specialized processing block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A programmable integrated circuit device comprising a plurality of specialized processing blocks, each of said specialized processing blocks comprising:
-
multiplier circuitry that performs at least one multiplication of a first size and provides partial sum/carry signals for each said at least one multiplication; a chain output for propagating partial sum/carry signals to another said specialized processing block; a chain input for receiving partial sum/carry signals propagated from another said specialized processing block; combining circuitry that combines said partial sum/carry signals for each said at least one multiplication and any said partial sum/carry signals propagated from another said specialized processing block, for propagation to said chain output; and circuitry for programmably routing signals within said specialized processing block;
wherein;a number of said specialized processing blocks are chained together to perform a multiplication larger than said first size. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A programmable integrated circuit device comprising:
-
a plurality of specialized processing blocks programmably chained together to perform a multiplication of a first size;
wherein;each said specialized processing block is programmably operable to independently perform a multiplication of a second size; and said first size is larger than said second size. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification