Multilevel logic field programmable device
First Claim
1. A field programmable logic device comprising:
- a plurality of sources each providing an output;
a selector unit to separately select for each part of its output the corresponding part of the output from one of said plurality of sources; and
a programmable logic datapath coupled to said selector unit including,a rearrangement circuit coupled to receive said output of said selector unit;
a selective field negation circuit coupled to said rearrangement circuit; and
a plurality of reduction networks each coupled to receive the outputs of said selective field negation circuit and each including a series of logic levels coupled together to selectively reduce those outputs using XOR, OR, and selective negation circuitry down to one bit.
6 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for providing a programmable logic datapath that may be used in a field programmable device. According to one aspect of the invention, a programmable logic datapath is provided that includes a plurality of logic elements to perform various (Boolean) logic operations. The programmable logic datapath further includes circuitry to selectively route and select operand bits between the plurality of logic elements (operand bits is used hereinafter to refer to input bits, logic operation result bits, etc., that may be generated within the logic datapath). In one embodiment, by providing control bits concurrently with operand bits to routing and selection (e.g., multiplexing) circuitry, the programmable logic datapath of the invention can provide dynamic programmability to perform a number of logic operations on inputs of various lengths on a cycle-by-cycle basis.
-
Citations
51 Claims
-
1. A field programmable logic device comprising:
-
a plurality of sources each providing an output; a selector unit to separately select for each part of its output the corresponding part of the output from one of said plurality of sources; and a programmable logic datapath coupled to said selector unit including, a rearrangement circuit coupled to receive said output of said selector unit; a selective field negation circuit coupled to said rearrangement circuit; and a plurality of reduction networks each coupled to receive the outputs of said selective field negation circuit and each including a series of logic levels coupled together to selectively reduce those outputs using XOR, OR, and selective negation circuitry down to one bit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus comprising:
a programmable logic datapath having a plurality of inputs, said programmable logic datapath including a plurality of reduction networks, each of said plurality of reduction networks including, at least three logic levels coupled in series, wherein two dynamic reduction paths are provided through said logic levels that each reduce data provided at the plurality of inputs to one bit, each of the logic levels logically combines one or more mutually exclusive groups of data on one of the dynamic reduction paths by XOR operations, each of the logic levels logically combines corresponding groups of data on the other of the dynamic reduction paths by OR operations, each of the logic levels separately selectively switches the XOR and OR outputs in each corresponding group, each logic level also separately selectively negates the output in each corresponding group along one of the dynamic reduction paths. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
19. A programmable logic datapath comprising:
-
a plurality of inputs; and a plurality of reduction networks, each of said plurality of reduction networks including, a first and second level one logic circuits each coupled to receive a first and second copy of data provided at a different set of said plurality of inputs, each level one logic circuit respectively performing an XOR and OR logic operation on said first and second copy to respectively provide a first and second logic output; an alignment and negation circuit, coupled to said first and second outputs of said first and second level one logic circuits, to selectively provide different combinations of one output from each of said first and second level one logic circuits at each of a first and second alignment output, as well as selectively negate at least one of the values provided on one of the first and second alignment outputs; and a level two logic circuit having a first and second input respectively coupled to said first and second outputs of said alignment and negation circuit, said level two logic circuit respectively performing an XOR and OR operation on data received at said first and second inputs. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. An apparatus comprising:
-
a plurality of sources each providing an output; a selector unit to separately select for each part of its output the corresponding part of the output from one of said plurality of sources; and a programmable logic datapath coupled to said selector unit including, a plurality of reduction networks each including, at least three logic levels coupled together in series including, a first logic level to group its inputs into mutually exclusive groups, separately perform a first and second logic operations on separate copies of the inputs within each group, and optionally switch the combined results within each group before provision to the next logic level, and each of the remaining logic levels to combine the groups provided to it from the previous logic level into mutually exclusive super groups, perform the first and second logic operations respectively on the first and second optionally switched combined results of the groups, and optionally switch the inputs in each of the groups before provision to the next logic level. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A machine-implemented method comprising:
-
receiving an output from each of a plurality of sources; separately selecting for each part of a current output a corresponding part of the output from one of said plurality of sources, wherein the bits of said current output form a plurality of mutually exclusive groups; and performing the following in each of a plurality of reduction networks, duplicating said current output to form a first and second version of each group, reducing the first and second version of each group through logic operations to provide for each group a first and second output that are selectively switched and one of which is optionally negated, where the groups form mutually exclusive sets, reducing the first and second output of each group within each set through logic operations to provide for each set a first and second output that are selectively switched and one of which is optionally negated, where the sets form mutually exclusive supersets, and reducing the first and second output of each set within each superset through logic operations to provide for each superset a first and second output that are selectively switched and one of which is optionally negated. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43)
-
-
44. A machine-implemented method comprising:
-
receiving a plurality of inputs, wherein said plurality of inputs form a plurality of mutually exclusive groups; duplicating said plurality of inputs to form a first and second version of each group; reducing the first and second version of each group to provide a first and second output for each group by performing the following for each group, logically combining the inputs within the first version of that group with an XOR operation; logically combining the inputs within the second version of that group with an OR operation; selectively switching the result of the logic operation on the first and second version in that group between the first and second outputs for that group; and reducing the first and second output of each group to provide a first and second output for each set, where the groups form mutually exclusive sets, by performing the following for each set, logically combining the first output for the groups within that set with an XOR operation; logically combining the second output for the groups within that set with an OR operation; selectively switching the result of the logic operation on the first and second output for that set between the first and second outputs for that set. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51)
-
Specification