Configurable logic element with expander structures
First Claim
1. A configurable logic element (CLE) for a programmable logic device (PLD), the CLE comprising:
- a plurality of logic blocks each configurable as a P-input product term (Pterm) generator;
one or more expanders configurably interconnecting two or more of the plurality of logic blocks, each expander having two or more configurable functions; and
an expander control circuit coupled to the one or more expanders, the expander control circuit configurably controlling the one or more expanders to create from the plurality of logic blocks a Q-input Pterm, where Q is greater than P.
1 Assignment
0 Petitions
Accused Products
Abstract
A configurable logic element (CLE) for a field programmable gate array (FPGA) includes “expanders”, i.e., connectors that allow fast signal communication between logic blocks. Expanders allow the configurable interconnection of a plurality of logic blocks, or portions thereof, to form a single logical entity that can implement large user circuits such as PALs, lookup tables, multiplexers, tristate buffers, and memories. One embodiment includes a configurable logic block. In a first mode, the logic block provides two N-input LUTs having N shared inputs and two separate outputs. The outputs are then combined using an expander to generate an (N+1)-input function. In a second mode, the logic block provides two N-input LUTs having M unshared inputs. An optional third mode provides a plurality of product term output signals based on the values of the N input signals.
100 Citations
15 Claims
-
1. A configurable logic element (CLE) for a programmable logic device (PLD), the CLE comprising:
-
a plurality of logic blocks each configurable as a P-input product term (Pterm) generator;
one or more expanders configurably interconnecting two or more of the plurality of logic blocks, each expander having two or more configurable functions; and
an expander control circuit coupled to the one or more expanders, the expander control circuit configurably controlling the one or more expanders to create from the plurality of logic blocks a Q-input Pterm, where Q is greater than P. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
the CLE comprises a plurality of substantially similar slices; and
each slice includes at least two logic blocks, at least first and second expanders for configurably interconnecting the at least two logic blocks to other logic blocks in other slices, and a third expander for configurably interconnecting the at least two logic blocks.
-
-
10. The CLE of claim 9, wherein the other slices are in the same CLE.
-
11. The CLE of claim 1, wherein P equals 8.
-
12. The CLE of claim 1, wherein each of the plurality of logic blocks comprises:
-
P input terminals providing up to P input signals;
a memory array having rows and columns of memory cells, the memory array being coupled to the P input terminals; and
a plurality of AND circuits coupled to the columns of memory cells, each AND circuit providing a P-input product term.
-
-
13. The CLE of claim 1, wherein:
-
the expander control circuit comprises one or more configuration memory cells;
contents of the one or more configuration memory cells determine a state of one or more expander control signals; and
the one or more expander control signals control the one or more expanders.
-
-
14. The CLE of claim 1, wherein the two or more configurable functions include an AND function.
-
15. The CLE of claim 1, wherein the logic blocks comprising the Q-input Pterm are adjacent.
Specification