FUSED MULTIPLY-ADD APPARATUS AND METHOD
First Claim
1. A fused multiply-add (FMA) apparatus comprising:
- a partial product generator configured to generate a partial sum and a partial carry by dividing each of the mantissas of first and second floating-point numbers into a plurality of n-bit segments, computing partial products of the n-bit segments, and adding up the computed partial products;
a carry save adder configured to generate a partial sum that has a first bit size and a partial carry that has the first bit size by adding the partial sum and the partial carry to the least significant bits (LSBs) of a mantissa of a third floating-point number;
a carry select adder configured to generate a mantissa that has a second bit size by adding the first bit-size partial sum and the first bit-size partial carry to the most significant bits (MSBs) of the third floating-point number; and
a first selector configured to transmit the partial sum and the partial carry to the carry save adder or the carry select adder based on whether the mantissa of the third floating-point number is zero.
2 Assignments
0 Petitions
Accused Products
Abstract
A fixed multiply-add (FMA) apparatus and method are provided. The FMA apparatus includes a partial product generator configured to generate a partial sum and a partial carry, a carry save adder configured to generate a partial sum having a first bit size and a partial carry having the first bit size by adding the partial sum and the partial carry to least significant bits (LSBs) of the mantissa of a third floating-point number, a carry select adder configured to generate a mantissa having a second bit size by adding the first bit-size partial sum and the first bit-size partial carry to most significant bits (MSBs) of the third floating-point number, and a selector configured to transmit the first bit-size partial sum and the first bit-size partial carry to the carry save adder or the carry select adder according to whether the mantissa of the third floating-point number is zero.
-
Citations
16 Claims
-
1. A fused multiply-add (FMA) apparatus comprising:
-
a partial product generator configured to generate a partial sum and a partial carry by dividing each of the mantissas of first and second floating-point numbers into a plurality of n-bit segments, computing partial products of the n-bit segments, and adding up the computed partial products; a carry save adder configured to generate a partial sum that has a first bit size and a partial carry that has the first bit size by adding the partial sum and the partial carry to the least significant bits (LSBs) of a mantissa of a third floating-point number; a carry select adder configured to generate a mantissa that has a second bit size by adding the first bit-size partial sum and the first bit-size partial carry to the most significant bits (MSBs) of the third floating-point number; and a first selector configured to transmit the partial sum and the partial carry to the carry save adder or the carry select adder based on whether the mantissa of the third floating-point number is zero. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An FMA method comprising:
-
generating a partial sum and a partial carry by dividing each of the mantissas of first and second floating-point numbers into a plurality of n-bit segments, computing partial products of the n-bit segments, and adding up the computed partial products; determining whether the mantissa of a third floating-point number is zero; if the mantissa of the third floating-point number is zero, generating a partial sum that has a first bit size and a partial carry that has the first bit size by adding the partial sum and the partial carry to the LSBs of the mantissa of the third floating-point number, and extending the MSBs of the mantissa of the third floating-point number; and generating a mantissa that has a second bit size by adding the first bit-size partial sum and the first bit-size partial carry to the extended MSBs. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A fused multiply-add (FMA) apparatus comprising:
-
a partial product generator that generates a partial product and a partial carry based on a mantissa of a first floating-point number and a mantissa of the second floating-point number; a carry save adder that adds the partial sum and the partial carry to one or more least significant bits (LSBs) of a third floating-point number to generate a first bit-size partial sum and a first bit-size partial carry; a carry select adder that adds the partial sum and partial carry to one or more most significant bits (MSBs) of the third floating point number or adds the first bit-size partial carry and the first bit-size partial sum to the one more MSBs of the third floating-point number, to generate a second bit-size partial sum and a second bit-size partial carry; a storage that temporarily stores the second bit-size partial sum and the second bit-size partial carry; and a selector that receives a signal that indicates whether the LSBs of the third floating-point number are zero, and determines whether to transmit the partial sum and the partial carry to the carry save adder or the carry select adder based on the received signal. - View Dependent Claims (15, 16)
-
Specification