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

    浏览量

    10896
收藏 人收藏

    评论

    相关推荐

    基于FPGA设计的BRAM内部结构

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

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

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

    如何让级联URAM获得最佳时序性能

    在上一篇文章里《如何使用UltraScale+芯片中UltraRam资源》,我们向大家介绍了在RTL设计中使用URAM的方法。其中,我们推荐大家使用Xilinx参数化宏(XPM)的方法来调用URAM
    的头像 发表于 09-26 11:34 1448次阅读
    如何让级联<b class='flag-5'>URAM</b>获得最佳时序性能

    FPGA的BRAM资源使用优化策略

    FPGA的BRAM和LUT等资源都是有限的,在FPGA开发过程中,可能经常遇到BRAM或者LUT资源不够用的情况。
    的头像 发表于 08-30 16:12 1455次阅读
    FPGA的<b class='flag-5'>BRAM</b>资源使用优化策略

    Vivado中BRAM IP的配置方式和使用技巧

    FPGA开发中使用频率非常高的两个IP就是FIFO和BRAM,上一篇文章中已经详细介绍了Vivado FIFO IP,今天我们来聊一聊BRAM IP。
    的头像 发表于 08-29 16:41 3897次阅读
    Vivado中<b class='flag-5'>BRAM</b> IP的配置方式和使用技巧

    46 第3讲--HLS BRAM接口综合 - 第9节 #硬声创作季

    BRAMHLS
    充八万
    发布于 :2023年08月19日 13:47:42

    46 第3讲--HLS BRAM接口综合 - 第8节

    BRAMHLS
    充八万
    发布于 :2023年08月19日 13:46:52

    46 第3讲--HLS BRAM接口综合 - 第7节

    BRAMHLS
    充八万
    发布于 :2023年08月19日 13:46:01

    46 第3讲--HLS BRAM接口综合 - 第6节 #硬声创作季

    BRAMHLS
    充八万
    发布于 :2023年08月19日 13:45:11

    46 第3讲--HLS BRAM接口综合 - 第5节 #硬声创作季

    BRAMHLS
    充八万
    发布于 :2023年08月19日 13:44:21

    46 第3讲--HLS BRAM接口综合 - 第4节

    BRAMHLS
    充八万
    发布于 :2023年08月19日 13:43:31

    46 第3讲--HLS BRAM接口综合 - 第3节 #硬声创作季

    BRAMHLS
    充八万
    发布于 :2023年08月19日 13:42:41

    46 第3讲--HLS BRAM接口综合 - 第1节 #硬声创作季

    BRAMHLS
    充八万
    发布于 :2023年08月19日 13:41:01

    FPGA设计中BRAM的知识科普

    FPGA设计中,BRAM是一项非常关键的内置存储资源,FPGA开发需要熟练使用BRAM,今天再复习一下BRAM的知识,包括BRAM的定义、组成、应用等等。
    发表于 08-15 15:44 3043次阅读
    FPGA设计中<b class='flag-5'>BRAM</b>的知识科普

    请问TD软件是否支持PLL、bram等的位置约束?

    TD软件是否支持PLL、bram等的位置约束
    发表于 08-11 11:03