Floating Point Adder With Three Paths for Lower Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing floating point adders, especially those implemented in hardware, face inefficiencies when adding a power of 2 to a variable input in floating point format, particularly in terms of latency and power consumption, despite optimizations through input constraints.

Innovation Solution

A floating point adder is designed with three distinct paths and selection logic to optimize calculations based on the value of the input, specifically for calculating 2^n + x, where x is in floating point format, by utilizing separate paths for different ranges of x values, thereby reducing unnecessary components and improving efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a general purpose floating point adder is used to add two floating point numbers, then the adder can handle all possible input combinations, but the latency and power consumption increase due to the need for alignment units, renormalizer units, and exception handling units

Engineering Contradiction:
Improveinput range handlingVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent divides the adder into three distinct paths (first path for xn−1≤|x|<2n+1, second path for |x|<2n, third path for |x|≥2n), each optimized for specific input ranges. This segmentation allows each path to use simplified circuitry appropriate for its range, reducing overall latency while maintaining full input coverage through selection logic that routes to the appropriate path.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a general purpose floating point adder is used to add two floating point numbers, then the adder can handle all possible input combinations, but the power consumption increases due to the need for alignment units, renormalizer units, and exception handling units

Engineering Contradiction:
Improveinput range handlingVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent divides the adder into three distinct paths (first path for xn−1≤|x|<2n+1, second path for |x|<2n, third path for |x|≥2n), each optimized for specific input ranges. This segmentation allows each path to use simplified circuitry appropriate for its range, reducing overall power consumption while maintaining full input coverage through selection logic that routes to the appropriate path.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If input constraints are applied to optimize the adder for specific cases, then the latency and power consumption are reduced, but the adaptability to handle all input combinations is limited

Engineering Contradiction:
ImprovelatencyVSAvoidinput range handling
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent employs dynamic path selection based on the input value ranges. The selection logic dynamically determines which of the three paths to use based on the relationship between x and n, allowing the circuit to adapt its behavior to the specific input values. This dynamic adaptation enables the system to use optimized simplified paths when applicable while maintaining full generality through the selection mechanism.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250258646A1Floating Point Adder
Publication Date: 2025.08.14 IMAGINATION TECH LTD
  • US20250258646A1 patent drawing
  • US20250258646A1 patent drawing
  • US20250258646A1 patent drawing

AI summary

An adder and a method for calculating 2n+x are provided, where x is a variable input expressed in a floating point format and n is an integer. The adder comprises a first path configured to calculate 2n+x for x&lt;0 and 2n−1≤|x|&lt;2n+1; a second path configured to calculate 2n+x for |x|&lt;2n; a third path configured to calculate 2n+x for |x|≥2n; and selection logic configured to cause the adder to output a result from one of the first, second, and third paths in dependence on the values of x and n.