前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BRAM的用量为什么会出现小数

BRAM的用量为什么会出现小数

作者头像
Lauren的FPGA
发布2019-10-31 00:29:44
1.2K0
发布2019-10-31 00:29:44
举报
文章被收录于专栏:Lauren的FPGALauren的FPGALauren的FPGA

通过report_utilization可查看设计的资源利用率,而在资源利用率报告中,有时会发现BRAM的Utilization为小数,如下图中的503.50,这是什么原因呢?

实际上,BRAM的利用率是以36Kb的BRAM为计算单位的,而一个36Kb的BRAM是由两个相对独立的18Kb BRAM构成的。从而,一个36Kb的BRAM可以配置为4种模式:2个18Kb RAM;1个18Kb RAM+ 1个18Kb FIFO;1个36Kb RAM;1个36Kb FIFO(点击这里复习Block RAM的基本结构

另外,资源利用率是通过Tcl脚本生成的。我们也可以自己写Tcl脚本生成资源利用率。这里就以BRAM为例。BRAM的4种配置方式对应的REF_NAME分别为RAMB18E2、FIFO18E2、RAMB36E2和FIFO36E2。从而,可通过如下命令找到相应的资源用量:

set ram36_num [llength [get_cells -hier \

-filter "REF_NAME == RAMB36E2”]]

set ram18_num [llength [get_cells -hier \

-filter "REF_NAME == RAMB18E2”]]

set fifo36_num [llength [get_cells -hier \

-filter "REF_NAME == FIFO36E2”]]

set fifo18_num [llength [get_cells -hier \

-filter "REF_NAME == FIFO18E2”]]

那么整个设计的BRAM用量即为

expr $ram36_num + $fifo36_num + \

($ram18_num+ $fifo18_num) / 2.0

最后一条Tcl命令中出现了/2.0的操作,验证了出现小数确地说是出现.5。还需要注意一点,这里是2.0,而不能写成2,为什么?简单说,下面这两条Tcl命令结果是不一样的。

expr 7/2

expr 7/2.0

如果文章对你有收获,欢迎转发~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lauren的FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档