FPGA with register-intensive architecture
First Claim
1. A field programmable gate array (FPGA) comprising:
- (a) a plurality of substantially same logic blocks each having plural programmable lookup tables;
(b) for each of said lookup tables, at least two corresponding state-storing registers;
(c) within each logic block and for each of said lookup tables of the logic block, an internal-routing circuit that is programmable to route a result signal of the respective lookup table as a register input signal to at least one of the corresponding state-storing registers so that each of the state-storing registers can output a register-output signal that defines a registered or latched version of the register-input signal; and
(c1) a programmable input switch adapted to acquire a multi-bit dynamic write-enable steering signal for dynamically steering a write enable signal to a single-port or multi-port memory array overlapping with two or more of the lookup tables of the corresponding logic block.
4 Assignments
0 Petitions
Accused Products
Abstract
Field programmable gate arrays (FPGA'"'"'s) may be structured in accordance with the disclosure to have a register-intensive architecture that provides, for each of plural function-spawning LookUp Tables (e.g. a 4-input, base LUT'"'"'s) within a logic block, a plurality of in-block accessible registers. A register-feeding multiplexer means may be provided for allowing each of the plural registers to equivalently capture and store a result signal output by the corresponding, base LUT of the plural registers. Registerable, primary and secondary feedthroughs may be provided for each base LUT so that locally-acquired input signals of the LUT may be fed-through to the corresponding, in-block registers for register-recovery purposes without fully consuming (wasting) the lookup resources of the associated, base LUT. A multi-stage, input switch matrix (ISM) may be further provided for acquiring and routing input signals from adjacent, block-interconnect lines (AIL'"'"'s) and/or block-intra-connect lines (e.g., FB'"'"'s) to the base LUT'"'"'s and/or their respective, registerable feedthroughs. Techniques are disclosed for utilizing the many in-block registers and/or the registerable feedthroughs and/or the multi-stage ISM'"'"'s for efficiently implementing various circuit designs by appropriately configuring such register-intensive FPGA'"'"'s.
258 Citations
12 Claims
-
1. A field programmable gate array (FPGA) comprising:
-
(a) a plurality of substantially same logic blocks each having plural programmable lookup tables; (b) for each of said lookup tables, at least two corresponding state-storing registers; (c) within each logic block and for each of said lookup tables of the logic block, an internal-routing circuit that is programmable to route a result signal of the respective lookup table as a register input signal to at least one of the corresponding state-storing registers so that each of the state-storing registers can output a register-output signal that defines a registered or latched version of the register-input signal; and (c1) a programmable input switch adapted to acquire a multi-bit dynamic write-enable steering signal for dynamically steering a write enable signal to a single-port or multi-port memory array overlapping with two or more of the lookup tables of the corresponding logic block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A field programmable gate any (FPGA) comprising:
-
(a) a plurality of logic blocks each having plural programmable lookup table, where each lookup table has me ability to directly implement a truth table for, and output a corresponding result signal representing, any Boolean function of at least 4 input term signals that are programmably routable to the lookup table; (b) for each of said lookup table, at least two corresponding state-storing registers; (c) within each logic block and for at least one of said lookup tables of the logic block, an internal-routing circuit that is programmable to route the result signal of a lookup table as a register input signal to at least one of the corresponding state storing registers of the lookup table; and (c1) a programmable input switch adapted to acquire a multi-bit dynamic write-enable steering signal for dynamically steering a write enable signal to a single-port or multi-port memory array overlapping with two or more of the lookup tables of the corresponding logic block.
-
-
12. A field programmable gate array (FPGA) comprising:
-
(a) a plurality of logic blocks each having plural programmable lookup tables; (b) for each of said lookup tables, at least two corresponding state-storing registers; (c) within each logic block and for at least one of said lookup tables, an internal-routing circuit that is programmable to route the result signal of a lookup table as a register input signal to at least one of the corresponding state-storing registers of the lookup table; (d) within each logic block and for each state-storing register, a programmable register-bypass multiplexer coupled to selectively output at least one of said register-input signal and register-output signal; (e) for each logic block, a corresponding programmable input switch adapted to selectively acquire signals from logic-blocks interconnecting lines and/or logic-block intra-connect lines adjacent to the logic block, where the input switching switch is further operatively coupled to the lookup tables of the logic block; (f) within each logic block and for each lookup table, a feedthrough line operatively coupled between the input switch and the corresponding internal-routing circuit for routing at least one of the acquired signals from the input switch directly to the internal-routing circuit; (g) for each lookup table, the corresponding programmable input switch includes at least one primary matrix output line whose acquired signal propagates directly into the respective feedthrough line without also propagating directly to an input-term signal-receiving terminal of the respective lookup tale; and (f) wherein at least two acquired signals which respectively propagate directly into the feedthrough lines of respective lookup tables for selective passage through the corresponding internal-routing circuits of those respective lookup tables, can also serve as respective at least ones of; a multi-bit dynamic selection signal for carrying out within the corresponding logic block at least one of;
a 4;
1 dynamic selection function; and
a 5;
1 dynamic selection function; anda multi-bit dynamic write-enable steering signal for dynamically steering a write enable signal to a single-port or multi-port memory array overlapping with two or more of the lookup tables of the corresponding logic block.
-
Specification