Fixed-Point CNN Hardware with Layer-Specific Exponents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing CNN implementations face challenges in terms of resource efficiency, particularly in silicon area and processing power, and require flexibility to adapt to changing definitions due to additional training.

Innovation Solution

A hardware implementation of CNNs using fixed-point format for weight and data vectors, with configurable logic circuitry and convolution blocks that optimize bit representation based on layer-specific value ranges, reducing redundancy and enhancing precision.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If fixed-point format with layer-specific exponent optimization is used, then silicon area and power consumption are reduced, but hardware complexity increases due to configurable logic circuitry

Engineering Contradiction:
Improvepower consumptionVSAvoidhardware complexity
Core Design Contradiction:
Use of energy by stationary objectVSDevice complexity

Solution Approach 1:

The patent applies local quality by implementing layer-specific exponent optimization where different exponent values are used for different layers of the CNN. The hardware configuration allows each layer to have customized exponent parameters tailored to the specific range of weight and data values in that layer, rather than using a uniform exponent across all layers. This localized optimization reduces the total number of bits required for representation in each layer, thereby reducing silicon area and power consumption while maintaining numerical accuracy.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamics through configurable logic circuitry that can be programmed with different exponent values for different layers. The hardware is designed to be reconfigurable, allowing the exponent parameters to be dynamically adjusted based on the specific CNN architecture and layer requirements. This dynamic configuration capability enables the system to adapt to varying data ranges across layers while maintaining optimized resource utilization.

Inventive Principle:
Principle #15Dynamics

2Area of stationary object

If fixed-point format with layer-specific exponent optimization is used, then silicon area is minimized, but manufacturing precision becomes more difficult due to configurable logic circuitry

Engineering Contradiction:
Improvesilicon areaVSAvoidmanufacturing precision
Core Design Contradiction:
Area of stationary objectVSManufacturing precision

Solution Approach 1:

The patent reduces silicon area by implementing local quality through layer-specific exponent optimization. Each layer is analyzed to determine the appropriate exponent value based on the actual range of weight and data values in that layer. This localized approach ensures that only the necessary number of bits are allocated for each layer, minimizing the total silicon area required while maintaining the precision needed for accurate computations in each specific layer.

Inventive Principle:
Principle #3Local quality

3Productivity

If traditional floating-point format is used, then processing capabilities are sufficient, but power consumption and silicon area increase

Engineering Contradiction:
Improveprocessing capabilitiesVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent applies parameter changes by transitioning from floating-point format to fixed-point format with layer-specific exponent optimization. This parameter change involves modifying the numerical representation scheme to use a fixed number of bits for the integer part and a fixed exponent for each layer, rather than using variable-length floating-point representation. The exponent parameter is optimized for each layer based on the specific data range, which reduces the total number of bits required and consequently reduces power consumption and silicon area while maintaining sufficient processing capabilities for CNN computations.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If uniform fixed-point format is used across all layers, then hardware simplicity is maintained, but precision is reduced due to redundant bits

Engineering Contradiction:
Improvehardware simplicityVSAvoidprecision
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent resolves this contradiction by implementing local quality through layer-specific exponent optimization. Instead of using a uniform fixed-point format across all layers, the system analyzes the specific data range and weight distribution in each layer and assigns an optimized exponent value for that layer. This localized customization eliminates redundant bits in layers with smaller value ranges while maintaining sufficient precision in layers that require higher precision, thereby improving overall system precision without significantly increasing hardware complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3901832B1Convolutional neural network hardware
Publication Date: 2025.09.17 IMAGINATION TECH LTD
  • EP3901832B1 patent drawingFigure 1
  • EP3901832B1 patent drawingFigure 2
  • EP3901832B1 patent drawingFigure 3

AI summary

Hardware to implement a convolutional neural network (CNN). The hardware comprises a convolution block that comprises a convolution operation hardware element. The convolution operation hardware element is configured to: perform a first inner product between a first weight vector and a first data vector for a layer of the CNN, the first weight vector comprising a plurality of weight values in a fixed point format defined by a number of integer bits and an exponent, the first data vector comprising a plurality of data values in a fixed point format defined by a number of integer bits and an exponent; receive a first data index indicating the exponent for the data values of the first data vector; receive a first weight index indicating the exponent for the weight values of the first weight vector; and calculate an exponent of the first inner product by adding the exponent for the data values of the first data vector and the exponent for the weight values of the first weight vector.