Device and method with generic logic blocks
AssigneeLattice Semiconductor Corporation
InventorsJason Cheng, Cyrus Tsui, Satwant Singh, Albert Chan, Ju Shen, Clement Lee
Life of this patent
Estimating the term…
Abstract
A programmable device and method with generic logic blocks. Each generic logic block is configurable to perform product term logic functions and memory functions, such as RAM, dual-port RAM, ROM, CAM, FIFO and switch.
Claims43
A programmable logic device including a plurality of logic blocks and routing resources for transmitting signals between the blocks, a logic block comprising:
- a plurality of product term circuits each operable in logic mode to provide a product term at an output terminal and operable in memory mode to provide a data bit at the output terminal, each product term circuit including a first stage of configuration cells each operable in logic mode to store a configuration bit and operable in memory mode to store the data bit and a second stage of logic gates operable to combine signals passed from the first stage;
- and
- a mode select circuit operable in logic mode to select a source of input signals for the configuration cells and in memory mode to select a source of address signals for the configuration cells.
A programmable logic device including a plurality of logic blocks and routing resources for transmitting signals between the blocks, a logic block comprising:
- an array of product term circuits operable in logic mode to generate product terms from input signals received on the input signal lines and operable in memory mode to act as a memory, the array in memory mode having a first array portion operable to store data bits and a second array portion operable to receive data bits and memory address signals on the input signal lines and to provide such data bits and memory address signals to the first array portion;
- and
- a mode select circuit coupled between output terminals of the second array portion and input terminals of the first array portion, and operable in logic mode to couple the input signal lines to the input terminals of the first array portion and in memory mode to couple the output terminals of the second array portion to the input terminals of the first array portion.
A programmable logic device including a plurality of logic blocks and routing resources for transmitting signals between the blocks, a logic block comprising:
- a plurality of product term circuits operable in logic mode to generate product terms from multiple input signals and operable in memory mode to store data bits, each product term circuit including a configuration cell operable to store a configuration bit in logic mode and a data bit in memory mode;
- a first mode select circuit operable to select input signals for a first group of the product term circuits in logic mode and to select a first memory address signal for the first group of product term circuits in memory mode;
- and
- a second mode select circuit operable to select input signals for a second group of the product term circuits in logic mode and to select a second memory address signal for the second group of product term circuits in memory mode.
A programmable logic device including a plurality of logic blocks and routing resources for transmitting signals between the blocks, a logic block comprising:
- a plurality of product term circuits operable in logic mode to generate product terms from multiple input signals and operable in memory mode to act as a first-in-first-out (FIFO) memory that stores and retrieves data bits in a FIFO order, each product term circuit including a configuration cell operable to store a configuration bit in logic mode and a data bit in memory mode;
- a mode select circuit operable in logic mode to select input signals for the product term circuits and in memory mode to select a read address signal for the product term circuits;
- a read counter operable to provide the read address signal to the mode select circuit;
- a write counter operable to provide a write address signal to the product term circuits;
- and
- FIFO flag logic operable to compare the value of the read address signal to the value of the write address signal and generate one or more flags in response to the comparison.
A programmable logic device including a plurality of logic blocks and routing resources for transmitting signals between the blocks, a logic block comprising:
- a plurality of product term circuits operable in logic mode to generate product terms from multiple input signals and operable in memory mode to act as a content addressable memory (CAM) that compares data bits in each product term circuit against an input word, each product term circuit including a configuration cell operable in logic mode to store a configuration bit and in memory mode to store a data bit;
- a mode select circuit operable in logic mode to select a source of input signals for the configuration cells and in memory mode to select a source of input words for the configuration cells;
- and
- an address encoder operable to obtain results of the input word-data bits comparison performed by the product term circuits and to encode the results into an address.
A programmable device comprising a plurality of logic blocks, each logic block comprising an array of product term circuits, each product term circuit comprising a plurality of CMOS circuits, each array of product term circuits being configurable to perform product term logic functions and a memory function.
Dependencies are inferred from the claim text.