図 1. [Global Memory] ページ
グローバル メモリは、カーネルから AXI4 マスター インターフェイスを介してアクセスされます。各 AXI4 インターフェイスの動作は独立しており、各 AXI4 インターフェイスを 1 つまたは複数のメモリ コントローラーに接続して DDR4 などのオフチップ メモリに接続できます。グローバル メモリは、主にホストとカーネルの間で大型のデータ セットを送受信するため使用され、カーネル間のデータ転送用にも使用できます。最適なパフォーマンスを得るためにこれらのインターフェイスを設計する方法は、AXI4 インターフェイスのメモリ パフォーマンスの最適化を参照してください。
ヒント: RTL Kernel ウィザードは、各インターフェイスごとに最上位ラッパー内にサンプルの AXI マスター ロジックを生成するので、開始点として使用できますが、使用しない場合は破棄できます。
- [Number of AXI master interfaces]
- カーネルに存在するインターフェイスの数を指定します。最大は 16 インターフェイスです。各インターフェイスに対し、インターフェイス名、データ幅、関連の引数の数を指定できます。各インターフェイスには、すべての読み出しおよび書き込みチャネルが含まれます。RTL Kernel ウィザードで付けられるデフォルト名は
m00_axi
およびm01_axi
です。変更しない場合は、カーネル ポートのグローバル メモリへのマップ に示すように、インターフェイスをグローバル メモリに割り当てある際にこれらの名前を使用する必要があります。
[AXI master definition] (表の列)
- [Interface name]
- インターフェイスの名前を指定します。互換性を最大限にするため、引数名はカーネル名と同じ識別規則に従います。
- [Width (bytes)]
- AXI データ チャネルのデータ幅を指定します。ザイリンクスでは、この幅をメモリ コントローラーの AXI4 スレーブ インターフェイスのネイティブ データ幅に一致させることをお勧めしています。メモリ コントローラーのスレーブ インターフェイスは通常 64 バイト (512 ビット) 幅です。
- [Number of arguments]
- このインターフェイスに関連付ける引数の数を指定します。各引数は、カーネルからアクセス可能なグローバル メモリへのデータ ポインターを表します。
[Argument definition]
- [Interface]
- AXI インターフェイスの名前を指定します。この値は表で定義されるインターフェイスからコピーされるので、ここでは変更できません。
- [Argument name]
- 関数プロトタイプ シグネチャに表示されるように、ポインター引数の名前を指定します。各引数に ID 値が割り当てられます。ホスト アプリケーション に示すように、この ID 値はホスト ソフトウェアからの引数にアクセスするために使用されます。ID 値引数は、このウィザードのサマリ ページに表示されます。互換性を最大限にするため、引数名はカーネル名と同じ識別規則に従います。この引数名は、生成された RTL カーネルの制御レジスタ モジュールで出力信号として使用されます。