HLS Circuit Blocks Using FIFO Buffer Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional high-level synthesis (HLS) processing struggles with implementing circuit architectures for applications like frame-based video processing, where producer and consumer circuits have different memory access patterns, leading to delayed consumer operations and increased memory requirements.

Innovation Solution

The method involves partitioning an application array into virtual blocks based on streaming dimensions, using a FIFO memory to couple circuit blocks with shared access patterns, and incorporating control circuitry to manage concurrent operations through multiple buffers in the FIFO memory, allowing random access and reducing memory size.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional HLS processing is used to implement circuit architectures for applications with different memory access patterns, then the implementation is simpler, but data throughput is reduced and latency is increased

Engineering Contradiction:
Improvedata throughputVSAvoidcircuit architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory access patterns by identifying producer and consumer circuits with different access patterns, then applies separate handling mechanisms (streaming memory for producers, random access memory for consumers) to each segment, enabling optimized data flow for each type while maintaining overall system functionality

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (streaming memory with control logic) between producer and consumer circuits to mediate their different access patterns, allowing producers to stream data efficiently while consumers access data randomly without directly conflicting with each other's requirements

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If conventional HLS processing is used for applications with different memory access patterns, then the design process is easier, but consumer operations are delayed

Engineering Contradiction:
Improveoperational latencyVSAvoidmemory access control complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-identifying producer and consumer circuits and their access patterns during the HLS design phase, then pre-configuring appropriate memory types and access control mechanisms for each circuit type before the actual data flow begins, eliminating runtime delays

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic memory access control where the control logic adapts memory access patterns based on circuit type - streaming mode for producers and random access mode for consumers - allowing the system to dynamically optimize data flow characteristics for different operational phases and circuit requirements

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If conventional HLS processing is used, then fewer control mechanisms are needed, but memory requirements increase

Engineering Contradiction:
Improvememory sizeVSAvoidcontrol circuitry complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning different memory characteristics to different parts of the system - streaming memory with specific access control for producer circuits and random access memory for consumer circuits - allowing each local segment to have optimized memory properties suited to its specific access pattern requirements

Inventive Principle:
Principle #3Local quality

4Productivity

If concurrent operation of circuit blocks is enabled, then productivity increases, but control complexity increases

Engineering Contradiction:
Improveconcurrent operation capabilityVSAvoidcontrol circuitry complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the control mechanisms for concurrent producer and consumer operations into a unified control structure that handles both streaming and random access patterns simultaneously, reducing overall control complexity by consolidating what would otherwise be separate control paths into a single integrated control unit

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9710584B1Performance of circuitry generated using high-level synthesis
Publication Date: 2017.07.18 XILINX INC
  • US9710584B1 patent drawing
  • US9710584B1 patent drawing
  • US9710584B1 patent drawing

AI summary

Implementing circuitry from an application may include partitioning an array of the application into a plurality of virtual blocks according to a streaming dimension of the array and determining that a first function and a second function of the application that access the array have same access patterns for the virtual blocks of the array. A first-in-first out (FIFO) memory may be included in a circuit design implementing the application. The FIFO memory couples a first circuit block implementing the first function with a second circuit block implementing the second function. Control circuitry is included within the circuit design. The control circuitry may be configured to implement concurrent operation of the first circuit block and the second circuit block by controlling accesses of the first circuit block and the second circuit block to a plurality of buffers in the FIFO memory.