ノンブロッキング書き込み - 2023.2 日本語

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

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

hls::stream.write_nb() メソッドは、データをストリームに挿入し、正しく挿入された場合はブール値 true が返されます。それ以外の場合は false が返され、キューは変更されません。

// Usage of bool write_nb(const T & wdata)
hls::stream<int> my_stream;
int src_var = 42;

if (my_stream.write_nb(src_var)) {
 // Perform standard operations
 ...
} else {
 // Write did not occur
 return;
}

hls::stream.full() メソッド に説明されるように、ノンブロッキング ビヘイビアーは、Full チェック条件を含むブロッキング書き込みを使用してモデリングすることもできます 。これにより、非確定的ビヘイビアーが発生する可能性があり、洗練されたテストベンチを使用して RTL シミュレーションで検証する必要があります。

hls::stream<int> my_stream;
int src_var = 42;
bool stream_full;
 
stream_full = my_stream.full();
if(!stream_full)
   my_stream.write_nb(src_var);