プラグマを使用した定数 - 2023.2 日本語

Vitis 高位合成ユーザー ガイド (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 日本語

const intconstexpr などの定数は、プラグマまたは指示子と一緒に使用できます。次に例を示します。

const int MY_DEPTH=1024; 
#pragma HLS stream variable=my_var depth=MY_DEPTH

この機能をインプリメントするのに、C コードでマクロを使用することもできます。マクロを使用するには、マクロの階層レベルを使用します。これにより、拡張が正しく実行されるようになります。このコードの場合、次のようにするとコンパイルされるようになります。

#include <hls_stream.h>
using namespace hls;

#define PRAGMA_SUB(x) _Pragma (#x)
#define PRAGMA_HLS(x) PRAGMA_SUB(x)
#define STREAM_IN_DEPTH 8

void foo (stream<int> &InStream, stream<int> &OutStream) {

// Legal pragmas 
PRAGMA_HLS(HLS stream depth=STREAM_IN_DEPTH variable=InStream)
#pragma HLS stream depth=8 variable=OutStream

}