syn.directive.expression_balance - 2024.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2024-07-03
Version
2024.1 简体中文

描述

有时,C/C++ 代码是以一连串运算来编写的,故而会在 RTL 中生成一长串运算链。如果时钟周期较短,这就可能增加设计中的时延。默认情况下,Vitis HLS 工具会使用结合律和交换律来重新组织运算。通过重新组织可以创建平衡的树结构以缩短运算链,从而以增加硬件为代价来缩短设计时延。

表达式平衡会重新排列运算符以构造平衡的树结构并降低时延。

  • 对于整数运算,默认情况下表达式平衡处于开启状态,但可将其禁用。
  • 对于浮点运算,默认情况下表达式平衡处于关闭状态,但可将其启用。

syn.directive.expression_balance 命令支持在指定作用域内开关这种表达式平衡方法。

语法

syn.directive.expression_balance=[OPTIONS] <location>
  • <location> 是应禁用或启用该表达式平衡的位置(格式为 function[/label])。

选项

off
在指定位置关闭表达式平衡。
指定 syn.directive.expression_balance 命令即可在指定作用域内启用表达式平衡。添加 off 选项即可将其禁用。

示例

My_Func 函数内禁用表达式平衡。

syn.directive.expression_balance=off My_Func

My_Func2 函数内显式启用表达式平衡。

set_directive_expression_balance=My_Func2