vitis hlsで作成したKernel関数をkv260で動かす。
Vitis HLS Kernel関数の作成
以下の記事を参考にして、HLS関数を作成する
Kernel関数は以下のようにする
#include <stdio.h>
#include "kernel_add.h"
void kernel(int a[256], int b[256], int c[256], int size) {
int i;
for (i=0;i<size;i++) {
c[i] = a[i] + b[i] + 2;
}
return;
}
記事にあるようにexport.xoを使用する
Vitis Platformの作成
Vitis Platformは、以下の記事を参考に作成する
Vitis Application
以下の記事を参考にして、Applicationを作成する
Vitis HLSバイナリの作成
Vitis HLSの結果だと、export.xoが生成されているので、xclbinにする必要がある。コマンドラインで以下のように実行して、xclbinを作成する。–platformで使用するPlatformを指定する必要がある。
v++ --target hw --link solution1/impl/export.xo --platform /home/y/work/kv260/2022.1/WorkSpace/kv260_vitis_platform/kv260_custom/export/kv260_custom/kv260_custom.xpfm
上記のコマンドを実行すると、a.xclbinが生成される。このa.xclbinをa.binにリネームして、kv260に転送して実行する。
以下のページの記事を参考にbinファイル等を転送して、kv260で実行すればよい。
Vitis HLSで生成したxoファイルが実行できるはずだ。
なんかもっとスマートな方法があるかもしれないけど、Vits HLSで生成したxoファイルをボード上で実行するという目標は達成できたので良かった!