AR# 54135

Vivado HLS 2012 - 最上位関数をテンプレートにすることができない理由

説明

最上位関数をテンプレートにすることができないのはなぜですか。

ソリューション

VHLS ツールの現在のリリースでは、コンパイル時にすべてがスタティックである必要があります。

 

FIR フィルターをテンプレートとした例を見てみます。

template<TAPS_number, type> fir (type new_input) {core}

 

これを最上位関数とすることはできません。

次は有効な最上位です。

 

int top_type1(int x) {

   return fir<2,int>(x);

}

 

double top_type2(double x) {

   return fir<10000,double>(x);

}

 

top_type1 および top_type2 のサイズおよびパフォーマンスが大きく異なることは明らかです。


この例に示すように、ツールで top_type1 および top_type2、またはほかの組み合わせを必要に応じて生成することはできません。

 

AR# 54135
日付 03/25/2015
ステータス アクティブ
種類 一般
ツール