FPGA | BRAM和DRAM

这篇具有很好参考价值的文章主要介绍了FPGA | BRAM和DRAM。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

BRAM(Block RAM)

Block ram 由一定数量固定大小的存储块构成的,使用 BLOCK RAM 资源不占用额外的逻辑资源,并且速度快。 但是使用的时候消耗的 BLOCK RAM 资源是其块大小的整数倍。如 Xilinx公司的结构中每个 BRAM 有 36Kbit 的容量,既可以作为一个 36Kbit 的存储器使用,也可以拆分为两个独立的 18Kbit 存储器使用。反过来相邻两个 BRAM 可以结合起来实现 72Kbit 存储器,而且不消耗额外的逻辑资源。

Block RAM 都有两套访问存储器所需的地址总线、数据总线及控制信号灯信号,因此其既可以作为单端口存储器,也可以作为双端口存储器。需要注意的时访问 BRAM 需要和时钟同步,异步访问不支持的。

DRAM(查找表存储器——分布式 RAM)

只有成为 SliceM 的逻辑块里的查找表才可以用做分布式 RAM。利用查找表为电路实现存储器,既可以实现芯片内部存储,又能提高资源利用率。

分布式RAM 的特点是可以实现 BRAM 不能实现的异步访问。不过使用分布式 RAM 实现大规模的存储器会占用大量的 LUT,可用来实现逻辑的查找表就会减少。 因此建议仅在需要小规模存储器时,使用这种分布式 RAM。

区别

1.BRAM是使用FPGA中的整块双口RAM资源

2.DRAM是FPGA中的查找表(LUT)拼凑出来的,要占用逻辑资源。

3.物理上看,BRAM 是单纯的存储资源,但是要一块一块的用,不像DRAM 想要多少bit都可以。

4.DRAM可以是纯组合逻辑,即给出地址马上出数据,BRAM是有时钟的。文章来源地址https://www.toymoban.com/news/detail-654571.html

到了这里,关于FPGA | BRAM和DRAM的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [FPGA IP系列] BRAM IP参数配置与使用示例

    FPGA开发中使用频率非常高的两个IP就是FIFO和BRAM,上一篇文章中已经详细介绍了Vivado FIFO IP,今天我们来聊一聊BRAM IP。 本文将详细介绍Vivado中BRAM IP的配置方式和使用技巧。 1、打开BRAM IP核 在Vivado的IP Catalog中找到Block Memory Generator IP核,双击打开参数配置界面。 2、配置BRAM I

    2024年02月04日
    浏览(48)
  • 【FPGA】AXI4-Lite总线读写BRAM

    AXI协议基础知识 。这篇博客比较详细地介绍了AXI总线,并且罗列了所有的通道和端口,写代码的时候可以方便地进行查表。 AXI总线,AXI_BRAM读写仿真测试 。 这篇文章为代码的书写提供大致的思路,比如状态机和时序的控制问题,可以参考。 双向握手机制的实质是: 数据接

    2024年02月15日
    浏览(75)
  • FPGA原理与结构(8)——块RAM(Block RAM,BRAM)

    系列文章目录:FPGA原理与结构(0)——目录与传送门         大家对于RAM应该并不陌生,RAM就是一张可读可写的存储表,它经常被拿来与ROM进行对比,相比之下,ROM只可读。而在FPGA中,RAM一般可以分成两种,一种是使用LUT资源组成的分布式RAM(DRAM),另一种就是块RAM(B

    2024年02月08日
    浏览(41)
  • 如何创建 Xilinx BRAM 或 ROM 初始化文件(.COE)并实现初始化数据在 FPGA 上的载入

    如何创建 Xilinx BRAM 或 ROM 初始化文件(.COE)并实现初始化数据在 FPGA 上的载入 在 FPGA 开发中,初始化数据是一个非常重要的内容,它决定了电路从上电开始的初始状态,对于保证正确性和可靠性有着至关重要的作用。其中,BRAM(Block RAM)和 ROM(Read-Only Memory)是两种常见的

    2024年02月09日
    浏览(63)
  • FPGA的PS还有什么PL是什么意思

    在FPGA中 PS: 处理系统 (Processing System) :就是与FPGA无关的ARM的SOC的部分。 PL: 可编程逻辑 (Progarmmable Logic) : 就是FPGA部分。之所以叫PL,而不是叫FPGA,用英文简写可能便于理解区分,或者显得比较专业吧(/滑稽脸) 对于ZYNQ,,就是两大功能块,PS 部分和 PL部分, ARM的SOC部分,

    2024年02月11日
    浏览(41)
  • ZYNQ学习笔记(四):PL与PS数据交互——基于BRAM IP 核的(PS端读写+PL端读)控制实验

    说起PS、PL数据交互,常见的有IO方式:MIO EMIO GPIO,还有利用BRAM或FIFO等,在上一篇文章ZYNQ学习笔记(三):PL与PS数据交互—— UART串口+AXI GPIO控制DDS IP核输出实验咱们学会了如何利用AXI GPIO IP核来实现PS(写)与PL(读)的数据交互,那么这篇文章来学习如何使用BRAM~ 本次实验

    2024年02月05日
    浏览(57)
  • vivado中bram简单使用

    bram设置为简单双口 建议取消勾选这个,这样读出来的数据是差一个时钟周期的 vivado中的bram,写的时候,写使能,写地址,写数据一起赋值 读的时候,读使能,读地址可以一起赋值,数据为下一时钟周期才会来 逻辑为在地址1写入了数据2。 读的逻辑,地址1的数据2在一个时

    2024年02月13日
    浏览(39)
  • VIM 编辑器: Bram Moolenaar

        VIM 用了很长时间, 个人的 VIM 配置文件差不多10年没有更新了。以前写程序的时候, 编辑都用这个。 linux kernel, boost规模的代码都不在话下。现在虽然代码写的少了,依然是我打开文件的首选。     现在用手机了,配个蓝牙键盘就可以随时随地撸代码。     纪念下

    2024年02月13日
    浏览(35)
  • PS和PL使用BRAM进行数据交互

    BRAM(Block RAM)是 PL 部分的存储器阵列,PS 和 PL 通过对 BRAM 进行读写操作,来实现数据的交互。在 PL 中,通过输出时钟、地址、读写控制等信号来对 BRAM 进行读写操作。而在 PS 中,处理器并不需要直接驱动 BRAM 的端口,而是通过 AXI BRAM 控制器来对 BRAM 进行读写操作。AXI BR

    2024年02月02日
    浏览(39)
  • Vivado综合生成BRAM及与LUTRAM的区别

    使用vivado中的BRAM可以通过例化 Block Memory Generator 这一ip并进行相关的设定。 另外可以通过直接编写符合BRAM规范的代码,借助综合工具直接将其综合为BRAM。这时需要通过 (*ram_style=\\\"block\\\"*) 对 array 进行修饰。 下面给出一种看似可以综合为BRAM的示例。 上述代码虽然用 (*ram_style

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包