スカラー入力は通常、ホスト マシンから直接読み込まれる制御変数です。これらは、メイン カーネルの計算が実行されるプログラム データまたはパラメーターと考えることができます。これらのカーネル入力は、ホスト側からの書き込みのみです。これらのインターフェイスは、カーネル コードで次のように指定します。
void process_image(int *input, int *output, int width, int height) {
#pragma HLS INTERFACE s_axilite port=width bundle=control
#pragma HLS INTERFACE s_axilite port=height bundle=control
この例には、画像の width
および height
を指定する 2 つのスカラー入力があります。これらの入力は、#pragma HLS INTERFACE s_axilite
を使用して指定します。これらのデータ入力は、グローバル メモリ バンクを使用せずに、ホスト マシンから直接カーネルに送信されます。
重要: 現在のところ、Vitis コア開発環境では各カーネルに 1 つの制御インターフェイス バンドルのみがサポートされています。そのため、すべてのスカラー データ入力および
return
関数の bundle=
名は同じにする必要があります。前の例では、すべてのスカラー入力に bundle=control
が使用されています。