先在pdf上做批注,后面再考虑将批注整理到一起。
先在c文件中做笔记,后面再考虑将笔记汇总到语雀。

DSP和DSP48E的区别?

问题的由来如下:
image.png
从上图中可以看到DSP没有使用资源,但是用到了DSP48E。
我在综合hls给出的一个example,功能是fft,有一个问题刚好和昨晚讲解的知识有关。看图里面最左边一列的DSP没有占用资源,但是Instance里用了24个DSP48E。为什么用了DSP48E,会显示在Instance里?DSP是在什么情况下会由综合器生成?(我的理解是这个设计里用到了DSP48E这一资源,但是没有被认为是综合出了DSP)
师兄的解释:
实际上肯定是使用了DSP资源。我个人的理解是 最上面这一栏是 一开始代码当中的operation就会被判定为”DSP”。这里的DSP可能并不指”使用DSP资源的运算”。而是指从operation的角度上就是”DSP”,比如对于DSP库的使用。
我的理解:
DSP由DSP48E组成,强调是有一定模式的组成。但是由DSP48E组成的不一定是DSP,可以是fmul等等。详情见笔记Chapter5中的分析。

什么是Words、Bits?

问题的由来如下:
image.png
image.png
从上图中可以看到有Words和Bits。
由图可知,一个BRAM_18K中Words=32,Bits=32,Banks=1,超过1024Bits
Words指的是单元数,一共有32个数,在Chapter5中代表窗函数的项数(取多少个项)
Bits指的是位宽,1个reg存1个bit,有几个bit就有几个reg。
Banks指的是1列,因为资源是按列排序。或者说维度。(未查证!!)
多少项每项多少位列数
image.png
为验证上述想法,把Chapter lab2中的窗长度WIN_LEN由32改为64,果然Words由32变成64,因为超过1024Bits(1k-Bits),所以综合出1个BRAM_18K。