カーネル コードは、次の図に示すように、C、C++、 OpenCL™ C、RTL のいずれかで記述され、カーネル コードをザイリンクス オブジェクト (XO) ファイルにコンパイルして、その XO ファイルをザイリンクス バイナリ (.xclbin) ファイルにリンクするとビルドされます。
図 1. デバイスのビルド プロセス
このプロセスには、次の 2 つの段階があります。
- カーネル ソース コードからザイリンクス オブジェクト ファイルをビルドします。
- C、C++、または OpenCL カーネルの場合は、
v++ -c
コマンドによりソース コードがザイリンクス オブジェクト (XO) ファイルにコンパイルされます。複数カーネルは、別々の XO ファイルにコンパイルされます。 - RTL カーネルの場合は、Vivado IP パッケージャー コマンドによりリンクに使用される XO ファイルが生成されます。詳細は、RTL カーネル を参照してください。
- Vitis™ HLS ツールで直接カーネル オブジェクト (XO) ファイルを作成することもできます。詳細は、Vitis HLS のカーネルのコンパイル を参照してください。
- C、C++、または OpenCL カーネルの場合は、
- コンパイル後、
v++ -l
コマンドにより 1 つまたは複数のカーネル オブジェクト (XO) がハードウェア プラットフォーム (XSA) とリンクされ、ザイリンクス バイナリ (.xclbin) ファイルが作成されます。
ヒント:
v++
コマンドは、コマンド ラインから、スクリプト内、または make
のようなビルド システムで使用でき、また Vitis IDE の使用 で説明されるように、Vitis IDE からも使用できます。