Left Shift Saturation Detection in Digital Signal Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Standard hardware shifters using two's complement notation fail to properly saturate results after left shifting, leading to inaccuracies and overflow issues when handling large positive numbers, as they cannot detect and manage the loss of information effectively.
Innovation Solution
A left/right arithmetic shifter system that includes a left shift channel and an arithmetic right shift channel, where the right shift channel produces bits identical to those shifted out of the left shift channel, and a saturation checking unit determines if the left shift result requires saturation by examining the concatenated result with the MSB, setting the result to the maximum positive or negative value if necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a standard hardware shifter is used for left shifting data, then the shifting operation is fast and simple, but the result cannot be properly saturated when overflow occurs
Solution Approach 1:
The shifter is divided into two independent channels: a left shift channel that performs the left shifting operation and a right arithmetic shift channel that performs saturation detection. This segmentation allows each channel to specialize in its function, with the right shift channel detecting overflow conditions by comparing the shifted-out bits with the original sign bit, thereby achieving proper saturation without significantly increasing overall complexity.
Solution Approach 2:
The right arithmetic shift channel performs saturation detection in advance by examining the bits that are shifted out during the left shifting operation. By detecting potential overflow conditions before they affect the final result, the system can preemptively saturate the output to the appropriate maximum or minimum value, ensuring reliability without requiring complex post-processing.
2Loss of information
If left shifting is performed without saturation detection, then the operation is simple and fast, but information loss cannot be detected leading to inaccurate results
Solution Approach 1:
The right arithmetic shift channel acts as an intermediary that monitors the left shifting operation. It receives the same input data and shift amount, performs a right arithmetic shift, and compares its result with the left shift output to detect information loss. This intermediary mechanism enables overflow detection without requiring the main left shift channel to become significantly more complex.
3Measurement precision
If saturation checking is added to detect overflow, then accuracy is improved, but the device complexity and processing time increase
Solution Approach 1:
The left and right shift channels operate in parallel and simultaneously, maintaining continuous useful action throughout the processing. Both channels receive input data and perform their respective operations at the same time, with the right shift channel continuously monitoring for overflow conditions. This parallel operation ensures that saturation checking does not add significant processing time, as both operations complete concurrently rather than sequentially.
Data Source
AI summary
A method for left shifting data includes left shifting the data to produce a left-shift result, right shifting the data to produce a right-shift result, and determining if the left-shift result requires saturation based on the right-shift result.


