Floating Point Carry-Save MAC Unit Pipeline Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance arithmetic logic circuits, particularly floating-point multiply-and-accumulate units in processors, face challenges in achieving fast pipeline speeds due to complexity, which limits the ability to divide operations into discrete circuit units effectively.

Innovation Solution

A three-mode Floating Point Carry-Save MAC (FP-CS-MAC) unit is implemented with a pipeline configuration that operates in three modes, utilizing a 6-stage pipeline architecture, including a BF16 Multiplier, Carry-Save Accumulate stage, and normalization/rounding stages, to efficiently perform floating-point operations by converting between different number formats and representations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If floating-point multiply-and-accumulate operations are implemented with traditional addition circuits, then the operations can be performed, but the pipeline speed is limited due to carry propagation delays

Engineering Contradiction:
Improvepipeline speedVSAvoidcircuit complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The addition operation is segmented into two independent stages: carry-save addition followed by final carry-propagation addition. The carry-save stage divides the multi-operand addition into parallel partial sum and carry bit generation, eliminating sequential carry propagation delays and enabling faster pipeline throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The carry-save addition performs preliminary accumulation of partial products before final addition, generating intermediate sum and carry vectors that are ready for the next pipeline stage. This preliminary action allows the critical path to be shortened in subsequent stages, improving overall pipeline speed.

Inventive Principle:
Principle #10Preliminary action

2Speed

If the multiply-and-accumulate circuit is divided into discrete pipeline stages, then pipeline speed can be improved, but the complexity of the logic circuits increases

Engineering Contradiction:
Improvepipeline speedVSAvoidlogic circuit complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The pipeline is segmented into distinct functional stages: multiplication, carry-save addition, and final addition. Each stage performs a specific function with optimized logic, reducing the complexity within each stage while maintaining high overall pipeline speed through parallel processing across stages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The carry-save addition unit acts as an intermediary stage between multiplication and final addition, transforming multiple partial products into compressed sum and carry vectors. This intermediary structure simplifies the logic in each stage by handling the complex multi-operand accumulation task in a dedicated intermediate phase.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of manufacture

If traditional addition is used for accumulating partial products, then the implementation is straightforward, but the operation time increases due to carry propagation

Engineering Contradiction:
Improveimplementation simplicityVSAvoidoperation time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The addition process is segmented into carry-save phase (parallel bit-generation) and final addition phase (carry-propagation). This segmentation isolates the time-consuming carry propagation to a single final stage, while the majority of addition operations occur in parallel during the carry-save phase, significantly reducing total operation time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The carry-save addition performs preliminary accumulation of all partial products in parallel, generating pre-compressed sum and carry vectors before the final addition. This preliminary action eliminates iterative carry propagation across multiple operands, reducing operation time from O(n) to O(1) for the accumulation phase.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11429349B1Floating point multiply-add, accumulate unit with carry-save accumulator
Publication Date: 2022.08.30 SAMBANOVA SYSTEMS INC
  • US11429349B1 patent drawing
  • US11429349B1 patent drawing
  • US11429349B1 patent drawing

AI summary

Floating point Multiply-Add, Accumulate Unit, supporting BF16 format for Multiply-Accumulate operations, and FP32 Single-Precision Addition complying with the IEEE 754 Standard. The Multiply-Accumulate unit uses higher radix and longer internal 2's complement significand representation to facilitate precision as well as comparison and operation with negative numbers. The addition is performed using Carry-Save format to avoid long carry propagation and speed up the operation. Operations including overflow detection, zero detection and sign extension are adopted for 2s complement and Carry-Save format. Handling of Overflow and Sign Extension allows for fast operation relatively independent on the size of the accumulator.