pragma HLS expression_balance - 2019.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2020-02-28
Version
2019.2 Japanese

説明

C ベースの仕様が演算のシーケンスで記述され、RTL で長い演算チェーンとなることがあります。クロック周期が短い場合、これによりデザイン レイテンシが増加する可能性あります。デフォルトでは、Vivado HLS ツールで演算の関連性および接続性を考慮して、演算が並べ替えられます。これにより、ツリーのバランスが取られてチェーンが短くなるので、ハードウェア リソースは増加しますが、デザインのレイテンシを削減できます。

EXPRESSION_BALANCE プラグマを使用すると、指定のスコープ内でこの演算調整をディスエーブルまたは明示的にイネーブルにできます。

構文

C ソースの必要なロケーションの境界内に配置します。

#pragma HLS expression_balance off

説明:

off
演算調整を指定の場所でオフにします。
ヒント: プラグマでこのオプションを使用しないと、デフォルトで演算調整がオンになります。

例 1

次の例では、関数 my_Func 内で演算調整を明示的にオンにしています。

void my_func(char inval, char incr) {  
  #pragma HLS expression_balance

例 2

関数 my_Func 内で演算調整をオフにします。

void my_func(char inval, char incr) {  
  #pragma HLS expression_balance off