Double-clocked specialized processing block in an integrated circuit device
First Claim
1. A block of circuitry, within an integrated circuit device clocked by a device clock signal, said block of circuitry being clocked by a block clock signal and comprising:
- block inputs for accepting data, input from outside said block of circuitry, on which arithmetic operations are to be performed;
arithmetic operations circuitry having arithmetic inputs coupled to said block inputs, for performing said arithmetic operations on said data; and
logical operations circuitry for operating on outputs of said arithmetic operations circuitry;
wherein;
said arithmetic operations circuitry is configured to operate substantially identically on substantially all clock pulses of said block clock signal; and
said logic operations circuitry is configured to operate in a first mode on a first set of clock pulses of said block clock signal, and to operate in a second mode on a second set of clock pulses of said block clock signal interleaved with said first set of clock pulses.
1 Assignment
0 Petitions
Accused Products
Abstract
Circuitry for increasing the precision of multipliers by a desired factor while limiting the increase in arithmetic complexity of the multiplier to that factor can be provided in a fixed logic device, or can be configured into a programmable integrated circuit device such as a programmable logic device (PLD). The smaller increase in arithmetic complexity, so that the increase is proportional to the increase in precision, rather than to the square of the increase in precision, is achieved by using specialized processing block components differently on alternating clock cycles. For example, to implement double precision, the same multiplier components are used in each of two clock cycles, but some specialized processing block internal structures (e.g., shifters and adders) are used differently in the two cycles, so that over the two cycles, a larger multiplication may be calculated from smaller partial products.
353 Citations
33 Claims
-
1. A block of circuitry, within an integrated circuit device clocked by a device clock signal, said block of circuitry being clocked by a block clock signal and comprising:
-
block inputs for accepting data, input from outside said block of circuitry, on which arithmetic operations are to be performed; arithmetic operations circuitry having arithmetic inputs coupled to said block inputs, for performing said arithmetic operations on said data; and logical operations circuitry for operating on outputs of said arithmetic operations circuitry;
wherein;said arithmetic operations circuitry is configured to operate substantially identically on substantially all clock pulses of said block clock signal; and said logic operations circuitry is configured to operate in a first mode on a first set of clock pulses of said block clock signal, and to operate in a second mode on a second set of clock pulses of said block clock signal interleaved with said first set of clock pulses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of configuring a programmable integrated circuit device, having at least one specialized processing block, each said specialized processing block being clocked by a respective block clock signal and said integrated circuit device being clocked by a device clock signal, each said specialized processing block having block inputs for accepting data, on which arithmetic operations are to be performed, input from outside said at least one specialized processing block, arithmetic operations circuitry having arithmetic inputs connected to said block inputs for performing said arithmetic operations on said data, and logical operations circuitry for operating on outputs of said arithmetic operations circuitry, said method comprising:
-
configuring said arithmetic operations circuitry of at least one of said at least one specialized processing block to operate substantially identically on substantially all clock pulses of said respective block clock signal; and configuring said logic operations circuitry of each at least one of said at least one specialized processing block to operate in a first mode on a first set of clock pulses of said respective block clock signal, and to operate in a second mode on a second set of clock pulses of said respective block clock signal interleaved with said first set of clock pulses. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory machine-readable data storage medium encoded with non-transitory machine-executable instructions for configuring a programmable integrated circuit device, having at least one specialized processing block, each of said at least one specialized processing block being clocked by a respective block clock signal and said integrated circuit device being clocked by a device clock signal, each of said at least one specialized processing block having block inputs for accepting data, input from outside said at least one specialized processing block, on which arithmetic operations are to be performed, arithmetic operations circuitry having arithmetic inputs connected to said block inputs for performing arithmetic operations on said data, and logical operations circuitry operating on outputs of said arithmetic operations circuitry, said instructions comprising:
-
instructions to configure said arithmetic operations circuitry of at least one of said at least one specialized processing block to operate substantially identically on substantially all clock pulses of said block clock signal; and instructions to configure said logic operations circuitry of at least one of said at least one specialized processing block to operate in a first mode on a first set of clock pulses of said block clock signal, and to operate in a second mode on a second set of clock pulses of said block clock signal interleaved with said first set of clock pulses. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification