Vivado 2021.1于近日发布,随之也迎来了全新的Vitis HLS。先来看看Vitis HLS 2021.1的基本界面,如下图所示。是不是有点似曾相识的感觉?对的,看到Flow Navigator我们就想起了Vivado里的Flow Navigator。这种导航界面很整洁,很直观。这使得工程师很清楚地知道当前要做哪一步,下一步要做什么。同时,这样的界面对于设计分析也是很有帮助的。总体而言,每一步都会由相应的Run和Report构成,Report展示Run的结果,因此,要先执行Run才能看到报告。


全新的Vitis HLS 2021.1来了_3d



C Simulation时,增加了选项Enable Pre-synthesis Control Flow Viewer(该功能目前只在Linux下支持),如下图所示。可生成数据流图。该功能有助于我们确定程序中算法较为密集的部分,从而确定优化方向和优化目标。


全新的Vitis HLS 2021.1来了_2d_02



全新的Vitis HLS 2021.1来了_2d_03




在C Synthesis下,新增加了 Function Call Graph,会显示子函数或者for循环的II和Latency,如下图所示。这对于查找II或Latency瓶颈很有帮助。

全新的Vitis HLS 2021.1来了_for循环_04



在Implementation下,新增加了Run Implementation,点击这个选项,会弹出如下图所示界面。可以看到借助此可以在Vitis HLS下调用Vivado执行RTL综合和布局布线而无需手工创建Vivado工程。


全新的Vitis HLS 2021.1来了_3d_05



执行RTL综合之后,点击Run Implementation下的选项Reports &Viewer,会显示如下报告,在这个报告里会显示RTL综合之后的资源利用率,这对于更精确的评估资源很有帮助。


全新的Vitis HLS 2021.1来了_for循环_06



此外,在C综合之后的报告中多了一项Bind Storage Report,用于显示设计中数组或STREAM被映射为存储单元的状况,这些状况包括原始变量和实现类型,如下图所示。

全新的Vitis HLS 2021.1来了_3d_07