RTL タイプのカーネル プロジェクト - 2019.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2020-02-28
Version
2019.2 Japanese

RTL タイプのカーネルは、制御レジスタおよび Vadd サブモジュールのサンプル デザインで構成される最上位 Verilog デザインが含まれます。次の図に、2 つの AXI4 マスター インターフェイスを含む最上位デザインを示します。制御レジスタ モジュールを変更する場合は、このモジュールと Vivado カーネル プロジェクトの imports ディレクトリにある kernel.xml ファイルとの一致が保持されるようにしてください。サンプル ブロック カスタム ロジックに置き換えるか、デザインの開始点として使用できます。

図 1. カーネル タイプ RTL の最上位

次の図に示す Vadd サンプル ブロックは、単純な加算器関数、AXI4 読み出しマスター、および AXI4 書き込みマスターで構成されています。定義されている AXI4 インターフェイスそれぞれに、個別のサンプル加算器コードがあります。各インターフェイスに最初に関連付けられている引数は、サンプルのデータ ポインターとして使用されます。各サンプルは 16 KB のデータを読み出し、32 ビットの「1 を足す」演算を実行し、16 KB のデータを元の位置に書き込みます (読み出しアドレスと書き込みアドレスは同じ)。

図 2. カーネル タイプ RTL の例

次の表では、カーネルの Vivado プロジェクトのルートにある重要なファイルについて説明します。<kernel_name> は RTL Kernel ウィザードで指定したカーネルの名前になります。

表 1. RTL カーネル ウィザードのソース ファイルとテストベンチ ファイル
ファイル名 説明 配布されるカーネル タイプ
<kernel_name>_ex.xpr Vivado プロジェクト ファイル All
imports ディレクトリ
<kernel_name>.v カーネル最上位モジュール All
<kernel_name>_control_s_axi.v RTL 制御レジスタ モジュール RTL
<kernel_name>_example.sv RTL サンプル ブロック RTL
<kernel_name>_example_vadd.sv RTL サンプル AXI4 ベクター加算ブロック RTL
<kernel_name>_example_axi_read_master.sv RTL サンプル AXI4 読み出しマスター RTL
<kernel_name>_example_axi_write_master.sv RTL サンプル AXI4 書き込みマスター RTL
<kernel_name>_example_adder.sv RTL サンプル AXI4-Stream 加算ブロック RTL
<kernel_name>_example_counter.sv RTL サンプル カウンター RTL
<kernel_name>_exdes_tb_basic.sv シミュレーション テストベンチ All
<kernel_name>_cmodel.cpp ソフトウェア エミュレーション用のソフトウェア C モデル サンプル。 All
<kernel_name>_ooc.xdc アウト オブ コンテキスト ザイリンクス制約ファイル All
<kernel_name>_user.xdc カーネル ユーザー制約用のザイリンクス制約ファイル。 All
kernel.xml カーネル記述ファイル All
package_kernel.tcl カーネル パッケージ スクリプトのプロシージャ定義 All
post_synth_impl.tcl Tcl インプリメンテーション後ファイル All
exports ディレクトリ
src/host_example.cpp ホスト コード例 All
makefile makefile サンプル All