[FPGA IP系列] 2分钟了解FPGA中的BRAM

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

FPGA设计中,BRAM是一项非常关键的内置存储资源,FPGA开发需要熟练使用BRAM,今天再复习一下BRAM的知识,包括BRAM的定义、组成、应用等等。

一、BRAM介绍

1、BRAM的定义

RAM是Random Access Memory,也就是随机访问数据存储器,RAM的内部是一个一个小内存单元(可以看成是一个小格子)组成。

每个内存单元都对应一个地址编号。

当我们需要读写数据时,就访问对应的内存单元地址,很快地把数据写入或者读取出来。

BRAM是Block RAM,也就是FPGA中专用RAM资源,固定分布在FPGA内部的特定位置。

而分布式RAM(Distributed RAM或DRAM)是由FPGA的LUT逻辑资源组合而成。

2、BRAM的组成

BRAM在FPGA实际对应的资源是RAMB36E1和RAMB18E1。

(1)RAMB36E1

RAMB36E1是一种具有36KB容量的Block RAM,由两个独立的18KB BRAM(Block RAM,RAMB18E1)组成。

一个36K的Block Memory可以配置成4种情形:

  • 全部用于配置成36KB的BRAM;
  • 全部用于配置成36KB的FIFO;
  • 配置成18KB的BRAM和18KB的BRAM;
  • 配置成18KB的BRAM和18KB的FIFO。

这里需要注意的是,不能配置成两个18KB的FIFO,因为一个Block Memory中间有一个FIFO Logic结构,它用于生成FIFO控制信号,包括读/写地址等,由于它只有1个且不能共享,所以最多只能配置一个FIFO。

(2)RAMB18E1

RAMB18E1是一种具有18KB容量的Block RAM,是Xilinx FPGA重要的内置Block RAM配置模块,提供高速的同步存储访问能力。

(3)FPGA的BRAM数量

BRAM资源是FPGA中非常重要的资源,不同型号FPGA芯片的BRAM数量不一样,以xilinx kintex 7系列为例。

[FPGA IP系列] 2分钟了解FPGA中的BRAM,FPGA IP,fpga开发,fpga,Altera,xilinx,vivado

(4)FPGA的BRAM性能

不同FPGA型号,是否嵌入输出寄存器,决定了BRAM运行的时钟频率上限。

[FPGA IP系列] 2分钟了解FPGA中的BRAM,FPGA IP,fpga开发,fpga,Altera,xilinx,vivado

二、BRAM的应用

1、ROM

BRAM可以实现ROM功能,只支持读不支持写,只需在定义IP和调用IP时,初始化ROM值即可

(1)单端口ROM(Single-port ROM)

只有一个端口可读,应用于程序代码存储、初始化ROM

[FPGA IP系列] 2分钟了解FPGA中的BRAM,FPGA IP,fpga开发,fpga,Altera,xilinx,vivado

(2)双端口ROM(Dual-port ROM)

有两个独立的读数据端口,常用于在两个处理器/系统之间共享的单 ROM。

[FPGA IP系列] 2分钟了解FPGA中的BRAM,FPGA IP,fpga开发,fpga,Altera,xilinx,vivado

2、RAM

(1)单端口RAM(Single-port RAM)

只有一个端口,这个端口支持读数据或者写数据。

[FPGA IP系列] 2分钟了解FPGA中的BRAM,FPGA IP,fpga开发,fpga,Altera,xilinx,vivado

(2)简单双端口ROM(Simple Dual-port RAM)

有两个端口A和B,A端口支持写,B端口支持读。

[FPGA IP系列] 2分钟了解FPGA中的BRAM,FPGA IP,fpga开发,fpga,Altera,xilinx,vivado

(3)真双端口ROM(Simple Dual-port RAM)

有两个端口A和B,每个端口都支持读和写。

[FPGA IP系列] 2分钟了解FPGA中的BRAM,FPGA IP,fpga开发,fpga,Altera,xilinx,vivado

3、FIFO

FIFO可以通过BRAM来实现先进先出功能,有两种类型:同步fifo和异步fifo。

[FPGA IP系列] 2分钟了解FPGA中的BRAM,FPGA IP,fpga开发,fpga,Altera,xilinx,vivado

三、总结

BRAM是FPGA内部专用的存储资源,性能优异但数量有限,每一个BRAM是36Kb大小,也可以配置成2个18Kb的BRAM,BRAM可以用来实现多种不同位宽和深度的RAM/ROM/FIFO,在FPGA中应用非常广泛和灵活。

使用BRAM可以实现FPGA芯片内部的高速缓存、流水线等功能。合理利用这一硬件资源可以显著优化FPGA设计


