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

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

3天内不再提示

BRAM和URAM重要的片上存储资源,两者有显著的区别

电子工程师 来源:lp 2019-03-06 15:44 次阅读

无论是7系列FPGA、UltraScale还是UltraScale Plus系列FPGA,都包含Block RAM(BRAM),但只有UltraScale Plus芯片有UltraRAM也就是我们所说的URAM。BRAM和URAM都是重要的片上存储资源,但两者还是有些显著的区别。

容量

BRAM的容量为36Kb,且可当作两个独立的18KbBRAM使用。对于一个36Kb的BRAM,其最能达到的最大位宽为72bit。URAM容量为288Kb,一个URAM深度为4K(4×1024),宽度为72b。

时钟

BRAM有两个时钟,在RAMB36E2的Primitive声明中就可以看到这两个时钟CLKARDCLK和CLKBWRCLK。而URAM只有一个时钟,在URAM288的Primitive声明中可以看到该时钟CLK。尽管在使用XPM_MEMORY实例化URAM时可以看到clka和clkb,但这两个端口最终都连接到URAM的物理端口CLK上。

初始值

BRAM的初始值是可以设定的,无论BRAM是单端口、简单双端口还是真双端口都可以通过COE文件设定其初始值。而URAM的初始值只能为0,且无法更改,换言之,其初始值是不可设定的。这也就意味着BRAM可以配置成ROM而URAM不可以。

工作模式

BRAM可配置为单端口、简单双端口和真双端口,但对于URAM,不能简单地将这三种模式映射过来,其工作行为如下图所示。可以看到,A/B端口不是独立的,例如,A端口读而B端口写同一地址,读出的是该地址原有数据;A端口写而B端口读同一地址,读出的是新写入的数据。

图片来源:Table 2-6, ug573

实例化方式

对于BRAM,可采用原语、XPM_MEMORY、RTL代码或者IP Core的方式进行实例化,但URAM目前只支持原语、XPM_MEMORY和RTL代码的方式。相比而言,XPM_MEMORY的方式更为快捷,也是Xilinx建议的方式。

级联方式

BRAM和URAM都可级联,只是级联方式不同。在使用BRAM时,我们只需要设定宽度和深度,并根据时钟频率合理选择Latency,也就是选择是否需要使用BRAM自带的输出寄存器或Slice中的寄存器。而URAM提供了专门的级联寄存器,同样需要根据时钟频率合理选择Latency,此时会影响到级联寄存器的使用。如下图所示,是4个URAM的级联情形。

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

    关注

    30

    文章

    5027

    浏览量

    117711
  • BRAM
    +关注

    关注

    0

    文章

    40

    浏览量

    10885

原文标题:URAM和BRAM有什么区别

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Ethernet和EtherCAT两者什么区别和联系?

    Ethernet和EtherCAT两者什么区别和联系?
    发表于 04-12 07:13

    电路设计中的线板和网板指的是什么?两者什么区别

    电路设计中的线板和网板指的是什么?两者什么区别?谢各位大神了。
    发表于 08-11 22:59

    CPK和PPK两者区别份资料分享

    CPK和PPK两者区别是什么,请看这份资料!
    发表于 08-24 13:48

    请问AD8429ARZ与AD8429BRZ两者什么区别

    请问AD8429ARZ与AD8429BRZ两者什么区别??@
    发表于 01-02 10:47

    请问TPS3513和TPS3514两者什么区别

    TPS3513和TPS3514两者什么区别
    发表于 05-06 11:12

    请问SYS/BIOS和DSP/BIOS两者之间什么区别

    之前一直是跑裸机程序,现在想把程序移植到TI的操作系统,注意到SYS/BIOS和DSP/BIOS,没有这方面的经验,不清楚两者什么区别
    发表于 06-17 08:16

    URAMBRAM区别是什么

    是我们所说的URAMBRAMURAM都是重要存储
    发表于 12-23 16:57

    URAMBRAM区别是什么

    URAMBRAM什么区别
    发表于 02-23 07:52

    CCPL和LED究竟两者什么区别呢?

    CCPL和LED究竟两者什么区别呢?
    发表于 06-08 06:58

    WWDG和IWDG两者最大的区别是什么

    WWDG和IWDG两者最大的区别是什么?在WWDG如何区分是电复位还是看门狗复位呢?
    发表于 09-01 07:29

    单片机和嵌入式两者什么区别和联系呢

    嵌入式是什么?单片机又是什么?两者什么区别和联系呢?针对两者之间的问题小编整理了一篇文章,希望对大家理解两者的基本概念,以及
    发表于 11-26 08:06

    flexbuilder与make两者生成的内核什么区别

    =aarch64-linux-gnu- 命令编译的内核烧写进系统,系统不断重启手册 flex-builder -c linux -a arm64 -m ls1028ardb没有问题,1.两者生成的内核什么
    发表于 12-31 06:53

    浅析安全PLC和普通PLC两者之间的区别

    。但是两者还是区别。  一。系统构成  安全PLC 的系统,独立于普通PLC的系统,能够实现重要目标。  1.采用冗余的工作方式,系统
    发表于 03-02 17:46

    URAMBRAM有哪些区别

    无论是7系列FPGA、UltraScale还是UltraScale Plus系列FPGA,都包含Block RAM(BRAM),但只有UltraScale Plus芯片有UltraRAM也就是我们所说的URAMBRAM
    的头像 发表于 07-25 17:54 4682次阅读
    <b class='flag-5'>URAM</b>和<b class='flag-5'>BRAM</b>有哪些<b class='flag-5'>区别</b>

    URAMBRAM有什么区别

    无论是7系列FPGA、UltraScale还是UltraScale Plus系列FPGA,都包含Block RAM(BRAM),但只有UltraScale Plus芯片有UltraRAM也就是我们所说的URAMBRAM
    发表于 01-27 06:55 12次下载
    <b class='flag-5'>URAM</b>和<b class='flag-5'>BRAM</b>有什么<b class='flag-5'>区别</b>