BRAM IP核介绍

  • BRAM简介
  • BRAM类型
  • 三种读写模式
    • 写优先
    • 读优先
    • No change
  • 总线支持
  • 输出寄存

BRAM简介

BRAM,即Block RAM,是FPGA中一种重要的存储资源,另一种常见的存储资源是DRAM(Distributed RAM),Distributed RAM 经过综合工具综合,通过多级 LUT 查找表资源级联实现,因此会消耗较多的逻辑资源。
而是BRAM是FPGA 厂商在逻辑资源之外,给 FPGA 加入的专用 RAM 块资源。相比分布式 RAM,BRAM 块内部以及与逻辑资源之间经过特意的布局布线,使 BRAM 具有很高的运行速度,确定的低延迟周期。
BRAM的容量为36Kb,且可当作两个独立的18Kb BRAM使用。对于一个36Kb的BRAM,其最能达到的最大位宽为72bit。BRAM 的初始值是可以设定的,无论 BRAM 是单端口、简单双端口还是真双端口都可以通过 COE 文件设定其初始值

BRAM类型

总体上 Memory 按照类型可以分为RAMROM,ROM 预置了数据,在使用中只能被读取,不能写入,ROM 实现的物理结构与 RAM 类似,相当于一个只能读取的 ”RAM”。一般用于存放一些固定的参数,在使用过程中只能读取,不需要也不能修改。
按照端口的数量有单端口以及双端口之分,双端口来自于同时对 RAM 进行读写的需求。一边将等待处理的数据从端口 A 输入 RAM,另一端口 B 读取数据进行处理,可以实现高效的数据流式处理,尤其适用于图像的行缓存处理。双端口 RAM 相较于 FIFO ,有可以映射地址以及多次重复利用数据的优势。在新的数据写入之前,可以多次从一指定位置读取旧数据。
此外,双端口 RAM 又可以分为 Simple/Ture 双端口

三种读写模式

BRAM有三种读写模式,分别是Write First,Read FirstNo Change

写优先


上图为Write_First的时序图,在红线以前,WE=0 ,即端口做的是读操作。在CLK上升沿后,地址aa里的数据打到DO(MEM(aa))。在红线后,WE=1,即端口做的是写操作。在CLK上升沿后,DI(1111)的数据存入到地址bb里,与此同时输入的数据DI直接输出到DO,原先存在bb里的数据还没出来就被冲掉了。

读优先

上图为Read_First的时序图,在红线以前,WE=0 ,即端口做的是读操作。在CLK上升沿后,地址aa里的数据打到DO。在红线后,WE=1,即端口做的是写操作。在CLK上升沿后,DI的数据存入到地址bb里,与此同时原先存放在地址bb的数据输出到DO。该模式以消耗更多 BRAM 资源的前提下,保证每次读操作读取到的都是先前的数据。输入数据会首先被缓存,与此同时在输出总线上输出先前值。

No change


上图是NO_CHANGE的时序图,在红线以前,WE=0 ,即端口做的是读操作。在CLK上升沿后,地址aa里的数据打到DO。在红线后,WE=1,即端口做的是写操作。在CLK上升沿后,DI的数据存入到地址bb里,与此同时输出DO的数据保持不变(依旧是地址aa里的数据)。

总线支持

Xilinx的BRAM支持两种形式的总线:NativeAXI

输出寄存

另外重要的一点是配置 RAM 的输出寄存器。共有两个选项 Primitive / Core Output Register。这两个选项可以各自选择,都是为输出端添加一级寄存器,不同在于前者在 Port 内部添加寄存器,而后者是在 Port 外部添加寄存器。每一级的寄存器都会增加一个周期的读延迟,从初始的 1 周期读延迟,最高可以增加到 3 周期读延迟。
添加寄存器虽然会增加延迟周期数,因为输出信号经过了打拍,但其优点是可以改善时序

