仅对英特尔可见 — GUID: mkp1582302768237
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: mkp1582302768237
Ixiasoft
11.4.1.2.1. RTL模块接口信号
Intel® HLS Compiler需要RTL模块在输入和输出都支持readyLatency = 0的单个接口。
如图RTL模块接口中所示,RTL模块必须有四个端口:
- ivalid和iready作为输入就绪/有效接口
- ovalid和oready作为输出就绪/有效接口
下图说明了具有背压的输入数据传输的时序图。
图 21. 带背压的输入和输出数据传输时序图

对于具有固定延迟的RTL模块,输出信号(ovalid和oready)可以具有恒定的高值,并且输入就绪信号(iready) 可以被忽略。
无停顿的RTL模块可能会收到无效的输入信号(ivalid为低电平)。该情况下,模块会忽略输入并在输出上产生无效数据。对于无内部状态的无停顿RTL模块,通过模块传播无效输入可能更容易。但是,对于具有内部状态的RTL模块,您必须小心处理ivalid = 0输入。
无停顿RTL组件实例时序图
考虑以下无停顿RTL组件的实例时序图:
图 22. 无停顿RTL组件的时序图
对于此组件,在RTL模块的对象清单文件中设置了以下ATTRIBUTE元素:

- IS_STALL_FREE值="yes”
- IS_FIXED_LATENCY值="yes”
- EXPECTED_LATENCY值=“2”
非停顿RTL组件实例时序图
考虑以下无停顿RTL组件实例时序图:
图 23. 非无停顿RTL组件的时序图
对于此组件,在RTL模块的对象清单文件中设置了以下ATTRIBUTE元素:

- IS_STALL_FREE值= "no"
- IS_FIXED_LATENCY值= "no"
- EXPECTED_LATENCY值= "4”