Intel® 高层次综合编译器专业版Pro版: 参考手册

ID 683349
日期 12/04/2023
Public
文档目录

4.6. 稳定的组件参数

如果没有为参数指定预期行为,则编译器将假定与参数相对应的自变量在流水线化组件调用之间会改变其值。

如果组件执行时参数的对应自变量没有改变,则可以将该参数标记为 stable。在所有有效组件调用完成后,稳定参数的自变量仍可能发生变化(即,组件数据路径被刷新)。如果自变量在有效组件调用进行期间发生变化,您的组件将进入未定义状态并出现不可预测的行为。

声明接口参数因为hls_stable_argument属性而稳定。

您可以将以下接口参数标记为稳定:
  • 标量(管道)参数
  • 指针接口参数

    地址管道输入稳定。关联的Avalon MM Host接口不受影响。

  • 引用传递(Pass-by-reference)参数

    地址管道输入稳定。关联的Avalon MM Host接口不受影响。

  • Avalon® 存储器映射(MM)Host接口参数

    地址管道输入稳定。关联的Avalon MM Host接口不受影响。

  • Avalon® 存储器映射(MM)Agent寄存器接口参数

    数据存储在CSR中,但未被寄存到组件数据路径中。

以下接口参数不能标记为稳定:
  • Avalon® 存储器映射(MM)Agent存储器接口参数
  • Avalon® 流接口参数

将接口自变量声明为稳定时,您的组件设计中可能会节省一些FPGA面积,因为数据不属于被寄存的吞吐量。

您不能同时进行两次组件调用,并且两次组件调用之间使用不同的稳定自变量。

属性 描述
hls_stable_argument 稳定参数是指在组件中存在实时数据时不会改变的参数(即,参数在流水线函数调用之间不会改变)。