説明
C/C++ コードが演算のシーケンスで記述され、RTL で長い演算チェーンが生成されることがあります。クロック周期が短い場合、これによりデザイン レイテンシが増加する可能性あります。デフォルトでは、Vitis HLS ツールで演算の関連性および接続性を考慮して、演算が並べ替えられます。論理演算式の最適化 で説明されているように、これによりツリーのバランスが取られてチェーンが短くなるので、ハードウェア リソースは増加しますが、デザインのレイテンシは削減できます。
演算式バランス調整では、演算子を並べ替えてバランスの取れたツリーを構築することにより、レイテンシを削減します。
- 整数演算の演算式バランス調整はデフォルトでオンになっていますが、オフにすることもできます。
- 浮動小数点演算では、演算式バランス調整はデフォルトでオフになっていますが、オンにすることも可能です。
set_directive_expression_balance
コマンドを使用すると、この演算式バランス調整を指定範囲内でオン/オフにできます。
構文
set_directive_expression_balance [OPTIONS] <location>
-
<location>
: 演算式バランス調整をオン/オフにする場所をfunction[/label]
の形式で指定します。
オプション
-
-off
- 指定の場所で演算式バランス調整をオフにします。
例
関数 My_Func
内で演算式バランス調整をオフにします。
set_directive_expression_balance -off My_Func
関数 My_Func2
で演算式バランス調整をオンにします。
set_directive_expression_balance My_Func2