FPGA DSP Array Overlay with Line-In Line-Out Dataflow

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional FPGA overlays face inefficiencies in processing large data sets due to limitations in processing and I/O performance, such as the overlap penalty, shift penalty, and I/O inefficiency, which hinder their ability to handle real-time large-format video processing effectively.

Innovation Solution

The proposed solution involves a tile overlay processor (TOP) architecture that arranges processing elements in a one-dimensional or bi-dimensional grid, allowing each element to access neighboring memory and implement a 'Line-in, Line-out' data flow, eliminating redundant processing and data movement, and optimizing I/O operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional vector overlay architectures are used with predefined algorithmic dataflow, then the system can process data according to fixed patterns, but the device complexity increases due to costly connection and data alignment logic requirements

Engineering Contradiction:
Improvealgorithmic dataflow processingVSAvoidconnection and data alignment logic
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the processing architecture into processing elements organized in a mesh topology, where each PE handles local data processing independently. This segmentation eliminates the need for complex global connection logic and data alignment mechanisms, as each PE only needs to communicate with its immediate neighbors in the mesh.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from one-dimensional vector overlay architectures to two-dimensional mesh architectures. This dimensional change allows data to flow through multiple paths and reduces the complexity of data alignment logic by distributing processing across a spatial grid rather than a linear sequence.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If FPGA overlays are designed to handle large data sets, then processing capability increases, but I/O performance deteriorates due to I/O inefficiency and redundant data movement

Engineering Contradiction:
Improvedata set sizeVSAvoidI/O performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-fetching and buffering data in local memory before it is needed for processing. The mesh architecture allows data to be moved incrementally through adjacent PEs rather than requiring simultaneous global data distribution, reducing I/O bottlenecks and redundant data movement.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Local memory buffers act as intermediaries between the external I/O system and the processing elements. These buffers absorb I/O inefficiencies by decoupling data input rates from processing rates, allowing PEs to continue processing without waiting for slow external I/O operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Extent of automation

If processing elements are arranged in conventional arrays, then parallel processing is achieved, but processing efficiency decreases due to overlap penalty and shift penalty

Engineering Contradiction:
Improveparallel processingVSAvoidprocessing efficiency
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The mesh architecture provides dynamic data routing capabilities where data can flow through different paths depending on the processing stage. This dynamic routing eliminates the overlap penalty by allowing flexible data reuse across multiple processing elements without requiring redundant data copies, and eliminates shift penalty by allowing direct neighbor-to-neighbor data transfer.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If small FPGA arrays are used, then device complexity is reduced, but the ability to handle large data sets like 4k or 8k image streams deteriorates

Engineering Contradiction:
Improvearray sizeVSAvoiddata set capacity
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The mesh architecture enables virtual expansion of processing capacity by allowing data to be copied and distributed across multiple PEs in a systematic manner. Instead of requiring a large monolithic array, small PEs can collectively handle large data sets by dividing the data spatially across the mesh and processing it in parallel through multiple passes.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10613863B2Digital signal processing array using integrated processing elements
Publication Date: 2020.04.07 ACORN INNOVATIONS INC
  • US10613863B2 patent drawing
  • US10613863B2 patent drawing
  • US10613863B2 patent drawing

AI summary

Techniques and mechanisms described herein include a signal processor implemented as an overlay on a field-programmable gate array (FPGA) device that utilizes special purpose, hardened intellectual property (IP) modules such as memory blocks and digital signal processing (DSP) cores. A Processing Element (PE) is built from one or more DSP cores connected to additional logic. Interconnected as an array, the PEs may operate in a computational model such as Single Instruction-Multiple Thread (SIMT). A software hierarchy is described that transforms the SIMT array into an effective signal processor.