了解FPGA中的BRAM

目录

BRAM介绍

BRAM的定义

BRAM的组成

BRAM的应用 

ROM

RAM 

总结 


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

BRAM介绍

BRAM的定义

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

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

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

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

BRAM的组成

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

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。

RAMB18E1

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

FPGA的BRAM数量

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

图片

FPGA的BRAM性能

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

图片

BRAM的应用 

ROM

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

单端口ROM(Single-port ROM)

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

图片

 双端口ROM(Dual-port ROM)

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

图片

RAM 

单端口RAM(Single-port RAM)

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

图片

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

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

图片

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

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

图片

FIFO 

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

图片

总结 

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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值