このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Modulo by Constant HDL Optimized
ライブラリ:
Fixed-Point Designer HDL Support /
Math Operations
説明
Modulo by Constant HDL Optimized ブロックは、サイクルトゥルーなレイテンシを伴う HDL 用に最適化されたアーキテクチャを使用して、定数分母でのモジュロ演算 (除算後の剰余) を実行します。
Modulo by Constant ブロックでは、Barrett Reduction と機能的に類似したアルゴリズムを使用します。逆数の乗算によって除算演算が計算されるため、一般に組み込みシステムのパフォーマンスが向上します。
端子
入力
出力
パラメーター
アルゴリズム
Modulo by Constant HDL Optimized ブロックは、サイクルトゥルーなレイテンシを伴う HDL 用に最適化されたアーキテクチャを使用して、定数分母でのモジュロ演算 (除算後の剰余) を実行します。
モジュロ演算
は、多くの数学アルゴリズムの重要な基本構成です。ただし、この X mod D の式は、固定小数点と整数の入力に対する計算が効率的でありません。組み込みプロセッサの多くには、整数の除算についての命令がありません。それらがある場合も、解を計算するために多くのクロック サイクルを必要とします。市販されている FPGA でも、効率的な乗算、加算、および減算のための演算回路は設計されていますが、除算は効率的でありません。最後に、固定小数点のモジュロ演算について、除算演算は非有界であるため、語長が小さい入力でも計算に使用される内部データ型の語長を最適化するのが困難です。
モジュロ問題の分母はコンパイル時の定数であるため、ブロックは負方向に丸められる除算を乗算とそれに続くキャストを使用して計算できます。これは、除算演算を書き換えて、
のように表されます。定数は、正確性と計算効率の両方を維持するために必要な精度になるように計算されます。後続のキャストで小数ビットを破棄します。これは、マイクロプロセッサと FPGA のどちらでも効率的な演算です。
Modulo by Constant ブロックでは、Barrett Reduction と機能的に類似したアルゴリズムを使用します。逆数の乗算によって除算演算が計算されるため、一般に組み込みシステムのパフォーマンスが向上します。