Configurable computational unit embedded in a programmable device
First Claim
1. A programmable logic device, comprising:
- a plurality of input/output cells;
an array of macrocells;
a plurality of routing resources that programmably couple said macrocells and said input/output cells; and
at least one configurable computational unit programmably coupled to said routing resources, said configurable computational unit comprising at least an adder circuit and a multiply circuit.
2 Assignments
0 Petitions
Accused Products
Abstract
A plurality of configurable computational units are embedded in a programmable device, such as a field programmable gate array. Each configurable computational unit includes an adder circuit that is switchably coupled to a multiplier circuit and an accumulator circuit. The configurable computational unit may be configured permanently or on-the-fly to perform desired arithmetic type functions efficiently and effectively. For example, the computational unit may be configured for digital signal processing functions, filtering functions, and algorithm functions. The computational units may be cascaded by programmably connecting the computational units together, e.g., through the routing resources of the programmable device.
299 Citations
21 Claims
-
1. A programmable logic device, comprising:
-
a plurality of input/output cells;
an array of macrocells;
a plurality of routing resources that programmably couple said macrocells and said input/output cells; and
at least one configurable computational unit programmably coupled to said routing resources, said configurable computational unit comprising at least an adder circuit and a multiply circuit. - View Dependent Claims (2, 8, 9, 11)
-
-
3. A programmable logic device, comprising:
-
a plurality of input/output cells;
an array of macrocells;
a plurality of routing resources that programmably couple said macrocells and said input/output cells; and
at least one configurable computational unit programmably coupled to said routing resources, said configurable computational unit comprising;
at least an adder circuit and a multiply circuit; and
said adder circuit switchably coupled to said multiply circuit and an accumulate circuit. - View Dependent Claims (4, 5, 6, 7, 10)
a first input terminal coupled to said multiply circuit and switchably coupled to said adder circuit;
a second input terminal switchably coupled to said adder circuit;
said accumulate circuit comprises a register switchably coupled to said adder circuit; and
an output terminal switchably coupled to said multiply circuit, said adder circuit and said register.
-
-
6. The programmable logic device of claim 5, wherein said multiply circuit comprises a multiplicand terminal and a multiplier terminal, said first input terminal of said configurable computational unit is coupled to said multiplicand terminal and said multiplier terminal.
-
7. The programmable logic device of claim 6, wherein said first input terminal of said configurable computational unit is split to provide said multiplicand terminal with m bits and said multiplier terminal with n bits.
-
10. The programmable logic device of claim 3, wherein said configurable computational unit further comprises a register coupled to said adder circuit and an output terminal that is switchably coupled to said multiply circuit, said adder circuit, and said register.
-
12. An apparatus comprising:
-
a field programmable gate array;
a plurality of configurable computational units embedded within said field programmable gate array, each of said configurable computational units having an adder circuit switchably coupled to an m×
n multiply circuit and an accumulator circuit.- View Dependent Claims (13, 16, 17, 18)
-
-
14. An apparatus comprising:
-
a field programmable gate array;
a plurality of configurable computational units embedded within said field programmable gate array, each of said configurable computational units comprises;
an adder circuit switchably coupled to an m×
n multiply circuit and an accumulator circuit;
a first input terminal for receiving a first set of data;
said m×
n multiply circuit having a multiplicand terminal coupled to said first input terminal, a multiplier terminal coupled to said first input terminal, and an output terminal, said multiplicand receiving m bits of data from said first set of data and said multiplier terminal receiving n bits of data from said first set of data;
a first multiplexer circuit having a first data terminal coupled to said output terminal of said m×
n multiply circuit, a second data terminal coupled to said first input terminal, an output terminal, and a select terminal; and
said adder circuit having a first input terminal coupled to said output terminal of said first multiplexer circuit, and having a second input terminal and an output terminal. - View Dependent Claims (15)
a second input terminal for receiving a second set of data;
a second multiplexer circuit having a first data terminal coupled to said second input terminal, a second data terminal, an output terminal coupled to said second input terminal of said adder circuit, and a select terminal;
a register having an input terminal coupled to said output terminal of said adder circuit, said register having an output terminal coupled to said second data terminal of said second multiplexer circuit; and
a third multiplexer having a first data terminal coupled to said output terminal of said m×
n multiply circuit, a second data terminal coupled to said output terminal of said adder circuit, a third data terminal coupled to said output terminal of said register, a pair of select terminals, and an output terminal.
-
-
19. A programmable logic device, comprising:
-
a plurality of input/output cells;
an array of macrocells;
a plurality of routing resources that programmably couple said macrocells and said input/output cells; and
a plurality of configurable computational units embedded within said programmable logic device and programmably coupled to said routing resources, wherein said configurable computational units are restricted from use when said programmable logic device is a virtual device. - View Dependent Claims (20, 21)
-
Specification