仅对英特尔可见 — GUID: dka1553387245514
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: dka1553387245514
Ixiasoft
6.1. 循环启动间隔(ii预处理指令)
启动间隔(或者“II”)是启动连续循环迭代之间的时钟周期数。 使用ii预处理指令指示 Intel® High Level Synthesis (HLS) Compiler尝试设置遵循预处理指令声明的循环的启动间隔(II)。如果编译器无法实现循环的指定II,则会出现编译错误。
您可能需要增加循环的II来获得组件中fMAX改进。如果循环满足以下任一条件,那么在通过应用ii预处理指令增加循环的II时,该循环就是很好的选择:
- 该循环对于组件的吞吐量来说并不重要。
- 与可能包含的其它循环相比,该循环的运行时间较短。
您还可以应用ii预处理指令来强制循环的启动间隔II为1,并且接受可能的fMAX损失。
要指定循环的循环启动间隔,请指定该循环前面的预处理指令,如下所示:
#pragma ii <desired_initiation_interval><desired_initiation_interval>参数为必需,它是一个整数,指定在开始执行连续循环迭代之间要等待的时钟周期数。
您还可以指示编译器尝试通过hls_component_ii (<N>)组件属性达到您组件的II。请参阅 hls_component_ii 获得更多有关信息。
要详细了解关于应用ii循环预处理指令后的效果,可查看以下教程:
<quartus_installdir>/hls/examples/tutorials/best_practices/set_target_fmax_1