US11609741B2ActiveUtilityA1
Apparatus and method for processing floating-point numbers
Est. expiryJul 19, 2039(~13 yrs left)· nominal 20-yr term from priority
Inventors:Sam Elliott
G06F 7/485G06F 7/575G06F 7/74G06F 7/50G06F 7/57
62
PatentIndex Score
0
Cited by
10
References
20
Claims
Abstract
Circuits and associated methods for processing two floating-point numbers (A, B) to generate a sum (A+B) of the two numbers and a difference (A-B) of the two numbers include calculating (806) a sum (|A|+|B|) of the absolute values of the two floating-point numbers, using a same-sign floating-point adder (1020), to produce a first result. The method further comprises calculating (808) a difference (|A|−|B|) of the absolute values to produce a second result. The sum (A+B) and the difference (A-B) are generated (810, 812) based on the first result (|A|+|B|), the second result (|A|−|B|), and the sign of each floating-point number.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A circuit configured to process an input set comprising two floating-point numbers (A, B), each of the floating-point numbers (A, B) having a sign, to generate a sum (A+B) and a difference (A-B) of the two floating-point numbers (A, B), the circuit comprising:
an input, configured to receive the two floating-point numbers (A, B) of the input set;
a same-sign floating-point adder, configured to calculate a sum of absolute values of the two floating-point numbers (A, B), to produce a first result;
a floating-point subtractor, configured to calculate a difference of the absolute values of the two floating-point numbers (A, B), to produce a second result; and
multiplexing and sign-correction logic, configured to generate the sum (A+B) of the two floating-point numbers (A, B) and the difference (A-B) of the two floating-point numbers (A, B) based on: the first result, the second result, and the sign of each of the floating-point numbers (A, B),
wherein the same-sign floating-point adder is implemented in fixed function circuitry configured to add together floating-point numbers having the same sign, and wherein the same-sign floating-point adder does not include circuitry configured to add together numbers having different signs.
2. The circuit of claim 1 , wherein the floating-point subtractor is implemented in fixed function circuitry.
3. The circuit of claim 1 , wherein the floating-point subtractor is implemented by a mixed-sign floating-point adder.
4. The circuit of claim 2 , wherein the floating-point subtractor is implemented by a mixed-sign floating-point adder.
5. The circuit of claim 1 , wherein the multiplexing and sign-correction logic is configured to:
generate the sum (A+B) of the two floating-point numbers (A, B) from one of the first result and the second result; and
generate the difference (A-B) of the two floating-point numbers (A, B) from the other of the first result and the second result.
6. The circuit of claim 1 , wherein the multiplexing and sign-correction logic is configured to correct a sign of the first result and a sign of the second result based on the sign of each of the two floating-point numbers (A, B).
7. The circuit of claim 5 , wherein the multiplexing and sign-correction logic is configured to correct a sign of the first result and a sign of the second result based on the sign of each of the two floating-point numbers (A, B).
8. A non-transitory computer readable storage medium having stored thereon a computer readable description of a circuit, which, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture an integrated circuit embodying the circuit,
wherein the circuit is configured to process an input set comprising two floating-point numbers (A, B), each of the floating-point numbers (A, B) having a sign, to generate a sum (A+B) and a difference (A-B) of the two floating-point numbers (A, B), the circuit comprising:
an input, configured to receive the two floating-point numbers (A, B) of the input set;
a same-sign floating-point adder, configured to calculate a sum of absolute values of the two floating-point numbers (A, B), to produce a first result;
a floating-point subtractor, configured to calculate a difference of the absolute values of the two floating-point numbers (A, B), to produce a second result; and
multiplexing and sign-correction logic, configured to generate the sum (A+B) of the two floating-point numbers (A, B) and the difference (A-B) of the two floating-point numbers (A, B) based on: the first result, the second result, and the sign of each of the floating-point numbers (A, B),
wherein the same-sign floating-point adder is implemented in fixed function circuitry configured to add together floating-point numbers having the same sign, and wherein the same-sign floating-point adder does not include circuitry configured to add together numbers having different signs.
9. The non-transitory computer readable storage medium of claim 8 , wherein the floating-point subtractor is implemented in fixed function circuitry.
10. The non-transitory computer readable storage medium of claim 8 , wherein the floating-point subtractor is implemented by a mixed-sign floating-point adder.
11. The non-transitory computer readable storage medium of claim 9 , wherein the floating-point subtractor is implemented by a mixed-sign floating-point adder.
12. The non-transitory computer readable storage medium of claim 8 , wherein the multiplexing and sign-correction logic is configured to:
generate the sum (A+B) of the two floating-point numbers (A, B) from one of the first result and the second result; and
generate the difference (A-B) of the two floating-point numbers (A, B) from the other of the first result and the second result.
13. The non-transitory computer readable storage medium of claim 8 , wherein the multiplexing and sign-correction logic is configured to correct a sign of the first result and a sign of the second result based on the sign of each of the two floating-point numbers (A, B).
14. The non-transitory computer readable storage medium of claim 12 , wherein the multiplexing and sign-correction logic is configured to correct a sign of the first result and a sign of the second result based on the sign of each of the two floating-point numbers (A, B).
15. A non-transitory computer-readable storage medium, having stored thereon computer program code configured to cause one or more processors to perform, when the computer program code is run on the one or more processors, a method of processing a computer-readable description of an integrated circuit to generate a representation of the integrated circuit, the method comprising:
receiving the computer-readable description of the integrated circuit;
identifying, in the computer-readable description of the integrated circuit, a description of one or more functional blocks for calculating a sum and difference of two floating-point numbers, each of the floating point numbers having a sign; and
generating the representation of the integrated circuit, wherein said one or more functional blocks are represented, in the representation of the integrated circuit, as a circuit comprising:
an input, configured to receive the two floating-point numbers;
a same-sign floating-point adder, configured to calculate a sum of absolute values of the two floating-point numbers, to produce a first result;
a floating-point subtractor, configured to calculate a difference of the absolute values of the two floating-point numbers, to produce a second result; and
multiplexing and sign-correction logic, configured to generate the sum of the two floating-point numbers and the difference of the two floating-point numbers based on: the first result, the second result, and the sign of each of the floating-point numbers,
wherein the same-sign floating-point adder is implemented in fixed function circuitry configured to add together floating-point numbers having the same sign, and wherein the same-sign floating-point adder does not include circuitry configured to add together numbers having different signs.
16. The non-transitory computer readable storage medium of claim 15 , wherein the floating-point subtractor is implemented in fixed function circuitry.
17. The non-transitory computer readable storage medium of claim 15 , wherein the floating-point subtractor is implemented by a mixed-sign floating-point adder.
18. The non-transitory computer readable storage medium of claim 16 , wherein the floating-point subtractor is implemented by a mixed-sign floating-point adder.
19. The non-transitory computer readable storage medium of claim 15 , wherein the multiplexing and sign-correction logic is configured to:
generate the sum of the two floating-point numbers from one of the first result and the second result; and
generate the difference of the two floating-point numbers from the other of the first result and the second result.
20. The non-transitory computer readable storage medium of claim 15 , wherein the multiplexing and sign-correction logic is configured to correct a sign of the first result and a sign of the second result based on the sign of each of the two floating-point numbers.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.