Visible to Intel only — GUID: kly1440664149493
Ixiasoft
Visible to Intel only — GUID: kly1440664149493
Ixiasoft
2.11. Exception Handling for Floating-Point Arithmetic
The Stratix® 10 floating-point arithmetic supports exception handling for the multiplier and adder blocks.
Exception Flags | Width | Description |
---|---|---|
Multiplication | ||
mult_overflow | 1 | This signal indicates if the multiplier result is a larger value compared to the maximum presentable value. 1: If the multiplier result is a larger value compared to the maximum representable value and the result is cast to infinity. 0: If the multiplier result is not larger than the maximum presentable value. This signal is not available in Adder or Subtract Mode. |
mult_underflow | 1 | This signal indicates if the multiplier result is a smaller value compared to the minimum presentable value. 1: If the multiplier result is a smaller value compared to the minimum representable value and the result is flushed to zero. 0: If the multiplier result is a larger than the minimum representable value. This signal is not available in Adder or Subtract Mode. |
mult_inexact | 1 | This signal indicates if the multiplier result is an exact representation.
1: If the multiplier result is:
0: If the multiplier result does not meet any of the criteria above. This signal is not available in Adder or Subtract Mode. |
mult_invalid | 1 | This signal indicates if the multiplier operation is ill-defined and produces an invalid result. 1: If the multiplier result is invalid and cast to qNaN. 0: If the multiplier result is not an invalid number. This signal is not available in Adder or Subtract Mode. |
Addition | ||
adder_overflow | 1 | This signal indicates if the adder result is a larger value compared to the maximum representable value. 1: If the adder result is a larger value compared to the maximum presentable value and the result is cast to infinity. 0: If the adder result is not larger than the maximum presentable value. This signal is not available in Multiplication Mode. |
adder_underflow | 1 | This signal indicates if the adder result is a smaller value compared to the minimum presentable value. 1: If the adder result is a smaller value compared to the minimum representable value and the result is flushed to zero. 0: If the adder result is a larger than the minimum representable value. This signal is not available in Multiplication Mode. |
adder_inexact | 1 | This signal indicates if the adder result is an exact representation.
1: If the adder result is:
0: If the adder result does not meet any of the criteria above. This signal is not available in Multiplication Mode. |
adder_invalid | 1 | This signal indicates if the adder operation is ill-defined and produces an invalid result. 1: If the adder result is invalid and cast to qNaN. 0: If the adder result is not an invalid number. This signal is not available in Multiplication Mode. |
Input A | Input B | Result | 4 Flags Overflow/Underflow/Inexact/Invalid |
---|---|---|---|
Normalized | Normalized | Normalized value | 0/0/0/0 |
Normalized (rounded) value | 0/0/1/0 | ||
Positive/negative infinity value | 1/0/1/0 | ||
Subnormal (denormal) value | 0/1/1/0 | ||
0 or Subnormal (denormal) | Normalized | 0 value | 0/0/0/0 |
Positive/negative infinity | Normalized | Positive/negative infinity value | 0/0/0/0 |
Quiet Not A Number (qNaN) | Normalized | qNaN value | 0/0/0/0 |
0 or Subnormal (denormal) | 0 or Subnormal (denormal) | 0 value | 0/0/0/0 |
Positive/negative infinity | 0 or Subnormal (denormal) | qNaN value | 0/0/0/1 |
Quiet Not A Number (qNaN) | 0 or Subnormal (denormal) | qNaN value | 0/0/0/0 |
Positive/negative infinity | Positive/negative Infinity | Positive/negative infinity value | 0/0/0/0 |
Quiet Not A Number (qNaN) | Positive/negative Infinity | qNaN value | 0/0/0/0 |
Quiet Not A Number (qNaN) | Quiet Not A Number (qNaN) | qNaN value | 0/0/0/0 |
Input A | Input B | Result : | 4 Flags Overflow/Underflow/Inexact/Invalid |
---|---|---|---|
Normalized | Normalized | Normalized value | 0/0/0/0 |
Normalized (rounded) value | 0/0/1/0 | ||
Positive/negative infinity value | 1/0/1/0 | ||
0 value Sign bit = 0 |
0/0/0/0 | ||
Subnormal (denormal) value The sign is preserved |
0/1/1/0 | ||
0 or Subnormal (denormal) | Normalized | Input b | 0/0/0/0 |
Positive/negative infinity | Normalized | Positive/negative infinity value | 0/0/0/0 |
Quiet Not A Number (qNaN) | Normalized | qNaN value | 0/0/0/0 |
0 or Subnormal (denormal) | 0 or Subnormal (denormal) | 0 value For (-0 + (-0)) equation, sign bit = 1. For any other equation, sign bit = 0. |
0/0/0/0 |
Positive/negative infinity | 0 or Subnormal (denormal) | Positive/negative infinity value | 0/0/0/0 |
Quiet Not A Number (qNaN) | 0 or Subnormal (denormal) | qNaN value | 0/0/0/0 |
Positive/negative infinity | Positive/negative infinity | qNaN value for invalid cases Positive/negative infinity value for valid cases |
0/0/0/1 for invalid cases 0/0/0/0 for valid cases
Valid cases are:
|
Quiet Not A Number (qNaN) | Positive/negative infinity | qNaN value | 0/0/0/0 |
Quiet Not A Number (qNaN) | Quiet Not A Number (qNaN) | qNaN value | 0/0/0/0 |