Vivado HLS高层次综合的设计理念

Vivado HLS高层次综合的设计理念


一、四个版本的高层次综合设计
V1:纯串行算法,C语言直接综合,没有优化指令。资源消耗大,延迟高。
V2:串行+指令优化。可能加入了流水线(pipeline)或者数据流(dataflow)等指令,但是整体架构还是串行的。DSP消耗下降明显,说明优化了乘法等运算。延迟也下降了。
V3:并行算法。结构上改成了并行处理,比如循环展开(unroll)等,LUT消耗大幅上升(因为并行需要更多逻辑资源),FF下降(可能因为控制逻辑简化),延迟进一步下降。
V4:并行+优化+创新。结合了前面的优点,并且在架构上做创新,可能使用了更优的流水线结构或数组分割等,使得在资源(LUT、FF)下降的同时,延迟也达到了最低(提速5.6倍)。

二、V1串行算法基准版本
1.使用c/c++代码直接综合,使用默认的HLS指令
2.结构为纯串行结构,硬件电路按照代码的顺序进行执行,类似CPU的指令执行方式
3.底层逻辑是缺乏并行性,大量的硬件资源在大部分时间处于空闲等待状态。
4.延迟高,逻辑资源消耗大,并且效率低下。

三、V2串行+指令优化

四、V3并行算法

五、V4并行+优化+创新