FPGA Distributed RAM Using LUT Registers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing FPGA technologies face challenges in providing user-accessible, distributed RAM with synchronous write and read capabilities without requiring dedicated hardware, especially for fracturable logic elements and varying logic function sizes.

Innovation Solution

The solution involves utilizing registers and multiplexing within logic modules to repurpose existing circuitry for distributed RAM, allowing for synchronous writing and reading, and incorporating depth mode configuration bits to manage RAM depth and width, along with additional write address decoder timing circuits to sequence writes efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If dedicated hardware is provided for synchronous write and read operations, then synchronous operation capability is improved, but device complexity increases

Engineering Contradiction:
Improvesynchronous operation capabilityVSAvoidhardware complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies multi-functionality by enabling logic elements to operate in dual modes: logic function mode and distributed RAM mode. The same logic elements that perform logical operations during normal operation can be reconfigured to provide synchronous write and read operations for distributed RAM, eliminating the need for dedicated hardware and reducing overall device complexity while maintaining synchronous operation capability

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

Solution Approach 2:

The patent implements dynamic reconfiguration of logic elements between logic function mode and distributed RAM mode. This dynamic switching allows the system to adapt its functionality based on operational requirements, enabling synchronous operations when needed without permanently increasing hardware complexity

Inventive Principle:
Principle #15Dynamics

2Device complexity

If existing circuitry is repurposed for distributed RAM, then device complexity is reduced, but adaptability for different logic function sizes decreases

Engineering Contradiction:
Improvehardware complexityVSAvoidlogic function size adaptability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the logic elements into groups that can be independently configured. Each logic element can be individually set to function as either logic operations or distributed RAM, allowing flexible adaptation to different logic function sizes and RAM configurations without increasing device complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables dynamic reconfiguration of logic elements between logic function mode and distributed RAM mode. This dynamic switching allows the system to adapt its functionality based on operational requirements, enabling both logic operations and memory functions using the same hardware resources

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7391236B2Distributed memory in field-programmable gate array integrated circuit devices
Publication Date: 2008.06.24 TAHOE RES LTD
  • US7391236B2 patent drawing
  • US7391236B2 patent drawing
  • US7391236B2 patent drawing

AI summary

Circuitry for facilitating the use of the memory elements in the look-up tables (“LUTs”) of a field programmable gate array (“FPGA”) as user-accessible, distributed RAM. For example, a register associated with a LUT and that is not needed in the read data path in user RAM mode can be used to register data for writing in user RAM mode. As another example, an otherwise unneeded register associated with a LUT can be used to provide a synchronous read address signal for user RAM mode. Several other features are shown for similarly facilitating user RAM mode with minimal (if any) additional circuitry being required in the FPGA.