Dual-Path Floating-Point Operators With Shared Adder Architecture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As the number of floating-point operators in integrated circuit devices increases, from tens to thousands, existing technologies face inefficiencies in implementing floating-point operations, requiring more resources and demanding improved design methods to enhance performance.
Innovation Solution
The implementation of dual-path floating-point operators with separate near and far paths that diverge and converge to share circuitry, utilizing a shared adder/subtractor and combining count leading zeros and shifting functions into a single circuit, along with efficient rounding techniques, to reduce latency and area usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional floating-point operator designs are used, then the circuit can perform floating-point operations, but the area usage and latency increase as the number of operators expands to thousands
Solution Approach 1:
The floating-point operator is divided into two separate processing paths: a first path for operations where exponent difference is within a threshold, and a second path for operations where exponent difference exceeds the threshold. This segmentation allows each path to be optimized independently, reducing overall circuit area while maintaining high productivity for both operation types.
Solution Approach 2:
The patent creates a unified floating-point operator design that handles multiple operation types (addition and subtraction) and multiple exponent difference scenarios (near and far cases) within a single circuit structure. The operator can dynamically switch between different processing paths based on the input characteristics, achieving multi-functionality without requiring separate dedicated circuits for each operation type.
2Productivity
If traditional floating-point operator designs are used, then the circuit can perform floating-point operations, but the latency increases with larger numbers of operators
Solution Approach 1:
By segmenting the processing into near-path and far-path, the patent reduces the critical path latency for each operation type. The near-path handles common cases with smaller exponent differences using optimized logic, while the far-path handles less common cases with larger exponent differences. This segmentation ensures that the most frequent operations experience minimal latency.
Solution Approach 2:
The patent performs preliminary comparison of exponent differences before selecting the processing path. This preliminary action allows the circuit to quickly determine whether to use the near-path or far-path, avoiding unnecessary processing steps and reducing overall latency for both addition and subtraction operations.
3Productivity
If separate circuits are used for near and far paths, then each path can be optimized, but the device complexity increases
Solution Approach 1:
The patent implements a unified floating-point operator that contains both near-path and far-path processing capabilities within a single device. The operator uses control logic to dynamically select between paths based on exponent difference comparison, achieving optimized performance for both operation types without requiring separate physical circuits. This multi-functional design maintains manageable device complexity while delivering high operation efficiency.
Data Source
AI summary
Systems and methods related to performing arithmetic operations on floating-point numbers. Floating-point arithmetic circuitry is configured to receive two floating-point numbers. The floating-point arithmetic circuitry includes a first path configured to perform a first operation on the two floating-point numbers based at least in part on a difference in size between the two floating-point numbers. The floating-point arithmetic circuitry includes a second path configured to perform a second operation on the two floating-point numbers based at least in part on the difference is size between the two floating-point numbers. The first path and the second path diverge from each other after receipt of the floating-point numbers in the floating-point arithmetic circuitry and converge on a shared adder that is used for the first operation and the second operation.


