インテルのみ表示可能 — GUID: iga1409260938251
Ixiasoft
インテルのみ表示可能 — GUID: iga1409260938251
Ixiasoft
2.3.3.1. Floating Point Custom Instruction 2 コンポーネント
- 加算
- 減算
- 乗算
- 除算
- 平方根
- 比較
- 整数変換
- 最小
- 最大
- 否定
- 絶対
その他の浮動小数点演算 ( 倍精度演算を含む ) は、ソフトウェア・エミュレーションで実装されています。コンポーネントには、次のデバイスリソースを必要とします。
- 最大 2,500 個の 4 入力 LE
- 9 x 9 ビット 乗算器
- 3x M9K メモリー
次の表は、a と b が単精度浮動小数点値とみなされています。
演算 2 | N 3 | サイクル | 結果 | 非正規化数 | 丸め | GCC インターフェイス |
---|---|---|---|---|---|---|
fdivs | 255 | 16 | a ÷ b | 0 にフラッシュ | Nearest | a / b |
fsubs | 254 | 5 | a – b | 0 にフラッシュ | Faithful | a – b |
fadds | 253 | 5 | a + b | 0 にフラッシュ | Faithful | a + b |
fmuls | 252 | 4 | a x b | 0 にフラッシュ | Faithful | a * b |
fsqrts | 251 | 8 | 0 にフラッシュ | Faithful | sqrtf() 4 | |
floatis | 250 | 4 | int_to_float(a) | 適用外 | 適用外 | キャスティング |
fixsi | 249 | 2 | float_to_int(a) | 0 にフラッシュ | 切り捨て | キャスティング |
round | 248 | 2 | float_to_int(a) | 0 にフラッシュ | Nearest | lroundf()4 |
Reserved | 234 ~ 247 | 未定義 | 未定義 | |||
fmins | 233 | 1 | (a < b) ? a : b | サポート可能 | なし | fminf()4 |
fmaxs | 232 | 1 | (a < b) ? b : a | サポート可能 | なし | fmaxf()4 |
fcmplts | 231 | 1 | (a < b) ? 1 : 0 | サポート可能 | なし | a < b |
fcmples | 230 | 1 | (a ≤ b) ? 1 : 0 | サポート可能 | なし | a <= b |
fcmpgts | 229 | 1 | (a > b) ? 1 : 0 | サポート可能 | なし | a > b |
fcmpges | 228 | 1 | (a ≥ b) ? 1 : 0 | サポート可能 | なし | a >= b |
fcmpeqs | 227 | 1 | (a = b) ? 1 : 0 | サポート可能 | なし | a == b |
fcmpnes | 226 | 1 | (a ≠ b) ? 1 : 0 | サポート可能 | なし | a != b |
fnegs | 225 | 1 | -a | サポート可能 | なし | -a |
fabss | 224 | 1 | |a| | サポート可能 | なし | fabsf() |
サイクル列は、命令を実行するのに必要なサイクル数を指定します。組み合わせカスタム命令は 1 サイクルかかります。マルチサイクルのカスタム命令には少なくとも 2 サイクルが必要です。Nios II プロセッサーはカスタム命令からの結果を登録し、ソースオペランド・バイパス・マルチプレクサーの g 線遅延のための別のサイクルを可能にするため、N サイクル・マルチサイクル・カスタム命令はカスタム命令内にN - 2 レジスターステージを待機します。サイクル数には、命令が 2 サイクル以内に結果を使用する場合、マルチサイクル・カスタム命令に続く命令が Nios II/f によってストールされる余分なサイクル ( 最大 2 つ ) は含まれません。これらの余分なサイクルはマルチサイクル命令が遅延命令であるために発生します。
Qsys では、Floating Point Hardware 2 コンポーネントはComponent LibraryタブのEmbedded Processors にあります。
Nios II ソフトウェア・ビルド・ツール (SBT) には、Floating Point Custom Instruction 2 コンポーネントのソフトウェア・サポートが含まれています。Floating Point Custom Instruction 2 コンポーネントがハードウェアに存在する場合、Nios II コンパイラーは浮動小数点演算のカスタム命令と newlib 算術ライブラリーを使用するようにコードをコンパイルします。