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

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

13.11. Intel® HLS Compiler Pro版组件调用接口控制属性

表 47.   Intel® HLS Compiler组件调用接口控制属性总结
控制属性 描述
hls_avalon_streaming_component

默认的组件调用接口。

该组件使用startbusystalldone信号进行握手。

hls_avalon_agent_component startdonereturndata(如果适用)信号出现在组件CSR中,而非作为信号外的管道。
hls_always_run_component 在组件内部start信号与1连结。无done信号输出。
hls_stall_free_return 通过内部设置stall信号为0将其移除。

仅当下游组件从不停顿时才使用此控制属性。

hls_avalon_streaming_component调用控制属性

描述

默认的组件调用接口。

此属性遵循函数调用和回送流的Avalon® ST协议。当start信号被置位,而busy信号被解除置位时,组件使用不稳定参数。当done信号被置位时,组件产生回送数据。

顶层模块端口
  • 函数调用:
    • start
    • busy
  • 函数回送:
    • done
    • stall
实例
component hls_avalon_streaming_component void foo(/*component parameters*/)

hls_avalon_agent_component调用控制属性

描述
startdonereturndata(如果适用)信号被寄存在组件代理存储器映射中。由于信号被寄存在存储器映射中,因此start/busystall/done握手信号也被移除。移除这些握手信号还会移除输入参数的握手信号。
为了使信号正确同步,每个组件参数必须是以下参数类型之一:
  • 代理寄存参数( hls_avalon_agent_register_argument ),以便信号位于寄存器映射中。包括Avalon® MM主机或应用了hls_avalon_agent_register_argument参数的指针接口。
  • 代理存储器参数( hls_avalon_agent_memory_argument )以便创建用于专用Avalon® MM代理接口的握手。
  • 稳定参数( hls_stable_argument ),明确表明信号不需要握手。包括Avalon® MM主机和应用了hls_stable_argument参数的指针接口。
  • 流式接口参数,以便创建专用Avalon® ST接口的握手。

如果您未指定这些组件参数之一,则您在编译该组件时,编译器会生成一条错误消息。

要了解更多信息,请查看教程: <quartus_installdir>/hls/examples/tutorials/interfaces/mm_agents

顶层模块端口
  • Avalon MM agent接口
  • irq_done信号
实例
component hls_avalon_agent_component void foo(/*component parameters*/)

hls_always_run_component调用控制属性

描述
在组件内部将start信号绑定到1。无done信号输出。当Intel Quartus Prime编译针对您FPGA生成的RTL时,控制逻辑被优化掉。

当组件数据路径仅依赖于显式流进行数据输入和输出时,请使用此协议。

IP验证不支持使用此组件调用协议的组件。

顶层模块端口
实例
component hls_always_run_component void foo(/*component parameters*/)

hls_stall_free_return调用控制属性

描述
如果下游组件永不停止,则通过在内部设置stall信号为0来将其移除。

此功能可与hls_avalon_streaming_componenthls_avalon_agent_componenthls_always_run_component参数一起使用。可使用此属性指定下游组件无停顿。

顶层模块端口
N/A
实例
component hls_stall_free_return int dut(int a, int b)
 { return a * b;}