HLS Kernel のインポート - 2023.2 日本語

Vitis Model Composer ユーザー ガイド (UG1483)

Document ID
UG1483
Release Date
2023-11-15
Version
2023.2 日本語

HLS Kernel をブロックとして Vitis Model Composer にインポートするには、HDL/User-Defined Functions ライブラリから選択する必要があります。

図 1. HLS カーネル

ブロック シンボルをダブルクリックすると、次の図に示すように、HLS Kernel ブロックのパラメーターが表示されます。

図 2. HLS Kernel のパラメーター

HLS Kernel をブロックとしてインポートするには、ブロック マスク パラメーターをアップデートする必要があります。次の表に、各パラメーターの説明を示します。

表 1. パラメーター
パラメーター名 パラメーターのデータ型 必要性 説明
Kernel header file 文字列 必須 関数宣言を含む HLS Kernel ヘッダー ファイルの名前。ファイル名のみ、ファイルへの相対パス、またはファイルへの絶対パスを指定できます。Browse ボタンをクリックしてファイルを選択します。

ヘッダー ファイル パスの指定に環境変数を使用すると、エラーが返されます。

Kernel function 文字列 必須 HLS Kernel ブロックを作成する C/C++ で記述されたカーネル関数の名前。
Kernel source file 文字列 オプション カーネル関数インプリメンテーション (定義) を含むソース ファイルの名前。ファイル名のみ、ファイルへの相対パス、またはファイルへの絶対パスを指定できます。

ヘッダー ファイルに関数の定義と宣言の両方が含まれている場合、カーネル ソース ファイルはオプションとなります。

ソース ファイル パスの指定に環境変数を使用すると、エラーが返されます。

Kernel search paths 文字列のベクター オプション 現在のフォルダーにカーネル ヘッダー ファイルまたはカーネル ソース ファイルが見つからない場合は、Kernel search paths に指定されているパスでファイルが検索されます。

このパラメーターを使用すると、カーネル ヘッダー ファイルおよびカーネル ソース ファイルへのパスを指定すると同時に、環境変数を使用できます。環境変数は、${ENV} または $ENV 形式で指定できます。

Preprocessor options   オプション ダウンストリームのコンパイルを特定のプリプロセッサ オプションを使用して実行する場合にプリプロセッサ引数を指定します。

使用可能な形式は -Dname および -Dname=definition で、複数指定できます。引数は -D で開始する必要があり、<definition> が指定されていない場合は 1 と想定されます。

インポートすると、[Configuration] タブが自動で表示されます。HLS Kernel の定義を確認し、次の図に示すドロップダウン リストから、ポートの方向を指定できます。

図 3. カーネルの定義およびポート

ポートの方向を指定して Build ボタンをクリックすると、次の図に示すウィンドウが開きます。ストリーム信号のタイプに応じて、信号サイズ ([Signal size]) を適切に設定してください。そうしないと、メモリのオーバーフローが発生する可能性があります。たとえば、カーネルが各呼び出しで 16 個のサンプルを生成する場合は、[Signal size] は 16 に設定します。

図 4. カーネルの定義とポート (ビルド後)