Functional Neural Network Accelerator for Predictable Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current accelerator circuits for neural network computations, while offering high-performance at lower costs compared to GPUs, are difficult to integrate with CPU programming interfaces and debug due to their non-functional implementations.

Innovation Solution

Implementing accelerator circuits within a purely functional framework that allows direct programming and debugging, utilizing memory-to-memory instructions, custom call instructions, and a MAC matrix circuit for parallel computation, with CPU control and monitoring to ensure predictable performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If accelerator circuits are implemented with non-functional implementations to achieve high performance, then computational performance is improved, but debugging difficulty and integration complexity with CPU programming interfaces increases

Engineering Contradiction:
Improvecomputational performanceVSAvoiddebugging difficulty
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces a functional framework layer as an intermediary between the CPU programming interfaces and the accelerator circuit implementation. This framework provides memory-to-memory instructions and custom call instructions that enable high-performance computation while maintaining standard programming interfaces, thus resolving the contradiction between performance and ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The accelerator circuit is segmented into multiple independent functional units that can execute pure functional instructions in parallel. Each unit operates independently with well-defined inputs and outputs, which improves performance through parallelism while also making debugging easier by isolating functional errors to specific units.

Inventive Principle:
Principle #1Segmentation

2Speed

If accelerator circuits use non-functional implementations for high performance, then computational speed is improved, but integration with CPU programming interfaces becomes difficult

Engineering Contradiction:
Improvecomputational speedVSAvoidintegration capability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The functional framework implements a universal interface layer that supports multiple CPU programming interfaces and instruction formats. The memory-to-memory instructions and custom call instructions provide versatile adaptation mechanisms that allow the accelerator to integrate with different CPU architectures while maintaining high computational speed through optimized functional execution.

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

3Productivity

If parallel execution is enabled to improve performance, then productivity is improved, but control and monitoring complexity increases

Engineering Contradiction:
Improveparallel execution capabilityVSAvoidcontrol and monitoring complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms through custom call instructions that allow the CPU to monitor and control the parallel execution of functional units. The feedback loop enables the CPU to track execution status, manage data flow, and coordinate multiple parallel operations, thereby managing control complexity while maintaining high productivity through parallelism.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12530313B2System and architecture of pure functional neural network accelerator
Publication Date: 2026.01.20 HUAXIA GENERAL PROCESSOR TECH INC
  • US12530313B2 patent drawing
  • US12530313B2 patent drawing
  • US12530313B2 patent drawing

AI summary

An accelerator circuit includes a control interface to receive a stream of instructions, a first memory to store an input data, and an engine circuit. The engine circuit includes a dispatch circuit to decode an instruction of the stream of instructions into a plurality of commands and a plurality of queue circuits. Each of the plurality of queue circuits supports a queue data structure to store a respective one of the plurality of commands decoded from the instruction, and a plurality of command execution circuits. Each of the plurality of command execution circuits is to receive and execute a command extracted from a corresponding one of the plurality of queues.