取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
Highlighted
Visitor
Visitor
192 次查看
注册日期: ‎01-16-2020

如何理解HLS分析视图中的资源消耗?

如图所示,这只是一个例子,多路选择器在这个模块中消耗了不少的硬件资源,展开之后看到很多以数组名字为前缀的元素,后缀显然有一定规律,那么是否有这些名字与实际硬件关系的说明文档呢?以及为何它会消耗这么多的LUT来实现功能?

另一个例子中icmp消耗了较多的硬件资源,但我不明白它到底是个怎样的原理或者结构

另外表格中bitP0 P1 什么含义也不明白

换句话说,就是我希望能更好的理解hls综合出的结果,以帮助我合理的调整编译指令或者修改代码,但我不知道是否有文档或者教程介绍这种比较细致的内容

rp1.png
rp2.png
0 项奖励
2 回复数
Highlighted
Xilinx Employee
Xilinx Employee
134 次查看
注册日期: ‎07-17-2008

在Analysis视图下,Resource Viewer可以定位到相应的C Source。icmp一般是if条件语句。

hls_ana.PNG

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Highlighted
Visitor
Visitor
81 次查看
注册日期: ‎01-16-2020

这个倒是猜到了可能是if,但还有很多其他的疑惑,似乎不容易抽象出共性,我一个一个请教吧(使用2019.2的vivado_hls):

前两幅图是第一个问题,为什么有时候会出现被调用的模块消耗的总LUT数与上层模块中它的实例对不上的情况?还往往都是多了不少LUT

第三幅图是第二个问题,这里看起来是存储器为了寻址的开销,这个开销与什么相关?理论上我一共只有64个数,似乎8位就可以足够表示地址了,而且当我array partition时,分开越多份的存储器,每个存储器的寻址范围应该也是越小的,为何此处的地址开销会保持不变呢?

111.png
112.png
222.png
0 项奖励