第三讲 接口综合—其他案例演示
1. 如何对输入输出端口添加寄存器
通过向设计的每个数据端口(输入输出端口)添加的寄存器,是解决时序收敛的有效方式,默认情况下Vivado HLS不会添加寄存器。
2. 如何对设计添加全局的时钟使能信号(Global CE)
全局使能确保时钟稳定后才开始运行,前期时钟不稳定,频率相位会有偏差,对程序有影响。
一但添加这个信号,在综合的端口报告中会出现一个ap_ce这样的信号。在默认的情况下是不会添加这个clock_enable信号的,clock_enable的意思是所有的电路在这个信号使能的情况下,才可以工作。这个可以通过选择目标解决方案并单击Solution Setting来完成。
3. 案例分析:控制设计IO的数量
以下C函数为两个矩阵的相加,我们的目标是采用更低的延迟和更少的IO数量。
要获得较低的延迟:我们可以采用为 "for-loop’设置pipeline。
从以上例子我门可以发现采用Pipeline for-loop可以明显减少latency,但是由于单端口变成的双端口,显然这时候IO的个数是增加的。那么我们如何那获得较少的IO个数,在这之间得到一个平衡点,得到两者的折中。
我们可以对数组进行资源的约束,是它还以单端口的形式出现。
4.总结