Field programmable gate array (FPGA) with interconnect encoding
First Claim
1. A method of programming a field programmable gate array (FPGA) comprising the steps of:
- programming configurable logic blocks (CLBs) so that only one of a number of outputs of the CLBs is high at a time; and
programming programmable interconnect points to connect the outputs of the CLBs to encoding interconnect lines so that the encoding interconnect lines indicate states of the outputs of each of the CLBs in an encoded form, the encoding interconnect lines being less in number than the CLB outputs.
6 Assignments
0 Petitions
Accused Products
Abstract
A method of programing an FPGA to enable encoding of configuration logic block (CLB) outputs enabling an efficient use of FPGA routing resources. The method of the present invention utilizes the one hot approach, wherein only one CLB output is high at a time, to form a state machine using an FPGA. To provide encoding, programmable interconnect points (PIPs) may be programmed to connect CLB outputs to interconnect lines so that the interconnect lines indicate states of the CLB outputs in an encoded form. To provide such encoding, less interconnect lines than CLB outputs provide the encoded form of the CLB outputs. Thus, PIPs can connect a single interconnect line to more than one CLB output. Further, PIPs can connect a single CLB output to interconnect lines provided in separate parallel routing paths. To prevent erroneous results, CLB outputs which are not hot are tri-stated. Output decoding can be provided by an additional decoder in the FPGA connected to the interconnect lines providing the encoded form of the CLB outputs. Output decoding may alternatively be provided using a CLB.
56 Citations
12 Claims
-
1. A method of programming a field programmable gate array (FPGA) comprising the steps of:
-
programming configurable logic blocks (CLBs) so that only one of a number of outputs of the CLBs is high at a time; and programming programmable interconnect points to connect the outputs of the CLBs to encoding interconnect lines so that the encoding interconnect lines indicate states of the outputs of each of the CLBs in an encoded form, the encoding interconnect lines being less in number than the CLB outputs. - View Dependent Claims (2, 3, 4)
-
-
5. A method of encoding outputs of a CLB of a field programmable gate array (FPGA) comprising the steps of:
-
programming configurable logic blocks (CLBs) so that only one output of the CLBs is high at a time; and programming programmable interconnect points to connect more than one of the CLB outputs to a single interconnect line.
-
-
6. A method of encoding outputs of a CLB of a field programmable gate array (FPGA) comprising the steps of:
-
programming configurable logic blocks (CLBs) so that only one output of the CLBs is high at a time; and programming programmable interconnect points to connect one of the CLB outputs to interconnect lines provided in separate parallel routing paths.
-
-
7. A field programmable gate array (FPGA) comprising:
-
configurable logic blocks (CLBs) having outputs; encoding interconnect lines; and programmable interconnect points which are controlled to be programmed to connect the outputs of the CLBs to the encoding interconnect lines so that the encoding interconnect lines indicate states of the outputs of each of the CLBs in an encoded form, wherein the encoding interconnect lines are fewer in number than the CLB outputs. - View Dependent Claims (8, 9, 10)
-
-
11. A field programmable gate array (FPGA) comprising:
-
configurable logic blocks (CLBs) having outputs; interconnect lines; and programmable interconnect points which are controlled to be programmed to connect more than one of the CLB outputs to one of the interconnect lines.
-
-
12. A field programmable gate array (FPGA) comprising:
-
a configurable logic blocks (CLBs) having outputs; interconnect lines; and programmable interconnect points which are controlled to be programmed to connect a one of the CLB outputs to more than one of the interconnect lines provided in separate parallel routing paths.
-
Specification