Programmable Logic Fabric Cache for Fast Reconfiguration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Programmable logic devices require faster configuration times for certain tasks, such as machine learning and image recognition, as partial reconfiguration can take milliseconds, which is not sufficient for applications needing microseconds or faster calculations.
Innovation Solution
Implementing a programmable logic device with a local memory, referred to as fabric cache memory or sector-aligned memory, that caches configuration programs close to the programmable logic fabric, allowing for rapid reconfiguration by reducing the physical distance and transaction number between memory and fabric, and enabling pipelining for faster data transfers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If external memory is used for configuration storage, then device complexity is reduced, but configuration time increases significantly
Solution Approach 1:
The patent implements a nested memory hierarchy where fabric cache memory is embedded within the programmable logic device fabric, and sector-aligned memory is integrated into the base die. This nested structure provides fast configuration access while keeping the overall device architecture manageable through hierarchical organization.
Solution Approach 2:
The patent transitions from a single-plane memory architecture to a three-dimensional stacked architecture with fabric cache memory on one die and sector-aligned memory on a stacked base die. This vertical dimensionality change enables parallel access paths and reduces configuration time without proportionally increasing device footprint.
2Speed
If configuration data is stored in remote memory, then manufacturing cost is reduced, but reconfiguration speed becomes insufficient for ultra-fast applications
Solution Approach 1:
The patent pre-loads configuration data into fabric cache memory and sector-aligned memory before it is needed for fabric reconfiguration. This preliminary action ensures that configuration data is already in fast memory when reconfiguration is triggered, eliminating wait time and enabling ultra-fast reconfiguration for time-critical applications.
Solution Approach 2:
The patent introduces fabric cache memory and sector-aligned memory as intermediary storage layers between external memory and the fabric reconfiguration process. These intermediaries buffer and pre-position configuration data, mediating between the slow external memory and the fast reconfiguration requirement.
3Loss of time
If configuration memory is integrated close to fabric, then configuration speed improves, but device area increases
Solution Approach 1:
The patent divides configuration memory into segmented regions: fabric cache memory associated with specific fabric sectors and sector-aligned memory organized by base die sectors. This segmentation allows each memory region to serve its local fabric sector, reducing the area required for global memory access and enabling parallel configuration operations across different sectors.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
An integrated circuit device may cache configuration data to enable rapid configuration from fabric cache memory. The integrated circuit device may include programmable logic fabric having configuration memory and programmable logic elements controlled by the configuration memory, and sector-aligned memory apart from the programmable logic fabric. A first sector of the configuration memory may be programmed with first configuration data. The sector-aligned memory may include a first sector of sector-aligned memory that may cache the first configuration data while the configuration memory is programmed with the first configuration data a first time. A second sector of sector-aligned memory may cache second configuration data for a second sector of the configuration memory in parallel while the first sector of sector-aligned memory caches the first configuration data for the first sector of the configuration memory.