FPGA Neural Network Accelerator with Custom Instruction Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing FPGA-based AI solutions lack flexibility and scalability, as they are often based on fixed AI accelerator IP cores that cannot support new neural network models or layers without significant updates, leading to inefficiencies in resource usage and time-to-market, especially in edge AI applications where power consumption and performance are critical.

Innovation Solution

A neural network accelerator architecture in an FPGA with a custom instruction interface, comprising a command control block, neural network layer accelerators, and a response control block, allowing seamless integration with embedded processors and enabling configuration of layer accelerators for specific applications, reducing resource consumption and enhancing flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fixed AI accelerator IP core is used, then hardware acceleration performance is improved, but flexibility and adaptability to new neural network models deteriorates

Engineering Contradiction:
Improvehardware acceleration performanceVSAvoidflexibility to support new neural network models
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic neural network accelerator architecture where the hardware configuration can be reprogrammed at runtime to support different neural network layer types and operations. The accelerator includes configurable computation units that can be dynamically allocated based on the specific layer being executed, allowing the system to adapt to new models without fixed hardware constraints.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The accelerator design incorporates universal computation units that can perform multiple neural network operations (convolution, fully connected, pooling, normalization, etc.) through software configuration rather than dedicated hardware for each operation type. This multi-functional approach maintains high performance while providing flexibility to support diverse and emerging neural network architectures.

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

2Ease of operation

If custom instruction interface is implemented, then integration between software stack and hardware accelerator is improved, but device complexity increases

Engineering Contradiction:
Improveintegration between software stack and hardware acceleratorVSAvoidcomplexity of custom instruction interface
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a layer configuration manager and command control block that act as intermediaries between the embedded processor and the accelerator units. These intermediary components handle the complexity of custom instruction translation and accelerator configuration, presenting a simplified interface to the software stack while managing the underlying hardware complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The accelerator includes self-configuration capabilities where the hardware automatically configures itself based on instructions received from the embedded processor. The command control block autonomously translates high-level software commands into hardware-specific control signals, reducing the burden on the software stack and simplifying the overall integration interface.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If layer-based accelerator implementation is used, then flexibility for supporting various neural network models is improved, but resource consumption increases

Engineering Contradiction:
Improveflexibility for supporting various neural network modelsVSAvoidlogic and memory resource consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent divides the neural network accelerator into modular layer-specific acceleration units (convolution units, fully connected units, pooling units, normalization units). Each unit is independently configurable and can be enabled or disabled based on the specific neural network model requirements, allowing selective resource allocation that reduces overall resource consumption while maintaining flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The accelerator implements dynamic resource allocation where computation units and memory resources are allocated on-demand based on the specific layer being executed. The system can dynamically activate only the necessary accelerator units for the current operation, optimizing resource utilization and reducing power consumption for models that don't require all layer types.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240273334A1Neural network accelerator architecture based on custom instruction on FPGA
Publication Date: 2024.08.15 EFINIX INC
  • US20240273334A1 patent drawing
  • US20240273334A1 patent drawing
  • US20240273334A1 patent drawing

AI summary

The present invention relates to neural network accelerator (103) in a field programmable gate array (FPGA) which is based on custom instruction interface of an embedded processor (102) in said FPGA, wherein said neural network accelerator (103) comprises of a command control block (301), at least one neural network layer accelerator (303) and a response control block (305). The amount of neural network layer accelerators (103) that can be implemented can be configured easily (such as adding a new type of layer accelerator (303) to said neural network layer accelerator (103)) in said FPGA, which makes said invention flexible and scalable.