Vector Convert - 2022.1 日本語

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

Document ID
UG1483
Release Date
2022-05-26
Version
2022.1 日本語

Vector Convert ブロックは、ベクター型の入力に対してデータ型変換機能をサポートします。

ハードウェアに関する注記: 丸めと飽和にはハードウェア リソースが必要ですが、切り捨てと折り返しには必要ありません。

説明

[Super Sample Rate (SSR)]: 各サンプル周期における複数のデータ サンプルの処理を制御します。このブロックは、プライマリ ブロックの演算用に 1-D ベクター データのサポートをイネーブルにします。

Vector Convert ブロックは、各入力サンプルをさまざまな演算型に変換します。たとえば、数値を符号付き (2 の補数) または符号なしの値に変換できます。

ブロック パラメーター

Simulink® モデルでブロックのアイコンをダブルクリックすると、[Block Parameters] ダイアログ ボックスが開きます。

Basic タブ

Basic タブには、次のパラメーターがあります。

Output Type
  • 出力のデータ型を指定します。
    • Boolean
    • Fixed-point
    • Floating-point
Arithmetic Type
[Output Type] を [Fixed-point] に設定した場合、[Signed (two's comp)] または [Unsigned] を選択できます。
Fixed-point Precision
Number of bits
2 進小数点のビット位置を指定します (ビット 0 が最下位ビット)。
Binary point
2 進小数点のビット位置を指定します (ビット 0 が最下位ビット)。
Floating-point Precision
Single
単精度 (32 ビット) を指定します。
Double
倍精度 (64 ビット) を指定します。
Custom
[Exponent width] および [Fraction width] を有効にし、指数部の幅と仮数部の幅を指定できるようにします。
Exponent width
指数部のビット幅を指定します。
Fraction width
仮数部の幅を指定します。
Quantization

量子化エラーは、小数部のビット数が値の小数部を表すのに十分でない場合に発生します。オプションは、Truncate (例: 表現可能な最上位ビットの右側のビットを破棄)、Round(unbiased: +/- inf)、または Round (unbiased: even values) です。

Round(unbiased: +/- inf): 「対称丸め (+/- 無限大の方向)」または「対称丸め (0 から遠い方向)」とも呼ばれます。これは、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 となります。

Overflow

オーバーフロー エラーは、値が表現可能な範囲外である場合に発生します。シミュレーションでのオーバーフローのオプションは、Saturate (最大の正の値/最小の負の値に飽和)、Wrap (例: 表現可能な最上位ビットの左側のビットを破棄)、または Flag as error (Simulink エラーとしてフラグ) です。Flag as error は、シミュレーションのみのオプションです。生成されるハードウェアは、Wrap を選択した場合と同じになります。

Optional Ports

Provide enable port: ブロックのオプションのイネーブル (en) ピンを有効にします。イネーブル信号がアサートされていない場合、イネーブル信号が再度アサートされるか、またはリセット信号がアサートされるまで、ブロックは現在のステートを保持します。

Latency

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

Implementation タブ

Implementation タブには、次のパラメーターがあります。

Performance Parameters
Pipeline for maximum performance

ザイリンクス LogiCORE™ は、内部パイプライン処理することにより、エリアよりも速度を優先して最適化できます。このオプションを選択すると、許容される最大レイテンシに達するまで、ユーザー定義のレイテンシがすべてコアに挿入されます。Pipeline for maximum performance オプションが選択されておらず、レイテンシが 0 より長い場合、コアに出力レジスタが 1 つ配置され、コアの出力にレイテンシが追加されます。

Pipeline for maximum performance オプションは、パイプライン レジスタを最後にだけではなくブロック全体に追加し、レイテンシが分散されるようにします。これは、デザインの厳しいタイミング制約を満たすのに役立ちます。

このブロックで使用されるその他のパラメーターについては、[Block Parameters] ダイアログ ボックスの共通オプション を参照してください。

LogiCORE 資料

『Floating-Point Operator LogiCORE IP 製品ガイド』 (PG060)