[Block Parameters] ダイアログ ボックスの共通オプション - 2021.2 日本語

Vitis Model Composer ユーザー ガイド (UG1483)

Document ID
UG1483
Release Date
2021-10-22
Version
2021.2 日本語

ザイリンクス ブロックの [Block Parameters] ダイアログ ボックスには、設定可能なパラメーターが表示されます。このダイアログ ボックスは、ブロックをダブルクリックすると開きます。多くのパラメーターは、ブロック特定です。ブロック特定のパラメーターは、そのブロックのセクションで説明されています。

残りのパラメーターは、ほとんどのブロックに共通です。次に、これらのパラメーターについて説明します。

各ダイアログ ボックスには、OKCancelHelp、および Apply の 4 つのボタンがあります。Apply は、設定の変更をブロックに適用し、ダイアログ ボックスは開いたままにします。Help は、そのブロックのヘルプを表示します。Cancel は、変更を保存せずにダイアログ ボックスを閉じます。OK は、変更を適用してダイアログ ボックスを閉じます。

[Precision]

ザイリンクス ブロックセットの基本的な計算モードは、任意精度の固定小数点演算です。ほとんどのブロックには、精度を選択するオプション (ビット数、2 進小数点の位置など) があります。

デフォルトでは、ザイリンクス ブロックの出力は全精度 ([Full]) で、結果をエラーなしで表すのに十分な精度が使用されます。ほとんどのブロックには、合計ビット数と小数部のビット数を指定するユーザー定義 ([User defined]) 精度オプションがあります。

[Arithmetic type]

