最近正在学习vivado HLS,通过ug871和ug902学习HLS,ug871文档提供demo,ug902提供更为详细的解释。
ug871看到第6章设计分析章节时,看到文档一处出现“瓶颈”的地方,ap_clk始终没能够满足要求。demo中前几步还在解决这个问题,后几步就完全不管了,直到最后。(虽然达到了最初Interval目标)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cso3ZU5EeVhEZxI1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zROBlLxMDO4UDMzgTM0IzMwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
总结一下:出现瓶颈的两个原因:一定数量的IO端口/BRAM的限制,数据的独立性(可添加优化约束和修改c代码解决)。
出现瓶颈的正确做法:(找出最大的latency部分和查看造成的源头(C code))