Floating-Point to Fixed-Point Conversion Circuit
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Floating-point arithmetic operations, particularly in applications like computer vision and neural networks, face variability in accuracy and efficiency due to the complexity of floating-point formats, leading to errors from rounding and reduced performance with fewer bits, such as in FP16 format.
Innovation Solution
A method and system that transform floating-point operands into fixed-point format, calculate a gain based on operand exponents, perform arithmetic operations in fixed-point format, and then convert back to floating-point format to minimize errors and improve performance, using a gain calculation circuit, normalization circuit, fixed-point operation circuit, and post-processing circuit.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If floating-point format is used to represent numbers, then the range of representable numbers increases, but the complexity of arithmetic operations increases
Solution Approach 1:
The patent introduces fixed-point format as an intermediary representation for performing arithmetic operations. Floating-point numbers are converted to fixed-point format for computation, where simpler arithmetic operations can be performed, and then converted back to floating-point format. This intermediary approach resolves the contradiction by enabling complex floating-point arithmetic through simpler fixed-point operations.
Solution Approach 2:
The patent changes the representation parameters of numbers during computation. By switching from floating-point format (with exponent and mantissa) to fixed-point format (with integer and fractional parts), the computational parameters are simplified. This parameter transformation allows arithmetic operations to be performed more efficiently while maintaining the ability to represent a wide range of values through the gain calculation.
2Loss of energy
If fewer bits are used (e.g., FP16 format), then hardware resource consumption decreases, but accuracy of arithmetic operations deteriorates
Solution Approach 1:
The patent changes the precision parameters dynamically by calculating a gain value based on the exponent range of input floating-point numbers. This gain determines the fixed-point format parameters (integer and fractional bit allocations), allowing the system to adapt precision to the actual data range. This resolves the contradiction by optimizing bit allocation rather than using a fixed low-precision format.
Solution Approach 2:
The patent introduces dynamic adaptation in the arithmetic operation system. The fixed-point format parameters are not static but are determined dynamically based on the exponent range of the input floating-point numbers. This dynamic parameter adjustment allows the system to maintain high accuracy when needed while using fewer bits when possible, resolving the contradiction between resource consumption and accuracy.
3Device complexity
If floating-point arithmetic operations are performed directly, then format simplicity is maintained, but performance variability across different applications increases
Solution Approach 1:
The patent standardizes performance by changing the representation parameter during computation. All floating-point arithmetic operations are performed by first converting to a unified fixed-point format determined by the maximum exponent range, ensuring consistent performance across different applications and input data ranges. This parameter unification resolves the performance variability issue.
Data Source
AI summary
A method performing floating-point operations may include; obtaining operands having a floating-point format, calculating a gain based on a range of exponents for the operands, generating intermediate values having a fixed-point format by applying the gain to the operands, generating a fixed-point result value having the fixed-point format by performing an operation on the intermediate values, and transforming the fixed-point result value into a floating-point output value having the floating-point format.


