2D Circulation Shift Register Convolution for Lower-Power CNN Hardware
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The conversion of convolution operations into matrix operations in existing convolutional computation devices leads to increased hardware and data processing requirements, resulting in higher power consumption.
Innovation Solution
A convolutional computation device incorporating a two-dimensional circulation shift register and a multiplier-accumulator that performs multiply-accumulate operations on input data and weight data, without converting the input data for matrix operations, thereby reducing hardware and data processing needs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If convolution operations are converted into matrix operations, then the computation can be performed using standard linear algebra methods, but the hardware complexity and data processing requirements increase
Solution Approach 1:
The patent segments the input data into non-overlapping blocks and processes each block independently through the circulation shift register. This segmentation avoids the need to handle overlapped data regions, reducing hardware complexity while maintaining computational effectiveness for convolution operations.
Solution Approach 2:
Instead of converting convolution to matrix operations (conventional approach), the patent inverts the approach by directly implementing convolution through the circulation shift register's natural data flow properties. This inversion eliminates the need for complex matrix conversion hardware while achieving the same computational goal.
2Reliability
If data is duplicated to handle overlapped input regions, then complete convolution coverage is achieved, but power consumption increases
Solution Approach 1:
The patent extracts and processes only the necessary non-overlapping data blocks required for convolution, eliminating the need to duplicate data for overlapped regions. The circulation shift register naturally handles the sliding window effect through its cyclic data flow, reducing power consumption while maintaining complete convolution coverage.
Solution Approach 2:
The circulation shift register maintains continuous data flow through cyclic shifting, allowing the same hardware to continuously process different data blocks without duplication. This continuous action ensures complete convolution coverage across all regions while avoiding the energy cost of data duplication.
3Measurement precision
If more data is processed to ensure complete convolution coverage, then accuracy is improved, but data processing time increases
Solution Approach 1:
The patent performs preliminary organization of input data into non-overlapping blocks before convolution processing. The circulation shift register is pre-configured to cycle through these blocks systematically, ensuring complete coverage without redundant processing. This preliminary organization maintains accuracy while minimizing processing time.
Solution Approach 2:
The circulation shift register employs periodic cyclic shifting to systematically process each data block in sequence. This periodic action ensures that all necessary regions are covered for complete convolution accuracy, while the regular rhythm of cyclic shifts optimizes processing efficiency and reduces overall data processing time.
Data Source
AI summary
A convolutional computation device includes a two-dimensional circulation shift register unit and one or more multiplier-accumulators. The two-dimensional circulation shift register has storage elements, cyclically shifts the data among the storage elements, provides one or more input window in a predetermined area, and selects the data stored in one of the storage elements disposed in the input window as input data. The one or more multiplier-accumulators generate output data by performing a multiply-accumulate operation on the input data input from the two-dimensional circulation shift register unit and weight data from a predetermined filter.


