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

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

3天内不再提示

URAM和BRAM有哪些区别

电子设计 来源:战斗机上的飞行员 作者:战斗机上的飞行员 2022-07-25 17:54 次阅读

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

容量

BRAM的容量为36Kb,且可当作两个独立的18Kb BRAM使用。对于一个36Kb的BRAM,其最能达到的最大位宽为72bit。

URAM容量为288Kb,一个URAM深度为4K(4×1024),宽度为72bit。

时钟

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端口读同一地址,读出的是新写入的数据。

o4YBAGAKKa6ADKORAABVQPoPk38323.png

图片来源: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的级联情形。

o4YBAGAKKfyADjl_AAOzPIt97x0795.png

审核编辑 黄昊宇

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

    关注

    0

    文章

    41

    浏览量

    10942
收藏 人收藏

    评论

    相关推荐

    RTOS与Linux到底什么区别

    很多做嵌入式开发的小伙伴都存在这样的疑惑:RTOS与Linux到底什么区别
    的头像 发表于 10-29 09:53 311次阅读

    RV 和ARM什么区别

    district RV 和ARM什么区别
    发表于 06-26 12:41

    基于FPGA设计的BRAM内部结构

    再看末级触发器对BRAM时序性能的影响,下图依次展示了7系列FPGA、UltraScale+和Versal芯片在未使用和使用末级触发器两种情形下时钟到输出的延迟。
    发表于 04-25 10:42 375次阅读
    基于FPGA设计的<b class='flag-5'>BRAM</b>内部结构

    线路板的层和阶什么区别

    线路板的层和阶什么区别
    的头像 发表于 02-23 17:27 659次阅读

    SPI和QSPI什么区别

    SPI和QSPI什么区别
    发表于 02-06 06:12

    大电容和小电容什么区别

    大电容和小电容什么区别  大电容和小电容之间的区别主要包括以下几个方面:容量、尺寸、用途、性能、稳定性以及价格等。 首先,容量是大电容和小电容最直观的区别之一。大电容通常具有较大的容
    的头像 发表于 02-04 09:32 8718次阅读

    电源中的EMI和EMC什么区别

    电源中的EMI和EMC什么区别? 电源中的EMI和EMC是与电磁干扰相关的两个概念,尽管它们一些相似之处,但它们不同的含义和应用领域。在本篇文章中,我们将详细探讨电源中的EMI和
    的头像 发表于 01-19 11:47 1544次阅读

    hdi板与普通pcb什么区别

    hdi板与普通pcb什么区别
    的头像 发表于 12-28 10:26 2700次阅读

    pcb软板和硬板什么区别

    pcb软板和硬板什么区别
    的头像 发表于 12-19 10:01 1814次阅读

    光耦与光继电器区别

    光耦与光继电器区别
    的头像 发表于 12-13 13:59 825次阅读
    光耦与光继电器<b class='flag-5'>有</b>何<b class='flag-5'>区别</b>?

    bv和bvr电线什么区别?bv和bvr电线的区别

    bv和bvr电线什么区别?bv和bvr电线的区别? BV和BVR电线是两种常见的电线类型,它们之间在一些方面有一些明显的区别。下面将详细介绍BV和BVR电线的
    的头像 发表于 12-09 15:06 3502次阅读

    settimeout和setinterval哪些区别

    settimeout和setinterval哪些区别? setTimeout和setInterval都是JavaScript中的定时器函数,用于在指定的时间间隔后执行一段代码。尽管它们在某些方面
    的头像 发表于 12-09 14:32 1754次阅读

    FPGA实现基于Vivado的BRAM IP核的使用

    Xilinx公司的FPGA中有着很多的有用且对整个工程很有益处的IP核,比如数学类的IP核,数字信号处理使用的IP核,以及存储类的IP核,本篇文章主要介绍BRAM IP核的使用。 BRAM是FPGA
    的头像 发表于 12-05 15:05 1546次阅读

    RDMA和TCP/IP什么区别

    在分布式存储网络中,我们使用的协议RoCE、Infiniband(IB)和TCP/IP。其中RoCE和IB属于RDMA (RemoteDirect Memory Access)技术,他和传统的TCP/IP什么区别呢,接下来我
    的头像 发表于 11-30 09:19 1661次阅读
    RDMA和TCP/IP<b class='flag-5'>有</b>什么<b class='flag-5'>区别</b>

    异构集成 (HI) 与系统级芯片 (SoC) 区别

    异构集成 (HI) 与系统级芯片 (SoC) 区别
    的头像 发表于 11-29 15:39 1980次阅读
    异构集成 (HI) 与系统级芯片 (SoC) <b class='flag-5'>有</b>何<b class='flag-5'>区别</b>?