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的级联情形。

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

    关注

    31

    文章

    5343

    浏览量

    120341
  • BRAM
    +关注

    关注

    0

    文章

    41

    浏览量

    10964

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    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

    CPLD和FPGA两者区别

    CPLD和FPGA都是我们经常会用到的器件。有的说配置芯片的是FPGA,没有的是CPLD;有的说逻辑资源多的是FPGA,少的是CPLD;有的直接就不做区分,把他们都叫做FPGA。那么两者到底
    发表于 05-24 02:03 5w次阅读
    CPLD和FPGA<b class='flag-5'>两者</b>的<b class='flag-5'>区别</b>

    无线热点和无线局域网两者区别以及联系

    无线热点和无线局域网什么区别,因为从某些方面来说两者好像没有什么不同,但实际两者是包含与被包含的关系,无线局域网(WLAN)包含无线热点
    发表于 11-15 10:56 6977次阅读

    URAMBRAM哪些区别

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

    URAMBRAM什么区别

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

    工频耐压和冲击电压两者什么区别

    工频耐压和冲击电压两者什么区别 工频耐压和冲击电压是电气行业中常用的个测试指标,用来评估电气设备的绝缘性能。虽然两者都是用来测试绝缘材料
    的头像 发表于 12-20 15:16 2231次阅读