取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
dhchen
Observer
Observer
507 次查看
注册日期: ‎12-22-2020

VIVADO综合结果RAM使用率过高问题

跳至解决方案

使用15EG芯片,迭代FPGA版本后发现综合结果BRAM使用率达到了73%,首先这个total 744是什么单位,感觉这个数据和芯片手册宣称的TOTAL BRAM 26.2Mb差别很大,同时当前FPGA版本基本没有使用RAM资源,怎么就76%的使用率,有点懵,求教!

dhchen_0-1617767359878.png

 

0 项奖励
1 解答

已接受的解答
hongh
Moderator
Moderator
471 次查看
注册日期: ‎11-05-2010

BRAM 是FPGA器件上大块的存储资源,在15eg器件上,一个BRAM的大小是36K(需要时可以分成2个18K容量的RAM使用). 36K X 744是你在手册中看到的容量.

BRAM一旦使用了一部分资源,整个BRAM就被占据了,所以有时实际用到的RAM会比预想的要大.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
8 回复数
viviany
Xilinx Employee
Xilinx Employee
479 次查看
注册日期: ‎05-15-2008

744是个数,不是容量

想要知道是什么逻辑使用了RAM资源,可以open synthesized design,用file --> find查找cell type为BRAM,在搜索结果中根据cell名字或者追溯到代码里查看一下

-vivian

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励
hongh
Moderator
Moderator
472 次查看
注册日期: ‎11-05-2010

BRAM 是FPGA器件上大块的存储资源,在15eg器件上,一个BRAM的大小是36K(需要时可以分成2个18K容量的RAM使用). 36K X 744是你在手册中看到的容量.

BRAM一旦使用了一部分资源,整个BRAM就被占据了,所以有时实际用到的RAM会比预想的要大.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
Love24
Explorer
Explorer
458 次查看
注册日期: ‎10-22-2020

BRAM资源不一定只在直接使用block ram  ip核时会用到,在使用FIFO(配置时可选择使用bram还是分布式ram)、fft等ip时,都可能用到BRAM,按照你说的情况,很可能是其他的IP占用了bram资源。

Yi_keil
Contributor
Contributor
434 次查看
注册日期: ‎01-08-2021

您好,我想请问一下对于BRAM或者URAM,都是一旦使用了一部分资源,整个BRAM就被占据了吗?

如果想把一个位宽为36bit的数据存入位宽为72bitBRAM中,是不是说剩下的36bit的空间就无法被其他数据使用了?

0 项奖励
Love24
Explorer
Explorer
424 次查看
注册日期: ‎10-22-2020

bram是内部硬核资源,对于一个bram,它的控制接口只有一套,写地址读地址这些,一旦被调用,无论容量是否富余,其他逻辑就不能再使用了,因为控制接口已被占用。其次,bram容量虽然固定,但位宽和深度可配,36kb可以配置成36x1024,也可以配置成72x512。你说的这种配置成72,但是只用36,一般不这么做,直接配成36即可。

0 项奖励
Yi_keil
Contributor
Contributor
356 次查看
注册日期: ‎01-08-2021

好的,谢谢你的回复!我最后还有一个问题想请教一下:请问在HLS中能够对bram进行这样的配置吗?还是说HLS工具会根据数据位宽自动综合出合适大小的bram?

0 项奖励
hongh
Moderator
Moderator
354 次查看
注册日期: ‎11-05-2010

HLS 会根据数据位宽自动使用最适配的BRAM配置. 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
junhawk
Scholar
Scholar
238 次查看
注册日期: ‎05-29-2018

RAM36K的36bit位宽实际能使用的只有每个RAM18K的16bit,多的2个bit是用来做ECC校验的,所以需要以16bit做计算,也就是RAM36K只有32bit位宽。

0 项奖励