Abstract :
The fixed-point binary representation, an integer format with an implied binary point, is an alternative to the IEEE floating-point binary layout. Systems that do not support the IEEE floating-point format, e.g., mobile devices, use the fixed-point format because it fits well into integer data paths whereas floating-point requires its own data path. Software developers who port to fixed-point systems often face issues when balancing range and precision. Those issues, overflow and large rounding errors, often arise from arithmetic operations, making debugging more difficult. The proposed solution limits hardware support to a set of fixed-point formats and adjusts the format of the output based on the user supplied format and overflow. The format of the result is readjusted on overflow in order to return a useful result but with the sacrifice of precision. In addition to the corrected result, the overflow flag is raised so the software and subsequent logic are aware of the readjustment in the result´s format. This work has been implemented in a fixed-point multiplier because multiplication yields the largest overflow among the four basic arithmetic operations. In order to detect overflow early, the fixed-point multiplier adopts preliminary overflow detection. With the idea of taking the burden of fixed-point scaling off of the programmer, the fixed-point multiplier with overflow detection and correction provides a starting point towards mitigating fixed-point errors.
Keywords :
analogue multipliers; computer debugging; fixed point arithmetic; arithmetic operation; debugging; fixed-point binary representation; fixed-point multiplier; overflow detection-correction; Computer science; Debugging; Error correction; Fixed-point arithmetic; Hardware; Logic; Programming profession; Roundoff errors; Runtime; USA Councils;