テンプレート化された関数のインポート - 2022.1 日本語

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

Document ID
UG1483
Release Date
2022-05-26
Version
2022.1 日本語

HLS Kernel ブロックでは、テンプレート化された関数をブロックとして Vitis Model Composer にインポートすることがサポートされます。次のコードに示す関数テンプレートを含む HLS カーネルがあるとします。

template <typename T, int C>
void my_add_temp(hls::stream<T> & in1, hls::stream<T> & in2, hls::stream<T> & out)
{
   T a, b, c;
     
   a = in1.read();
   b = in2.read();
   c = a + b * C;
 
   out.write(c);
}

前のセクションで説明したように、ポートの方向性を設定して Build をクリックすると、次の図に示すダイアログ ボックスが表示され、テンプレート値を設定できます。

図 1. [Block Parameters] ダイアログ ボックス

Function Template Parameters にテンプレート値を入力して Apply をクリックし、OK をクリックします。これで、インターフェイスのすべてのポートを含む HLS Kernel ブロックが生成されます。