1.关于latency时延最优化,vivado hls可以对任意作用域进行时间延时优化。
2.时间延时优化使用latency指令来指定。
3.对作用域施加最大或者最小latency约束的时候,vivado hls工具会尝试
确保函数内的所有运算都在指定的时钟周期范围内完成。
4.应用到loop循环内部的latency指令表示单次循环迭代所需要的时间延时
Loop_A: for (i=0; i<N; i++) {
#pragma HLS latency max=10
..Loop Body...
}
5.关于循环的所有迭代总延时,应将指令应用包含整个循环的区域。
Region_All_Loop_A: {
#pragma HLS latency max=10
Loop_A: for (i=0; i<N; i++)
{
..Loop Body...
}
}
6.如果 Vivado HLS 无法满足最大时延约束,它会放宽时延约束,并尝试尽可能实现最佳结果。
7.如果设置最小时延约束,并且 Vivado HLS 生成的设计时延低于所需的最小值,它会插入虚拟时钟周期以满足最小时
延。