FPGA Logic Block Architecture With Programmable LUT Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Field programmable gate array (FPGA) systems face inefficiencies in terms of speed, energy consumption, and surface area due to redundant elements and less efficient transistor usage compared to application-specific integrated circuits (ASICs), despite their versatility.

Innovation Solution

A programmable logic block comprising two Look-Up Tables (LUTs) with a programmable controller, configuration memory cells, and data entries that dynamically set configuration inputs to implement advanced processing functions, reducing gate count and surface area requirements while maintaining versatility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If generic Logic Blocks with multiple LUTs and routing areas are used to provide versatile functionality, then adaptability is improved, but device complexity and surface area increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidgate count
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic reconfiguration by allowing Logic Blocks to change their operational mode between LUT mode and ALU mode based on control signals. The same physical hardware can be dynamically reprogrammed to perform different functions, eliminating the need for multiple dedicated circuit blocks for each function type.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The Logic Block is designed as a universal unit that can function as either LUTs or ALUs depending on configuration. The same physical components (LUTs, multiplexers, carry logic) serve dual purposes: performing lookup table operations or arithmetic logic operations, thereby reducing the need for separate dedicated circuits for each function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If generic Logic Blocks with multiple LUTs and routing areas are used to provide versatile functionality, then adaptability is improved, but surface area increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidsurface area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent merges LUT functionality and ALU functionality into a single integrated Logic Block. The LUTs can be configured to perform arithmetic operations, and the carry logic can be reused for both LUT cascading and ALU carry propagation, thereby consolidating multiple functions into shared hardware resources and reducing overall surface area.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The Logic Block implements dynamic reconfiguration between LUT mode and ALU mode based on control signals. The same physical hardware can be dynamically reprogrammed to perform different functions, eliminating the need for multiple dedicated circuit blocks for each function type and reducing the total surface area required.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If fixed configuration Logic Blocks are used, then device complexity is reduced, but adaptability worsens

Engineering Contradiction:
Improvegate countVSAvoidfunctionality
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The Logic Block implements dynamic reconfiguration between LUT mode and ALU mode based on control signals. The same physical hardware can be dynamically reprogrammed to perform different functions, eliminating the need for multiple dedicated circuit blocks for each function type.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses configuration bits to change the operational parameters of the Logic Block, transforming it between LUT and ALU modes. By modifying the state of control signals and configuration memory, the same hardware structure can adapt to perform different logical or arithmetic functions without physical reconfiguration.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3157171B1Logic block architecture for programmable gate array
Publication Date: 2020.06.03 MENTA
  • EP3157171B1 patent drawingFigure 1~2
  • EP3157171B1 patent drawingFigure 3~4
  • EP3157171B1 patent drawingFigure 5~6

AI summary

A programmable logic block for a FPGA comprises two Lookup Tables (LUT) 41, 44. The configuration information for these LUTs 41, 44 is provided by a programmable controller 43, which itself incorporates LUT functionality. This intermediate layer of LUT functionality provides means to programmatically control the behaviour of the primary LUTs 41, 44 in an operational mode, on the basis of settings made during an initialization mode. Certain embodiments also incorporate a Logic circuit 35, which together with the programmable behaviour of the Primary LUTs provides means for efficiently implementing a number of common logic functions including adders, multiplexers, parity and extended LUT and Multiplexer functions. A method for programming an FPGA comprising such a programmable logic block and a corresponding data stream is also described.