Interface Spec - 2021.2 日本語

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

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

サブシステムの RTL インターフェイスを指定します。

ライブラリ

Tools

説明

Interface Spec ブロックをサブシステムにインスタンシエートすると、そのサブシステムのポートに合成する RTL インターフェイスを指定できます。これは、Model Composer で生成された C++ モデルを Vitis HLS で RTL モデル (IP) に合成する際のコード生成と合成にのみ影響します。デザインの Simulink® シミュレーションには影響しません。デザインに Interface Spec ブロックがない場合は、Model Composer のデフォルトのインターフェイスが使用されます。インターフェイスの合成は、C++ コードを生成するサブシステムでのみサポートされます。そのため、C++ コードを生成するサブシステム内に組み込まれているサブシステムに Interface Spec ブロックがインスタンシエートされている場合、その Interface Spec ブロックは無視されます。

Interface Spec ブロックは、次のように使用します。

  1. Interface Spec ブロックは、C++ コードを生成するサブシステムにインスタンシエートします。Input ports タブに、親サブシステムの各入力ポートがそれぞれの行に表示されます。同様に、Output ports タブにも親サブシステムの各出力ポートがそれぞれの行に表示されます。
  2. Function ProtocolInput ports、および Output ports タブを設定を入力します。

Interface Spec ブロックでは、次の情報が含まれます。

  • ブロック レベルのインターフェイス プロトコル。データ処理を開始するタイミングを IP に伝えるために使用します。この情報は、IP が新しいデータを受信するのか、演算を終了したのか、アイドル状態なのかを知らせる目的でも使用されます。
  • 親サブシステムの入力ポートごとのポート レベルのインターフェイス プロトコル。
  • 親サブシステムの出力ポートごとのポート レベルのインターフェイス プロトコル。

ポート レベルのインターフェイス プロトコルを選択する場合は、次に注意してください。

  • 大型配列または行列のポートでは、AXI4-Stream、FIFO、または AXI4-Stream (ビデオ) などのストリーミング プロトコルを使用する必要があります。
  • スカラー ポートは、[Default]、[AXI4-Lite Slave]、[Constant]、[Valid Port]、[No protocol] のいずれかのプロトコルを使用してインプリメントできます。
  • ビデオ信号は、AXI4-Stream (ビデオ) インターフェイスを使用して転送できます。この場合、ビデオ フォーマットを YUV 4:2:2、YUV 4:4:4、RGB、または Mono に指定する必要もあります。ビデオ フォーマットの色成分が複数ある場合は、どのポートでどの色成分を転送するかを指定し、これらの 3 つのポートの [Bundle] 属性に同じ名前を割り当てる必要があります。ビデオ信号を構成するすべてのポート (3 または 1) は、開始フレームと行末側帯波信号を含む 1 つの AXI4-Stream インターフェイスでインプリメントされます。『AXI4-Stream Video IP およびシステム デザイン ガイド』 (UG934) に説明されている仕様に従ってください。
  • AXI4-Lite Slave インタースレーブフェイスでは、1 つまたは複数のポートをインプリメントできます。
  • 詳細は、 『Vitis 高位合成ユーザー ガイド』 (UG1399) の「インターフェイス合成」を参照してください。

Interface Spec ブロックでは、現在のところ、最大 8 つの入力ポートと 8 つの出力ポートを含むサブシステムがサポートされています。

データ型サポート

Interface Spec ブロックでは、データ型は関係ありません。

パラメーター

Interface Spec ブロックのパラメーターは、次の 3 種類に分類できます。

  • 関数プロトコルに適用されるパラメーター。これは [Mode] および [Bundle] です。GUI のダイアログ ボックスでは、[Functional Protocol] タブに表示されます。
  • 入力ポートに適用されるパラメーター。入力ポートごとに、[Mode]、[Bundle]、[Offset]、[Video Format]、および [Video Component] のパラメーター セットが 1 つずつあります。[Block Parameter] ダイアログ ボックスでは、これらのパラメーターは [Input ports] タブに表示されます。
  • 出力ポートに適用されるパラメーター。出力ポートごとに、[Mode]、[Bundle]、[Offset]、[Video Format]、および [Video Component] のパラメーター セットが 1 つずつあります。GUI のダイアログ ボックスでは、[Output ports] タブに表示されます。
