仅对英特尔可见 — GUID: cpy1548359143655
Ixiasoft
1. Intel® HLS Compiler Pro版参考手册
2. 编译器
3. C语言和库支持
4. 组件接口
5. 组件存储器(存储器属性)
6. 组件中的循环
7. 组件并发
8. 任意精度数学支持
9. 组件目标频率(Target Frequency)
10. 任务系统
11. 库
12. 高级硬件综合控制
13. Intel® High Level Synthesis Compiler Pro版参考总结
A. 高级数学源代码库
B. 支持的数学函数
C. Cyclone® V限制
D. Intel® HLS Compiler Pro版参考手册存档
E. Intel® HLS Compiler Pro版参考手册修订历史
13.1. Intel® HLS Compiler Pro版i++命令行参数
13.2. Intel® HLS Compiler Pro版头文件
13.3. Intel® HLS Compiler Pro版编译器定义的预处理器宏
13.4. Intel® HLS Compiler Pro版关键字
13.5. Intel® HLS Compiler Pro版模拟API(仅测试台)
13.6. Intel® HLS Compiler Pro版组件存储器属性
13.7. Intel® HLS Compiler Pro版循环预处理指令
13.8. Intel® HLS Compiler Pro版范围预处理指令
13.9. Intel® HLS Compiler Pro版组件属性
13.10. Intel® HLS Compiler Pro版组件默认值接口
13.11. Intel® HLS Compiler Pro版组件调用接口控制属性
13.12. Intel® HLS Compiler Pro版组件宏
13.13. Intel® HLS Compiler Pro版技术性任务系统API
13.14. Intel® HLS Compiler Pro版管道API
13.15. Intel® HLS Compiler Pro版流输入接口
13.16. Intel® HLS Compiler Pro版流输出接口
13.17. Intel® HLS Compiler Pro版存储器映射接口
13.18. Intel® HLS Compiler Pro版加载-存储单元控制
13.19. Intel® HLS Compiler Pro版任意精度数据类型
仅对英特尔可见 — GUID: cpy1548359143655
Ixiasoft
13.11. Intel® HLS Compiler Pro版组件调用接口控制属性
控制属性 | 描述 |
---|---|
hls_avalon_streaming_component | 默认的组件调用接口。 该组件使用start,busy,stall和done信号进行握手。 |
hls_avalon_agent_component | start,done和returndata(如果适用)信号出现在组件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调用控制属性
- 描述
- start,done和returndata(如果适用)信号被寄存在组件代理存储器映射中。由于信号被寄存在存储器映射中,因此start/busy和stall/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_component,hls_avalon_agent_component和hls_always_run_component参数一起使用。可使用此属性指定下游组件无停顿。
- 顶层模块端口
- N/A
- 实例
-
component hls_stall_free_return int dut(int a, int b) { return a * b;}