Vector Delay - 2022.1 日本語

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

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

Vector Delay ブロックは、ベクター型の入力に対して遅延処理をサポートします。

ハードウェアの注記: 遅延ラインはチェーンであり、その各リンクは SRL16 とその後のフリップフロップで構成されます。

説明

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

Vector Delay ブロックは、L サイクルの固定遅延をインプリメントします。

遅延値は、z-L (ブロックの転送関数の Z 変換) という形式でブロック上に表示されます。ブロックの入力に供給されるデータは、L サイクル後に出力に現れます。出力のデータのレートおよびデータ型は、入力から継承されます。このブロックは主に、回路のほかの部分のパイプライン遅延と一致させるために使用されます。Delay ブロックは Register ブロックと異なり、レジスタは 1 サイクルのみのレイテンシを許容し、初期値パラメーターを含みます。Vector Delay ブロックは指定されたレイテンシをサポートしますが、0 以外の初期値はありません。次の図に、L=4 および Period=1s の場合の Vector Delay ブロックの動作を示します。

図 1. L=4 および Period=1s の場合の Vector Delay ブロックの動作

実行中に遅延を調整する必要がある場合は、Addressable Shift Register ブロックを使用する必要があります。クロック サイクルの整数倍でない遅延はサポートされません。同期デザインでは、クロック サイクルの整数倍でない遅延は、ごくまれな例外を除き、使用しないでください。

ブロック パラメーター

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

Basic タブ
Basic タブには、次のパラメーターがあります。
Optional Ports
Provide synchronous reset port
ブロックのオプションのリセット (rst) ピンを有効にします。リセット信号をアサートすると、ブロックが初期ステートに戻ります。リセット信号は、ブロックで使用可能なオプションのイネーブル信号よりも優先されます。リセット信号は、ブロックのサンプル レートの倍数で実行する必要があります。リセット ポートを駆動する信号は、ブール型である必要があります。
Provide enable port
ブロックのオプションのイネーブル (en) ピンを有効にします。イネーブル信号がアサートされていない場合、イネーブル信号が再度アサートされるか、またはリセット信号がアサートされるまで、ブロックは現在のステートを保持します。リセット信号は、イネーブル信号よりも優先されます。イネーブル信号は、ブロックのサンプル レートの倍数で実行する必要があります。イネーブル ポートを駆動する信号は、ブール型である必要があります。
Latency
遅延をサイクル数で指定します。Provide enable port チェック ボックスがオフであれば、レイテンシは 0 にできます。レイテンシを負の整数にすることはできません。レイテンシが 0 の場合、Vector Delay ブロックは論理合成時にワイヤになります。レイテンシを L=1 に設定すると、ブロックは通常フリップフロップ (データ幅が 1 より広い場合は複数のフリップフロップ) として合成されます。
Implementation タブ

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

  • Implement using behavioral HDL: ビヘイビアー HDL をインプリメンテーションとして使用します。これにより、ダウンストリームの論理合成ツールで最適なインプリメンテーションが選択できるようになります。

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

ビヘイビアー HDL を使用した論理合成

ダウンストリームの論理合成ツールとして Synplify Pro を使用する場合は、この設定を推奨します。論理合成ツールは、自由に遅延をインプリメントし、遅延ラインの一部をブロック RAM、DSP48、またはエンベデッド IOB フリップフロップの前後に移動、選択したアーキテクチャに基づいて長い遅延ラインに専用の SRL カスケード出力を使用、パス遅延に基づいて遅延ラインのいずれかまたは両方をフリップフロップを使用して終端するなどの最適化を実行します。この設定を使用すると、論理合成ツールに機能があれば、遅延ラインの一部を組み合わせロジック クラウドに移動することにより、リタイミングを実行できます。

構造 HDL を使用した論理合成

Implement using behavioral HDL をオフにすると、構造 HDL が使用されます。これがデフォルト設定で、結果は既知のものになりますが、柔軟性は下がるので、多くの場合は Vivado® 合成で使用するのに適しています。通常この設定では、SRL (シフト レジスタ LUT) の遅延 (L-1) サイクルの後にフリップフロップが続き、SRL とフリップフロップが同じスライスにパックされた構造の HDL が作成されます。レイテンシが L=33 よりも長い場合は、複数の SRL/フリップフロップがカスケード接続され、専用のカスケード配線は使用されません。たとえば、レイテンシ L=64 の 1 ビット幅の Vector Delay ブロックの合成結果は次のようになります。