本文将不断定期更新中,码字不易,点⭐️赞,收⭐️藏一下,不走丢哦

本文由FPGA入门到精通原创,有任何问题,都可以在评论区和我交流哦

您的支持是我持续创作的最大动力!如果本文对您有帮助,请给一个鼓励,谢谢。文章来源地址https://www.toymoban.com/news/detail-653145.html

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

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

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

相关文章

  • FPGA | BRAM和DRAM

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

    2024年02月12日
    浏览(36)
  • 零基础学FPGA(七):Altera FPGA管脚简述

        同上一篇文章术语:Xilinx及Altera FPGA 配置名词区分,本篇文章也是短文,简述Altera FPGA芯片的管脚,供FPGA同行快速查阅信息。如果需要细入研究,可以网上检索看看,文章很多,写的也很详细。也可以参考官方配置文档(其实网上很多文章都是翻译官方文档,要想深入

    2023年04月09日
    浏览(27)
  • altera FPGA 程序固化命令

    1)sof文件转为flash文件的命令: qsys_sdram.sof为sof文件名称,hwimage.flash为生成的flash名称,针对不同的工程只需要更改这两个地方就可以 2)elf文件转为flash文件 qsys_sdram_rw.elf为elf文件的名称,swimage.flash为要输出的flash文件名字,第一个步骤生成的文件hwimage.flash作为参数输入,

    2024年02月07日
    浏览(35)
  • FPGA — BRAM学习笔记—读写操作

    使用软件: Vivado 开发板: EGO1采用Xilinx Artix-7系列XC7A35T-1CSG324C FPGA BRAM 即块 RAM, 是 FPGA 的固有硬件资源。 另一种形式的 RAM 是分布RAM(Distribution RAM), 是由 FPGA 逻辑资源查找表 LUT 拼起来的 。这两种 RAM 最本质的区别是 块RAM 默认输入有寄存器 ,所以它在读、写使能信号后的 下个

    2024年02月01日
    浏览(60)
  • Altera&Xilinx公司FPGA简介

    Intel/Altera 系列FPGA简介 - 知乎 (zhihu.com) Altera FPGA 提供了多种可配置嵌入式 SRAM、高速收发器、高速 I/O、逻辑模块以及布线。其内置知识产权 (IP) 结合优秀的软件工具,缩短了 FPGA 开发时间,降低了功耗和成本。 Altera FPGA 非常适合从大批量应用到目前最新产品的各类应用。每一

    2024年02月05日
    浏览(32)
  • FPGA设计中BRAM(Block RAMs)资源的使用(综合为BRAM)

      RAM分为BRAM(Block RAMs)和DRAM(Distributed RAM),即块RAM与分布式RAM,这两个差别在于BRAM是FPGA上固有的一些存储资源(针对不同型号的FPGA,其存储资源大小会有差别),而DRAM则是由LUT组合而成的。所以在数据量较大的情况下,一般使用BRAM,尽量避免使用DRAM,导致LUT资源的

    2024年01月17日
    浏览(28)
  • MCU软核 1. Altera FPGA上运行8051

    - Quartus 13 - EP4CE6E22开发板 - keil c51  - ag10kl144h(本工程兼容AGM) 下载8051源码:https://www.oreganosystems.at/products/ip-cores/8051-ip-core File -- New Project Wizard 位置:E:WorkspacesQuartusEP4CE6_Coremc8051_hello 名字:mc8051_hello next - next 选择芯片 EP4CE6E22C6 Simulation     None     None mc8051顶层文件样

    2024年02月08日
    浏览(28)
  • 【 FPGA 封装设计资源 】 Xilinx vs Altera

    PACKAGE 一般在doc nav搜索,同样也可以在官网;检索“*pkg-pinout.” 比如vu9p: ug575-ultrascale-pkg-pinout.pdf 原理库文件 Package Files Portal 举例: 先选封装; 再选器件 二维交叉检索后,在右击另存即可。《xczu48drffvg1517pkg.txt》。 PACKAGE 蓝厂、Altrea package 下载地址 库文件 Mentor Gra

    2024年01月15日
    浏览(30)
  • Quartus II Altera FPGA设置默认打开工程文件路径

    刚用Quartus II没多久,每次打开工程,Quartus II都是打开Quartus II默认打开工程文件路径,不是自已存放工程的文件路径,网上搜设置方法,教程很少,现在把我找到的方法分享给大家。 1:打开软件,在软件菜单栏选择“Tools”,如下图所示: 2:展开“Tools”菜单栏,选择“optio

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

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

    2024年02月15日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包