[Block Parameters] ダイアログ ボックスの Type では、符号なし ([Unsigned]) または符号付き ([Signed (2's comp)]) を選択できます。

[Number of bits]

固定小数点値は、[Number of bits]、[Binary point]、および [Arithmetic type] パラメーターで指定されたワード サイズのデータ型に格納されます。サポートされる最大ビット数は 4096 です。

[Binary point]

2 進小数点は、固定小数点数のスケーリングに使用します。[Binary point] パラメーターは、出力ポートの 2 進小数点の右側にあるビット数 (小数点以下の桁数) を示します。指定可能な値は、0 から [Number of bits] に指定したビット数の間である必要があります。

[Overflow] および [Quantization]

[Precision] で [User defined] をオンにした場合、オーバーフローまたは量子化によりエラーが発生することがあります。オーバーフロー エラーは、値が表現可能な範囲外である場合に発生します。量子化エラーは、小数部のビット数が値の小数部を表すのに十分でない場合に発生します。

ザイリンクス固定小数点型では、ユーザー定義精度用に複数のオプションがサポートされています。シミュレーションでのオーバーフローのオプションは、 Saturate (最大の正の値/最小の負の値に飽和)、Wrap (例: 表現可能な最上位ビットの左側のビットを破棄)、または Flag as error ( Simulink® エラーとしてフラグ) です。Flag as error は、シミュレーションのみのオプションです。生成されるハードウェアは、Wrap を選択した場合と同じになります。

量子化のオプションは、Round (最も近い表現可能な値または最も近い表現可能な値が 2 つある場合は 0 から遠い方の値に丸め)、または Truncate (表現可能な最下位ビットの右側のビットを破棄するなど) です。

次の図に、[Quantization] および [Overflow] オプションを示します。

図 1. [Quantization] および [Overflow] オプション

Round(unbiased: +/- inf): 「対称丸め (+/- 無限大の方向)」または「対称丸め (0 から遠い方向)」とも呼ばれます。これは、 MATLAB® round() 関数と似ています。このメソッドは、値を 0 から遠い方向の最も近いビットに丸めます。値が 2 つの可能な丸め値の中間値である場合は、大きい方が選択されます。たとえば、01.0110 を Fix_4_2 に丸めると、01.0110 は 01.01 と 01.10 のちょうど中間であるので、0 から遠い方の 01.10 となります。

Round (unbiased: even values): 「収束丸め (偶数へ)」または「バイアスをかけない丸め」とも呼ばれます。対称丸めは、中間値が 0 から遠い方に丸められ、丸められた結果の平均値が丸め前の値の平均よりも大きくなるので、バイアスがかけられていると言えます。収束丸めは、0 方向への対称丸めと 0 から遠い方への対称丸めを組み合わせることにより、バイアスをなくします。中間値は、最も近い偶数値に丸められます。たとえば、01.0110 を Fix_4_2 に丸めると、01.0110 は 01.01 と 01.10 のちょうど中間であるので、偶数値である 01.10 となります。01.1010 を Fix_4_2 に丸めると、01.1010 は 01.10 と 01.11 のちょうど中間であるので、偶数値である 01.10 となります。

どのオプションを選択しても、生成される HDL モデルと Simulink モデルの動作は同じになります。

[Latency]

ザイリンクス ブロックセットの多くのエレメントには、[Latency] オプションがあります。このオプションは、ブロックの出力を遅延させるサンプル周期数を指定します。1 サンプル周期が、対応する FPGA インプリメンテーションの複数クロック サイクルに対応する場合があります (ハードウェアが Simulink モデルに対してオーバークロックされている場合)。Model Composer では、広範囲のパイプライン処理は実行されません。通常、追加のレイテンシはブロックの出力のシフト レジスタとしてインプリメントされます。

[Provide Synchronous Reset Port]

Provide Synchronous Reset Port オプションを選択すると、ブロックのオプションのリセット (rst ピンが有効になります。

リセット信号をアサートすると、ブロックが初期ステートに戻ります。リセット信号は、ブロックで使用可能なオプションのイネーブル信号よりも優先されます。リセット信号は、ブロックのサンプル レートの倍数で実行する必要があります。リセット ポートを駆動する信号は、ブール型である必要があります。

[Provide Enable Port]

Provide Enable Port オプションを選択すると、ブロックのオプションのイネーブル (en) ピンが有効になります。イネーブル信号がアサートされていない場合、イネーブル信号が再度アサートされるか、またはリセット信号がアサートされるまで、ブロックは現在のステートを保持します。リセット信号は、イネーブル信号よりも優先されます。イネーブル信号は、ブロックのサンプル レートの倍数で実行する必要があります。イネーブル ポートを駆動する信号は、ブール型である必要があります。

[Sample Period]

Simulink に入力されるデータ ストリームは、特定のサンプル レートで処理されます。通常、各ブロックで入力サンプル レートが検出され、出力で正しいサンプル レートが生成されます。ザイリンクス ブロック Up Sample および Down Sample は、サンプル レートを増減します。

Specify Explicit Sample Period

デフォルトではなく Specify explicit sample period を選択すると、すべてのブロック出力に必要なサンプル周期を設定できるようになります。これは、デザインにフィードバック ループなどの機能をインプリメントする際に便利です。フィードバック ループでは、入力サンプル レートは決定されていない出力サンプル レートに依存するので、Model Composer でデフォルトのサンプル レートを判断できません。このような状況では、Model Composer にループ実行中のサンプル周期を確立するためのヒントを入力する必要があります。

[Use Behavioral HDL (otherwise use core)]

このチェック ボックスをオンにすると、コアからの構造 HDL ではなく、M コード シミュレーションにより生成されたビヘイビアー HDL が使用されます。

M コード シミュレーションは C シミュレーションを作成し、この C シミュレーションはビヘイビアー HDL を作成します。このオプションをオンにすると、合成にこのビヘイビアー HDL が使用されます。このオプションがオフの場合、コアから生成された構造 HDL および HDL テンプレート (モデルの各ブロックに対応) が合成に使用されます。コアはデザイン内の各ブロックに対して一度生成され、その後のネットリスト生成用にキャッシュされます。この機能により、ネットリストを高速に生成するだけでなく、コアをダウンストリーム合成および配置配線ツールで使用できます。

[Use XtremeDSP Slice]

ターゲット デバイスで可能であれば XtremeDSP スライス (DSP48 タイプのエレメント) を使用するよう指定します。このオプションをオフにすると、乗算器に CLB ロジックが使用されます。

[Display shortened port names]

ブロックでの表示を読みやすくするため AXI4-Stream 信号の名前を省略します (デフォルト)。名前の省略はあくまで表記上のもので、ネットリストでは AXI4-Stream 名が使用されます。たとえば、AXI4-Stream インターフェイス上のマスター信号の省略名が data_tvalid であるとします。Display shortened port names をオフにすると、名前は m_axis_data_tvalid になります。