第三讲 其他优化方法
1. 定义一个ROM
- 可以通过关键字const+initial value的方法定义一个ROM,优势在于简单,不足之处在于如果长度过长时很容易出错且不易于代码管理。
- 可以通过头文件,将ROM定义在头文件中(比较靠谱);
如果系数值是通过数学公式计算的并且未更新,则Vivado HLS将推断出ROM
2. 改变ROM输出latency
- 默认情况下,ROM输出latency为2;
- 增加ROM输出latency可以改善这条路径上的时序
3. Array Initialization
HLS要将数组映射为Memory实现时,需要在前面加关键字static,这个static不仅保证了作为Memory实现,还保证了最终综合生成的RTL和C在行为上一致的(当数组有初始值时,无static时对Memory有相应操作时首先要初始化,需要一定时间),加了static后初始化的值已经被写进执行文件中。
4. 总结