Floating Point Unit Design for Reduced Gate Count

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing digital circuit implementations for floating point operations require a large number of gates and are not optimized for speed, making them inefficient in terms of resource usage and processing speed.

Innovation Solution

A floating point multiply-add-subtract implementation that simplifies computation by dropping the least significant bits of operands, uses additional exponent bits for error handling, and employs pipelining and multiplexers to handle operations efficiently, reducing the need for complex error detection circuitry and allowing simultaneous calculation of mantissa and exponent results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If standard floating point unit implementation is used, then operational accuracy is maintained, but gate count increases to approximately 12,800 gates

Engineering Contradiction:
Improvefloating point calculation accuracyVSAvoidgate count
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts and removes the least significant bits from the mantissa operands before computation. This truncation approach reduces the precision requirements of intermediate calculations, allowing the use of fewer gates while maintaining sufficient final result accuracy for the intended application domain.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent modifies the exponent representation by using two additional bits in the exponent field to encode error condition information (underflow, overflow, NaN). This parameter change allows the circuit to detect errors without requiring separate complex detection circuitry, thereby reducing overall gate count while maintaining operational integrity.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If complex error detection circuitry is implemented, then underflow, overflow, and NaN detection capability is improved, but device complexity increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidcircuitry complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the error detection function into the existing exponent calculation circuitry. By using two additional bits in the exponent field to represent error conditions, the design combines multiple functions (exponent calculation and error detection) into a single integrated structure, eliminating the need for separate error detection circuits and reducing overall complexity.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If sequential processing is used, then circuit complexity is reduced, but processing speed decreases

Engineering Contradiction:
Improvecircuit structure simplicityVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-calculating and preparing operand data in pipelined stages before the final computation. The least significant bits are truncated and exponent adjustments are made in advance, allowing the main computation unit to operate more efficiently and enabling higher clock frequencies without increasing critical path complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9417839B1Floating point multiply-add-substract implementation
Publication Date: 2016.08.16 THE GOVERNMENT OF THE UNITED STATES OF AMERICA AS REPRESENTED BY THE SECRETARY DEPARTMENT OF HEALTH & HUMAN SERVICES
  • US9417839B1 patent drawing
  • US9417839B1 patent drawing
  • US9417839B1 patent drawing

AI summary

A floating point multiply and addition/subtraction implementation is provided. Two operands are received in a standard floating point format with a code selecting a mathematic operation from addition, subtraction, and multiplication. Result mantissas and exponents are calculated simultaneously for all operations. The implementation simplifies computation of a result mantissa by dropping the least significant bits of the operands before computing the result. Underflow and overflow errors are shown by two extra bits in the exponent portion of the result. The mantissa result and the exponent result are selected by providing the operation code to a mantissa multiplexer and an exponent multiplexer. The selected mantissa and exponent are combined as output.