Binary Multiply-Accumulate System Using Weight Copies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deep neural networks (DNNs) face inefficiencies in performing binary multiply-accumulate operations due to the high cost and complexity of floating-point operations, particularly in convolution processes, which consume significant die area and power.

Innovation Solution

A method involving the use of multiple partial copies of weights, where each copy is XORed with corresponding input bits and aggregated in destination sub-locations, with the filter index determining the number of copies and shifts, allowing for efficient binary multiply-accumulate operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If floating point values are used for DNN operations, then computational precision is improved, but power consumption and die area increase significantly

Engineering Contradiction:
Improvecomputational precisionVSAvoidpower consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent changes the numerical representation parameter from floating-point to binary format, and transforms the computational operation from multiplication to XOR logic operations. This parameter transformation enables DNN operations to be performed using simple binary logic gates instead of complex floating-point arithmetic units, dramatically reducing power consumption while maintaining sufficient precision for binary-weighted neural network operations

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If floating point values are used for DNN operations, then computational precision is improved, but device complexity increases significantly

Engineering Contradiction:
Improvecomputational precisionVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent substitutes complex mechanical/computational systems (floating-point arithmetic units with multiplication and addition capabilities) with simpler binary logic systems using XOR gates and bit-shifting operations. This replacement eliminates the need for complex floating-point hardware while achieving the same functional outcome through binary logic operations

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent changes the computational parameter representation from floating-point format to binary format, and transforms the mathematical operations from multiplication-accumulation to XOR-based logic operations. This parameter transformation simplifies the device architecture by replacing complex arithmetic logic units with basic logic gates

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If traditional convolution operations are implemented, then DNN functionality is achieved, but die area consumption increases

Engineering Contradiction:
ImproveDNN functionalityVSAvoiddie area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent substitutes traditional convolution operations that require large arithmetic logic units with binary-based operations using XOR gates and bit-manipulation instructions. This substitution maintains full DNN functionality including convolution, pooling, and activation operations while reducing the die area required for the neural network accelerator

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS20220414420A1Ultra-low-power and low-area solution of binary multiply-accumulate system and method
Publication Date: 2022.12.29 STMICROELECTRONICS SRL
  • US20220414420A1 patent drawing
  • US20220414420A1 patent drawing
  • US20220414420A1 patent drawing

AI summary

Data structure and microcontroller architecture performing binary multiply-accumulate operations using multiple partial copies of weights. Destination-register location, source-register location, and weight-register location are received. Using the weight-register location, a sub-set of the weight bits is copied a select number of times based on a filter index value that is received. Each copy of the sub-set of weights is executed in parallel. Using the source-register location, a sub-set of the input bits is selected based on the size of the sub-set of weights, wherein the sub-set of input bits is shifted one bit from a previous sub-set of input bits. XOR operation is performed on each corresponding bit in the copy of the sub-set of weights with each corresponding bit in the selected sub-set of input bits. In a corresponding destination sub-location, output of each XOR operation is aggregated with each other and with current value of the corresponding destination sub-location.