RTL タイプのカーネル プロジェクト - 2022.1 日本語

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

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 日本語

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 プロジェクト ファイル すべて
imports ディレクトリ
<kernel_name>.v カーネル最上位モジュール すべて
<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 シミュレーション テストベンチ すべて
<kernel_name>_cmodel.cpp ソフトウェア エミュレーション用のソフトウェア C モデル サンプル。 すべて
<kernel_name>_ooc.xdc アウト オブ コンテキスト ザイリンクス制約ファイル すべて
<kernel_name>_user.xdc カーネル ユーザー制約用のザイリンクス制約ファイル。 すべて
kernel.xml カーネル記述ファイル すべて
package_kernel.tcl カーネル パッケージ スクリプトのプロシージャ定義 すべて
post_synth_impl.tcl Tcl インプリメンテーション後ファイル すべて
exports ディレクトリ
src/host_example.cpp ホスト コード例 すべて
makefile makefile サンプル すべて