インテル® Stratix® 10可変精度DSPブロック・ユーザーガイド

ID 683832
日付 5/08/2017
Public
ドキュメント目次

2.11. 浮動小数点演算に対する例外処理

Stratix® 10の浮動小数点演算は、乗算器ブロックと加算器ブロックの例外処理をサポートしています

表 9.  サポートされる例外フラグ
例外フラグ 概要
乗算
mult_overflow 1

この信号は、乗算結果が最大提示可能値と比較してより大きい値であるかどうかを示します。

1: 乗算結果が最大提示可能値と比較してより大きい値である。

0: 乗算結果が正規化された浮動小数点または適切な範囲内である。

この信号は、加算または減算モードでは使用できません。

mult_underflow 1

この信号は、乗算結果が最小提示可能値と比較してより小さい値であるかどうかを示します。

1: 乗算結果が最小提示可能値と比較してより小さい値である。

0: 乗算結果が正規化された浮動小数点またはゼロ数である。

この信号は、加算または減算モードでは使用できません。

mult_inexact 1

この信号は、乗算結果が正しい表現であるかどうかを示します。

1: 乗算結果が:
  • 丸められた値である
  • 最小提示可能値と比較してより小さい値である
  • 最大提示可能値と比較してより大きい値である

0: 乗算結果が正規化された浮動小数点またはゼロ数である。

この信号は、加算または減算モードでは使用できません。

mult_invalid 1

この信号は、乗算結果が有効あるいは無効な数または表現であるかを示します。

1: 乗算結果が有効である。

0: 乗算結果が正規化された浮動小数点またはゼロ数である。

この信号は、加算または減算モードでは使用できません。

加算
adder_overflow 1

この信号は、加算結果が最大提示可能値と比較してより大きい値であるかどうかを示します。

1: 加算結果が最大提示可能値と比較してより大きい値である。

0: 加算結果が正規化された浮動小数点または適切な範囲内である。

このオプションは、乗算モードでは使用できません。

adder_underflow 1

この信号は、加算結果が最小提示可能値と比較してより小さい値であるかどうかを示します。

1: 加算結果が最小提示可能値と比較してより小さい値である。

0: 加算結果が正規化された浮動小数点またはゼロ数である。

このオプションは、乗算モードでは使用できません。

adder_inexact 1

この信号は、加算結果が正しい表現であるかどうかを示します。

1: 加算結果が:
  • 丸められた値である
  • 最小提示可能値と比較してより小さい値である
  • 最大提示可能値と比較してより大きい値である

0: 加算結果が正規化された浮動小数点またはゼロ数である。

このオプションは、乗算モードでは使用できません。

adder_invalid 1

この信号は、加算結果の数および表現が有効または無効であるかを示します。

1: 加算結果の数および表現が無効である。

0: 加算結果が正規化された浮動小数点またはゼロ数である。

このオプションは、乗算モードでは使用できません。

表 10.  乗算例外処理で生じる結果
入力A 入力B 結果

フラグ

オーバーフロー/アンダーフロー/不正確/無効

Normalized Normalized 正規化された値 0/0/0/0
正規化された (丸められた) 値 0/0/1/0
正/負の無限大数 1/0/1/0
非正規値 0/1/1/0
0またはSubnormal (denormal) Normalized 0値 0/0/0/0
Positive/negative infinity Normalized 正/負の無限大数 0/0/0/0
Quiet Not A Number (qNaN) Normalized qNaN value 0/0/0/0
0またはSubnormal (denormal) 0またはSubnormal (denormal) 0値 0/0/0/0
正/負の無限大 0またはSubnormal (denormal) qNaN value 0/0/0/1
Quiet Not A Number (qNaN) 0またはSubnormal (denormal) qNaN value 0/0/0/0
正/負の無限大 正/負の無限大 正/負の無限大数 0/0/0/0
Quiet Not A Number (qNaN) 正/負の無限大 qNaN値 0/0/0/0
Quiet Not A Number (qNaN) Quiet Not A Number (qNaN) qNaN値 0/0/0/0
表 11.  加算例外処理で生じる結果
入力A 入力B 結果

フラグ

オーバーフロー/アンダーフロー/不正確/無効

Normalized Normalized 正規化された値 0/0/0/0
正規化された (丸められた) 値 0/0/1/0
正/負の無限大数 1/0/1/0
0値

符号ビット = 0

0/0/0/0
非正規値

この符号は保存されます

0/1/1/0
0またはSubnormal (denormal) Normalized 入力b 0/0/0/0
正/負の無限大 Normalized 正/負の無限大数 0/0/0/0
Quiet Not A Number (qNaN) Normalized qNaN値 0/0/0/0
0またはSubnormal (denormal) 0またはSubnormal (denormal) 0値

(-0 + (-0)) 式の場合、符号ビット = 1です。これ以外の式に対しては、符号ビット = 0となります。

0/0/0/0
正/負の無限大 0またはSubnormal (denormal) 正/負の無限大数 0/0/0/0
Quiet Not A Number (qNaN) 0またはSubnormal (denormal) qNaN値 0/0/0/0
正/負の無限大 正/負の無限大

無効なケースに対しては、qNaN値

有効なケースに対しては、正/負の無限大値

無効なケースに対しては、0/0/0/1

有効なケースに対しては、0/0/0/0

以下は有効なケースです。
  • 正の無限大値 + 正の無限大値
  • 負の無限大値 + 負の無限大値
  • 負の無限大値 - 正の無限大
  • 正の無限大値 - 負無限大値
Quiet Not A Number (qNaN) 正/負の無限大 qNaN値 0/0/0/0
Quiet Not A Number (qNaN) Quiet Not A Number (qNaN) qNaN値 0/0/0/0