ヒント: ツールを実行する前に、Vitis 環境の設定 に説明されているように、コマンド シェルまたはウィンドウを設定します。
カーネルのコンパイル プロセスでは、カーネルが OpenCL、C、C++、または RTL のいずれで記述されていても、ザイリンクス オブジェクト ファイル (.xo) が生成されます。リンク段階では、異なるカーネルからの .xo ファイルがプラットフォームにリンクされ、ホスト プログラムで使用される FPGA バイナリ コンテナー ファイル (.xclbin) が作成されます。
コンパイルと同様、リンクにも複数のオプションが必要です。次に、
vadd
カーネル バイナリをリンクするコマンド例を示します。v++ -t sw_emu --platform xilinx_u200_xdma_201830_2 --link vadd.sw_emu.xo \
-o'vadd.sw_emu.xclbin' --config ./connectivity.cfg
このコマンドには、次の引数が含まれます。
-
-t sw_emu
: ビルド ターゲットを指定します。リンクでは、入力ファイル (.xo) をコンパイルしたときに指定したのと同じ-t
および--platform
引数を指定する必要があります。 -
--platform xilinx_u200_xdma_201830_2
: カーネルをリンクするプラットフォームを指定します。エンベデッド プロセッサ アプリケーションのカーネルをリンクするには、--platform $PLATFORM_REPO_PATHS/zcu102_base/zcu102_base.xpfm
のようにエンベデッド プロセッサ プラットフォームを指定します。 -
--link
: カーネルとプラットフォームを FPGA バイナリ ファイル (xclbin) にリンクします。 -
vadd.sw_emu.xo
: 入力オブジェクト ファイル。複数のオブジェクト ファイルを .xclbin にビルドできます。 -
-o'vadd.sw_emu.xclbin'
: 出力ファイルの名前を指定します。リンク段階の出力ファイルは、.xclbin ファイルです。デフォルトの出力ファイル名は a.xclbin です。 -
--config ./connectivity.cfg
:v++
コマンドのオプションを定義するコンフィギュレーション ファイルを指定します。--config
オプションの詳細は、Vitis コンパイラ コマンド を参照してください。
ヒント: さまざまな出力ファイルの生成場所は、v++ コマンドからの出力ディレクトリ を参照してください。
リンク プロセスでは、ザイリンクス オブジェクト ファイル (.xo) がリンクされるだけでなく、アーキテクチャの重要な詳細も決定されます。特に、ハードウェアにインスタンシエートする計算ユニット (CU) の数、カーネル ポートからグローバル メモリへの接続、CU の SLR への割り当てを指定します。次のセクションでは、これらのビルド オプションのいくつかを説明します。