HLS Kernel - 2022.1 日本語

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

Document ID
UG1483
Release Date
2022-05-26
Version
2022.1 日本語
このブロックを使用すると、ストリーミング インターフェイスを含む HLS Kernel コードをインポートできます。

ライブラリ

HLS/User-Defined Functions

説明

HLS Kernel ブロックを使用すると、HLS Kernel (HLS プラグマを使用するインターフェイス仕様を持つ HLS IP) をインポートできます。このブロックは主に、HLS で AI エンジン ドメインを協調シミュレーションするために使用します。

注記: このブロックは HLS コード生成には関与しないので、デザインの HLS サブシステムには含めないでください。
注記: このブロックは、AIE to HLS Kernel または HLS to AIE ブロックを使用して AI エンジン ブロックと接続し、AI エンジンと PL コンポーネントの両方を含むデザインを協調シミュレーションするために使用します。
このブロックでは、テンプレート化した HLS 関数も使用できます。
関数引数は、hls::stream 型か、scalar または vector 型にできます。たとえば、次は有効な HLS 関数シグネチャです。
void func(hls::stream<unsigned int> &in, const ap_uint<8> (&param_in)[32], hls::stream<unsigned int> &out, ap_uint<8> param_out);

ストリーム入力および出力に対しては、このブロックは可変サイズ信号を受信し、可変サイズ出力を生成します。ストリーム入力および出力では、データ幅は 32、64、または 128 ビット幅に設定します。

パラメーター

パラメーター名 パラメーターのデータ型 必要性 説明
[Kernel header file] 文字列 必須 関数宣言を含む HLS Kernel ヘッダー ファイルの名前。ファイル名のみ、ファイルへの相対パス、またはファイルへの絶対パスを指定できます。参照ボタンをクリックしてファイルを選択します。
[Kernel function] 文字列 必須 HLS Kernel ブロックを作成する C/C++ で記述されたカーネル関数の名前。
[Kernel source file] 文字列 オプション

カーネル関数インプリメンテーション (定義) を含むソース ファイルの名前。ファイル名のみ、ファイルへの相対パス、またはファイルへの絶対パスを指定できます。

ヘッダー ファイルで関数の宣言と定義の両方を指定したり、このフィールドを空白のままにしたりできます。

[Kernel search paths] 文字列のベクター オプション

[Kernel header file] または [Kernel source file] に指定された値を使用してカーネル ヘッダー ファイルまたはカーネル ソース ファイルが見つからない場合は、[Kernel search paths] に指定されているパスでファイルが検索されます。

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

[Preprocessor options]   オプション

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

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