FPGA configurable logic block with multi-purpose logic/memory circuit
First Claim
1. A programmable logic device including a plurality of configurable logic blocks and interconnect resources for transmitting signals to the configurable logic blocks, each configurable logic block including a logic/memory circuit comprising:
- a first plurality of input terminals for receiving a first set of input signals from the interconnect resources;
a decoder for generating address signals in response to the first plurality of input signals;
an array including programmable elements for storing a plurality of bit values, word lines connected to the decoder for receiving the address signals, and bit lines for transmitting bit values to the programmable elements in response to the address signals;
an input control circuit connected to the first plurality of input terminals for selectively transmitting the first set of input signals onto a group of the bit lines; and
a product term circuit for generating a plurality of product terms in response to the first set of input signals transmitted on the group of the bit lines and the bit values stored in the programmable elements.
1 Assignment
0 Petitions
Accused Products
Abstract
A logic/memory circuit (LMC) utilized in a configurable logic block (CLB) of a programmable logic device (PLD) that implements an eight-input lookup table (LUT) using an array of programmable elements arranged in rows and columns. A decoder is used to read bit values from one column (e.g., sixteen programmable elements) of the array. In one embodiment, a separate read bit line is provided to facilitate faster read operations. A sixteen-to-one multiplexer/demultiplexer circuit is used to pass selected bit values to an output terminal. The array of programmable elements is programmable both from configuration lines during a configuration mode, and by data transmitted on the interconnect resources through the multiplexer/demultiplexer circuit. In one embodiment, the programmable elements of the array are connected in pairs to product term generation circuitry. Product terms generated by the product term circuitry are passed to a macrocell circuit to perform programmable array logic (PAL) logic operations. In another embodiment, a CLB includes four LMCs and a multiplier circuit such that large amounts of logic are locally implemented, thereby avoiding signal delays associated with transmission over general purpose interconnect resources within a PLD.
-
Citations
37 Claims
-
1. A programmable logic device including a plurality of configurable logic blocks and interconnect resources for transmitting signals to the configurable logic blocks, each configurable logic block including a logic/memory circuit comprising:
-
a first plurality of input terminals for receiving a first set of input signals from the interconnect resources; a decoder for generating address signals in response to the first plurality of input signals; an array including programmable elements for storing a plurality of bit values, word lines connected to the decoder for receiving the address signals, and bit lines for transmitting bit values to the programmable elements in response to the address signals; an input control circuit connected to the first plurality of input terminals for selectively transmitting the first set of input signals onto a group of the bit lines; and a product term circuit for generating a plurality of product terms in response to the first set of input signals transmitted on the group of the bit lines and the bit values stored in the programmable elements. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A programmable logic device including a plurality of configurable logic blocks and interconnect resources for transmitting signals to the configurable logic blocks, each configurable logic block comprising:
-
a plurality of input terminals connected to the interconnect resources; a first switch circuit for transmitting selected input signals from the plurality of input terminals onto a plurality of input lines; a plurality of logic/memory circuits, each logic/memory circuit comprising; a plurality of input terminals connected to a group of the plurality of input lines for receiving the selected input signals; a decoder for generating address signals in response to the selected input signals; an array including programmable elements for storing a plurality of bit values, word lines connected to the decoder for receiving the address signals, and bit lines for transmitting bit values to the programmable elements in response to the address signals; an input control circuit connected to the input terminals for selectively transmitting the selected input signals onto the bit lines; and a product term circuit connected to the bit lines and to the programmable elements for generating a plurality of product terms in response to the selected input signals transmitted on the bit lines and the bit values stored in the programmable elements. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37)
-
Specification