Xilinx BRAM IP介绍相关推荐

  1. Xilinx PCIE IP核接口介绍

    1.1 Xilinx PCIE IP核接口介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Xilinx PCIE IP核接口介绍: 5)结束语. 1.1.2 本节引 ...

  2. Xilinx平台Aurora IP介绍(汇总篇)

    Aurora IP核使用超简单的,COME ON! 目录 一.Xilinx平台Aurora IP介绍(一)Aurora基础知识 二.Xilinx平台Aurora IP介绍(二)时钟与复位 三.Xili ...

  3. PCIe基础知识及Xilinx相关IP核介绍

    补发以下以前学习PCIe总结的知识. PCIe学习笔记系列: PCIe基础知识及Xilinx相关IP核介绍 概念了解:简单学习PCIe的数据链路与拓扑结构,另外看看有什么相关的IP核. [PG054] ...

  4. Xilinx平台Aurora IP介绍(一)Aurora基础知识

    Aurora IP使用起来超简单的,Come On! 汇总篇: Xilinx平台Aurora IP介绍(汇总篇) 目录 一.Aurora协议 二.Xilinx平台Aurora  IP介绍 三.Auro ...

  5. Xilinx平台Aurora IP介绍(三)Aurora配置及接口介绍

    来咯来咯,搬砖全靠它! 汇总篇: Xilinx平台Aurora IP介绍(汇总篇) 目录 一.Aurora配置 1.1第一页配置 1.2第二页配置 1.3第三页配置 二.Framing接口 2.1 接 ...

  6. FIR设置过采样率 matlab,Xilinx FIR IP的介绍与仿真

    作者: OpenSLee 来源: 1 xilinx fir ip简介 1)符合AXI4-Stream的接口 2)高性能有限脉冲响应(FIR),多相抽取器,多相内插器,半带,半带抽取器和半带内插器,希尔 ...

  7. Xilinx FPGA全局介绍

    Xilinx FPGA全局介绍 现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产:许多设计人员并不熟悉 FPGA,亦不清楚如何将这类器件整合到设 ...

  8. (51)Xilinx Divider IP核配置(十一)(第11天)

    (51)Xilinx Divider IP核配置(十一)(第11天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)Xilinx Divider IP核配置(十一 ...

  9. (50)Xilinx Multiplier IP核配置(十一)(第10天)

    (50)Xilinx Multiplier IP核配置(十一)(第10天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)Xilinx Multiplier IP ...

最新文章

  1. C 语言编程 — 作用域和存储器
  2. C语言 矩阵的几种乘法
  3. 堆(Heap)大根堆、小根堆
  4. 它们是什么以及为什么我们不需要它们
  5. std::tie简单介绍
  6. vue 字典配置_vue遍历数据及字典的方法
  7. ASP.NET Web API 异常日志记录
  8. cheat engine 将选中目标的函数_EXCEL函数与公式剖析:IF
  9. zabbix 3.0.7 for Centos 7.2 安装
  10. 算法学习:最小生成树
  11. 功能设计:如何实现一个扫码上传附件的功能
  12. 应用概率统计(陈魁)第十一章(回归分析)部分课后答案
  13. 2022-2028中国金属制品市场现状研究分析与发展前景预测报告
  14. 【Unity】Unity下载器下载不下IOS/Android等模块的解决办法
  15. 5G/NR中RRC的三种状态(idle, active, inactive)
  16. logger日志系统
  17. 软件需求——需求规格说明书模版(三)
  18. byte的取值范围为啥是[-128~127](超详细教学,建议收藏)
  19. 集美大学计算机工程学院邮寄地址,教学大纲-集美大学计算机工程学院.doc
  20. 一个大学教授的精彩演讲~~

热门文章

  1. fiddler抓包新闻APP
  2. CPA二十四--中期财务报告内容(转载)
  3. 推荐几个非常实用的测试工具
  4. PowerShell中的正则表达式
  5. 前端性能优化方法与实战14 高级进阶:瞒天过海的骨架屏及 SSR 优化手段
  6. storm drpc实例
  7. 6.18! 当当网推出购书优惠活动满400减230!有效优惠码更新
  8. oracle 数字转人民币大写函数
  9. 什么是算数运算c语言,第二种是C语言的算术运算.ppt
  10. 开发避坑3——大鸟 pk Bug(使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request ......))