Model-Adaptive Cache Memory for FPGA Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

FPGA memory management is complex and limited by the size of block RAM, leading to restricted use cases due to high latency in accessing external memory, which hinders efficient processing of large vectors and matrices in RCP and HiL applications.

Innovation Solution

A model-adaptive cache memory with a state-dependent memory look-ahead is implemented on an FPGA, allowing for anticipatory preloading of caching data and adaptive bit width configuration to enable fast access to data structures within one clock pulse, utilizing both a small high-speed memory and a large low-speed memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If external memory (DDR4) is used to increase memory capacity, then memory capacity is increased, but access latency increases significantly

Engineering Contradiction:
Improvememory capacityVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The memory system is segmented into two distinct parts: a small, fast block RAM memory (first memory) and a large, slow external DDR4 memory (second memory). Each serves a specific function - the block RAM provides rapid access for active data while the external memory provides bulk storage capacity. This segmentation resolves the contradiction by allowing the system to have both high speed (via block RAM) and large capacity (via external memory) simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A cache memory mechanism acts as an intermediary between the block RAM and external DDR4 memory. The cache controller monitors access patterns and preloads data from external memory into block RAM based on predicted future access needs. This intermediary layer shields the system from the high latency of external memory by serving frequently accessed data from the fast block RAM, thus resolving the latency-capacity tradeoff.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If block RAM size is increased to store larger data structures, then memory capacity for fast access is increased, but the number of available block RAM blocks is limited

Engineering Contradiction:
Improvefast access memory capacityVSAvoidflexibility in memory configuration
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The system dynamically adapts its memory configuration by using a programmable cache controller that can adjust cache size, line length, and replacement policies based on runtime conditions. The cache controller can dynamically preload data structures of varying sizes and types from external memory into block RAM, allowing the system to optimize for different data access patterns and application requirements, thus maintaining flexibility while maximizing fast access capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes key memory parameters dynamically - specifically cache size, block size, and association - to optimize performance for different workloads. The cache controller can modify these parameters based on the size and access patterns of data structures being processed, allowing the system to adapt to different block RAM configurations and external memory capacities, thereby resolving the contradiction between fixed block RAM limits and flexible memory management needs.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If memory management is automated with model-adaptive cache, then access efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache memory system is designed to be self-managing through an automated cache controller that independently monitors access patterns, predicts future access needs, and performs preloading operations without external intervention. The controller uses simple heuristics and access pattern recognition to make decisions about what data to preload into block RAM, allowing the system to improve access efficiency automatically while adding minimal complexity compared to manual memory management approaches.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12197336B2Method for effectively increasing a memory on an FPGA
Publication Date: 2025.01.14 DSPACE SE & CO KG
  • US12197336B2 patent drawing
  • US12197336B2 patent drawing
  • US12197336B2 patent drawing

AI summary

In an FPGA, a memory of the FPGA is to be effectively increased. This is achieved by a computer-implemented method for implementing a model-adaptive cache memory having a model state-dependent memory look-ahead on the FPGA.