FPGA DSP Block for ML and Signal Processing Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current integrated circuit devices struggle to efficiently perform calculations for both machine learning and digital signal processing applications, as circuitry optimized for one domain is often not well-suited for the other, leading to suboptimal performance and resource utilization.

Innovation Solution

The development of a digital signal processing (DSP) block on field-programmable gate arrays (FPGAs) that can perform multiply-accumulate operations with flexible precision and power management, allowing for efficient adaptation to emerging algorithms and simultaneous support for both machine learning and digital signal processing tasks through virtual bandwidth expansion and efficient weight loading techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If circuitry is optimized for machine learning applications, then machine learning performance is improved, but digital signal processing performance deteriorates

Engineering Contradiction:
Improvemachine learning performanceVSAvoiddigital signal processing capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The DSP block is designed to perform both machine learning operations (multiply-accumulate for neural networks) and digital signal processing operations (filtering, convolution) using the same hardware resources. The block accepts different input data formats and operation types, switching between ML and DSP modes through configuration controls, thereby achieving multi-functionality without requiring separate dedicated circuitry for each application domain.

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

2Productivity

If circuitry is optimized for digital signal processing applications, then digital signal processing performance is improved, but machine learning performance deteriorates

Engineering Contradiction:
Improvedigital signal processing performanceVSAvoidmachine learning capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The same DSP block hardware that natively supports digital signal processing operations is configured to perform machine learning multiply-accumulate operations. The block maintains its DSP optimization while gaining ML capability through flexible data path configuration and support for different precision formats (INT8, INT16, FP32), allowing a single block to serve both application domains effectively.

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

3Adaptability or versatility

If a single device handles both machine learning and digital signal processing tasks, then resource utilization is improved, but performance for both applications deteriorates

Engineering Contradiction:
Improveresource utilizationVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The processing device is segmented into multiple independent DSP blocks, where each block can be independently configured and allocated to specific tasks. This segmentation allows the system to divide ML and DSP workloads across multiple blocks, maintaining high performance for each application type while achieving overall resource utilization efficiency through flexible block assignment and parallel operation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11520584B2FPGA specialist processing block for machine learning
Publication Date: 2022.12.06 ALTERA CORP
  • US11520584B2 patent drawing
  • US11520584B2 patent drawing
  • US11520584B2 patent drawing

AI summary

The present disclosure describes a digital signal processing (DSP) block that includes a plurality of columns of weight registers and a plurality of inputs configured to receive a first plurality of values and a second plurality of values. The first plurality of values is stored in the plurality of columns of weight registers after being received. Additionally, the DSP block includes a plurality of multipliers configured to simultaneously multiply each value of the first plurality of values by each value of the second plurality of values.