0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

请问Block RAM的资源如何计算?

傅里叶的猫 来源:傅里叶的猫 2024-05-06 14:12 次阅读

Q:当使用ram时,width是960bit,depth是16bit,只有15Kb大小, 为什么占用了很多个BRAM?

A:首先要知道什么是BRAM,就是Block RAM,这些RAM就是分块的,可以当成36kb来使用,也可以当成18kb来使用,如果使用空间小于18kb,也会占用一整个18kb的BRAM。而且还要看使用的位宽和深度,这两个指标综合考虑来计算使用的BRAM的个数。

以7系列为例,每个36Kb BRAM也可以配置成深度×宽度为64K × 1(当与相邻的36KB块RAM级联时)、32K × 1、16K × 2、8K × 4、4K × 9、2K × 18、1K × 36或512 × 72的简单双端口模式。

1b05bf7a-0b4f-11ef-a297-92fbcf53809c.png

超过上面这些原语中的宽度和深度时,都要增加一个新的BRAM。

再结合下面这个图,可以知道RAM18和RAM36的输入位宽分别可以是多少。

1b22a3b0-0b4f-11ef-a297-92fbcf53809c.png

比如一个512*19的空间,刚好可以使用512x36的原语来覆盖,那就只会占用一个18k BRAM,如果是群友的960bitx16bit,那么需要960/72=13.333,因此需要13个256x72的RAM36,剩下的空间由1个RAM18即可满足。因此总共需要13个RAM36和1个RAM18.

当然,如果每次都这么计算一遍太麻烦,我们还是直接让工具给出结果是最简单的。

1b3b6b20-0b4f-11ef-a297-92fbcf53809c.png
1b5da0e6-0b4f-11ef-a297-92fbcf53809c.png

现在有了xpm,很多工程师在调用mem时,都喜欢直接用xpm,不用xci文件了,导致有些刚入行的工程师还不知道Block Memory Generator中还可以计算资源。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • BRAM
    +关注

    关注

    0

    文章

    41

    浏览量

    10938

原文标题:FPGA问答系列--Block RAM的资源如何计算?

文章出处:【微信号:傅里叶的猫,微信公众号:傅里叶的猫】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FIFOPrimitive在Block RAM上有什么优势?

    我今天正在实现FIFO,我想知道FIFOPrimitive和Block RAM实现之间的区别是什么。根据我的理解,它们使用相同的底层RAM原语,但FIFOPrimitive不能有不同的R / W方面
    发表于 02-27 14:16

    Block RAM的功耗始终为0mW

    大家好。我设计并模拟了简单的RTL with Block RAMin Kintex 7。在合成和实现之后,vivado用于功率估计。当我使用分布式RAM时,会正确报告每个RAM的功耗。但是
    发表于 03-13 14:21

    请问nand flash的page size和block size怎么计算的?

    图一:图二:我想请问一下:图一中的nand flash 的红色箭头page size和block size,是从图二中怎么计算或者怎么看出来的?
    发表于 03-20 04:43

    请帮助我解决Block RAM问题?

    ,维克多Rdp_fifo3.v 3 KB以上来自于谷歌翻译以下为原文I am trying to use the block ram on Xilinx Spartan 3AN (XC3S400AN
    发表于 06-04 09:08

    请问9K Block RAM设计中那些2 9K Block RAM在哪里?

    嗨,我想为我的设计使用比特流加密,我遇到了一个关于9K Block RAM的问题,在答案记录39999中描述了r然后我决定在我的设计中删除所有9k Block RAM并将它们更改为16
    发表于 06-06 07:23

    SPARTAN-3AN怎么使用标准JTAG命令读取Block RAM内容

    嗨,为了调试系统,我需要在系统运行时动态读取Block-RAM内容....我只有JTAG线,我不能在FPGA中制作一个特定的块用于读取内容并通过JTAG等发送它们。我可以使用ISMP 13.2作为
    发表于 06-11 07:36

    为什么Spartan 6 block ram有2个时钟延迟?

    我正在运行Spartan 6 block ram的模拟。时钟速度为100Mhz。块ram的写作运作良好。我可以在内存中看到数据。但是当我读取数据时,输出有2个时钟的延迟。在块ram用户
    发表于 07-25 08:15

    如何通过USB将数据从我的Spartan 3E FPGA Block RAM发送到我的计算机?

    是否可以通过USB将数据从我的Spartan 3E FPGA Block RAM发送到我的计算机?我试图通过串行RS232发送数据,但那不起作用,所以想找到一个发送数据的备用路径。如果可能的话,那是什么锻炼?
    发表于 08-09 09:23

    请问分布式RAMBlock RAM的芯片中有menexternalmemory或内存吗?

    嗨!我有一个关于分布式RAMBlock RAM的问题。芯片中有menexternalmemory或内存吗?请详细告诉我。谢谢!
    发表于 11-07 09:07

    怎么使用virtex 5上的Block RAM来实现延迟线?

    我正在尝试使用virtex 5上的Block RAM来实现延迟线。延迟线需要将数据延迟一个时钟周期。这可能使用Block RAM吗?我尝试使用简单的双端口
    发表于 06-18 15:40

    如何使用Block RAM及利用其功能和性能优势

    了解新的Block RAM级联功能,如何使用它,以及如何利用其功能和性能优势。
    的头像 发表于 11-23 06:56 4827次阅读

    关于Block RAM的寄存器输出

    关于Block RAM的寄存器输出,我们在《通过RTL改善时序的技巧之Block RAM的输出》中介绍过。如果我们在时序报告中关键路径上看到这样一条信息: 在第一级的C2Q delay
    的头像 发表于 03-26 15:50 1784次阅读
    关于<b class='flag-5'>Block</b> <b class='flag-5'>RAM</b>的寄存器输出

    FPGA的RAM存储资源详细资料说明

    本文档的主要内容详细介绍的是FPGA的RAM存储资源详细资料说明包括了:1、 FPGA存储资源简介,2、 不同厂家的 Block RAM
    发表于 12-09 15:31 10次下载
    FPGA的<b class='flag-5'>RAM</b>存储<b class='flag-5'>资源</b>详细资料说明

    FPGA中block ram的特殊用法列举

    在FPGA中block ram是很常见的硬核资源,合理的利用这些硬件资源一定程度上可以优化整个设计,节约资源利用率,充分开发FPGA芯片中的
    的头像 发表于 12-24 14:28 1224次阅读

    使用FPGA调用RAM资源的详细说明

    FPGA可以调用分布式RAM和块RAM两种RAM,当我们编写verilog代码的时候如果合理的编写就可以使我们想要的RAM被综合成BRAM(Bloc
    发表于 12-30 16:27 9次下载