仅对英特尔可见 — GUID: ssy1559918731487
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: ssy1559918731487
Ixiasoft
6.7. 循环流水线控制(disable_loop_pipelining预处理指令)
当循环迭代由于循环携带的依赖性而有效且有序地执行时,请使用 disable_loop_pipelining指令生成简单的顺序数据路径并避免循环资源硬件重复。较简单的数据通路和硬件中资源重复的减少会降低组件的FPGA面积利用率。
使用高层设计报告(report.html)的Loop Analysis部分有助于确定是否应该将此指令应用到您的循环中。
在以下实例中, 由于存储器依赖性, Intel® HLS Compiler无法以较小的循环启动间隔 (II) 调度循环。流水线化此循环不太可能为您的组件吞吐量或性能带来任何好处。
#pragma disable_loop_pipelining for (int i = 1; i < N; i++) { int j = a[i-1]; // Memory dependency induces a high-latency loop feedback path a[i] = foo(j) }
您还可以通过hls_disable_component_pipelining组件属性禁用整个组件的流水线数据路径。请参阅组件流水线控制(hls_disable_component_pipelining属性)了解关于该属性的更多详细信息。