図 1. [Function Protocol] パラメーター

Function Protocol タブのパラメーターは、次のとおりです。

Mode

Mode パラメーターは、ブロック レベルの I/O プロトコルを指定します。

Mode パラメーターの設定は、次のとおりです。

表 1. [Mode] パラメーター
設定 説明
AXI4-Lite Slave AXI4-Lite Slave をブロック レベルの I/O プロトコルとして指定します。
Handshake ハンドシェイク プロトコルをブロック レベルの I/O プロトコルとして指定します。
No block-level I/O Protocol ブロック レベルの I/O プロトコルなしと指定します。

関数プロトコルのデフォルトは、[AXI4-Lite Slave] です。ただし、DUT にスカラー ポートがない場合は、[Handshake] がデフォルトの関数プロトコルとして選択されます。

Bundle

Bundle パラメーターは AXI4-Lite Slave インタースレーブフェイスの場合に使用し、複数のポートを同じインターフェイスにまとめます。Bundle には、C 言語で有効な識別子を入力します (スペースおよび特殊文字は使用不可)。

図 2. [Input ports] タブ
図 3. [Output ports] タブ

Input ports および Output ports タブのパラメーターは、次のとおりです。

Mode

Mode パラメーターは、入力ポートまたは出力ポートの I/O プロトコルを指定します。

Mode パラメーターの設定は、次のとおりです。

表 2. [Mode] パラメーター
設定 説明
Default ポートがスカラーの場合は AXI4-Lite Slave、スカラー以外の場合は AXI4-Stream が使用されます。
AXI4-Stream AXI4-Stream プロトコルが使用されます。
AXI4-Stream (video) AXI4-Stream (video) プロトコルが使用されます。指定できるパラメーターは、BundleVideo Format、および Video Component です。
AXI4-Lite Slave AXI4-Lite Slave プロトコルが使用されます。指定できるパラメーターは、Bundle および Offset です。
FIFO 要素が順次アクセスされる配列のプロトコルを指定します。
Valid port Valid ポートのみを持つハンドシェイク プロトコルが使用されます。
Constant

ポートに I/O プロトコルは追加されません。これは、デバイスがリセット モードのときにのみ変化するコンフィギュレーション入力用のモードです。

このモードは、Input ports にのみ適用されます。

No protocol ポートに I/O プロトコルは追加されません。
Block RAM Block RAM インターフェイス プロトコルを指定します。
Bundle

Bundle パラメーターは入力ポートまたは出力ポートに適用され、色成分が複数ある AXI4-Stream (video) インターフェイスを選択した場合に設定できます。色成分ごとにポートが 1 つずつあるので、これらのポートの Bundle 属性に同じ名前を指定して、同じ AXI4-Stream (video) インターフェイスにまとめられるようにします。

このパラメーターは、AXI4-Lite Slave インターフェイスを指定した場合にも使用され、Bundle 属性に同じ名前を指定したポートが同じ AXI4-Lite Slave インターフェイスにまとめられます。

Bundle には、C 言語で有効な識別子を入力します (スペースおよび特殊文字は使用不可)。

Offset

Offset パラメーターは入力ポートまたは出力ポートに適用され、AXI4-Lite Slave インターフェイスを指定した場合に使用されます。AXI4-Lite Slave アドレス マップ内のポートのアドレス オフセットを指定します。

Video Format

Video Format パラメーターは入力ポートまたは出力ポートに適用され、ビデオ信号の色フォーマットを指定します。AXI4-Stream (video) インターフェイスの場合にのみ設定できます。オプションは、MonoYUV 4:2:2YUV 4:4:4、および RGB です。

Video Component

VideoComponent パラメーターは、入力ポートまたは出力ポートに適用され、ビデオ信号の色成分を指定します。色成分が複数ある Video Format を使用する AXI4-Stream (video) インターフェイスにのみ適用されます。オプションは、MonoYUV 4:2:2YUV 4:4:4、および RGB です。

Video Format の設定によって、Video Component は次のようになります。オプションの各 OS の手順は次のとおりです。
表 3. [Video Component] オプション
[Video Format] ビデオの色成分オプション
Mono なし
YUV 4:2:2 YUV
YUV 4:4:4 YUV
RGB RGB