Xilinx BRAM IP介绍
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 按照类型可以分为RAM 和 ROM,ROM 预置了数据,在使用中只能被读取,不能写入,ROM 实现的物理结构与 RAM 类似,相当于一个只能读取的 ”RAM”。一般用于存放一些固定的参数,在使用过程中只能读取,不需要也不能修改。
按照端口的数量有单端口以及双端口之分,双端口来自于同时对 RAM 进行读写的需求。一边将等待处理的数据从端口 A 输入 RAM,另一端口 B 读取数据进行处理,可以实现高效的数据流式处理,尤其适用于图像的行缓存处理。双端口 RAM 相较于 FIFO ,有可以映射地址以及多次重复利用数据的优势。在新的数据写入之前,可以多次从一指定位置读取旧数据。
此外,双端口 RAM 又可以分为 Simple/Ture 双端口
三种读写模式
BRAM有三种读写模式,分别是Write First,Read First和No 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支持两种形式的总线:Native和AXI
输出寄存
另外重要的一点是配置 RAM 的输出寄存器。共有两个选项 Primitive / Core Output Register。这两个选项可以各自选择,都是为输出端添加一级寄存器,不同在于前者在 Port 内部添加寄存器,而后者是在 Port 外部添加寄存器。每一级的寄存器都会增加一个周期的读延迟,从初始的 1 周期读延迟,最高可以增加到 3 周期读延迟。
添加寄存器虽然会增加延迟周期数,因为输出信号经过了打拍,但其优点是可以改善时序。
Xilinx BRAM IP介绍相关推荐
- Xilinx PCIE IP核接口介绍
1.1 Xilinx PCIE IP核接口介绍 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Xilinx PCIE IP核接口介绍: 5)结束语. 1.1.2 本节引 ...
- Xilinx平台Aurora IP介绍(汇总篇)
Aurora IP核使用超简单的,COME ON! 目录 一.Xilinx平台Aurora IP介绍(一)Aurora基础知识 二.Xilinx平台Aurora IP介绍(二)时钟与复位 三.Xili ...
- PCIe基础知识及Xilinx相关IP核介绍
补发以下以前学习PCIe总结的知识. PCIe学习笔记系列: PCIe基础知识及Xilinx相关IP核介绍 概念了解:简单学习PCIe的数据链路与拓扑结构,另外看看有什么相关的IP核. [PG054] ...
- Xilinx平台Aurora IP介绍(一)Aurora基础知识
Aurora IP使用起来超简单的,Come On! 汇总篇: Xilinx平台Aurora IP介绍(汇总篇) 目录 一.Aurora协议 二.Xilinx平台Aurora IP介绍 三.Auro ...
- Xilinx平台Aurora IP介绍(三)Aurora配置及接口介绍
来咯来咯,搬砖全靠它! 汇总篇: Xilinx平台Aurora IP介绍(汇总篇) 目录 一.Aurora配置 1.1第一页配置 1.2第二页配置 1.3第三页配置 二.Framing接口 2.1 接 ...
- FIR设置过采样率 matlab,Xilinx FIR IP的介绍与仿真
作者: OpenSLee 来源: 1 xilinx fir ip简介 1)符合AXI4-Stream的接口 2)高性能有限脉冲响应(FIR),多相抽取器,多相内插器,半带,半带抽取器和半带内插器,希尔 ...
- Xilinx FPGA全局介绍
Xilinx FPGA全局介绍 现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产:许多设计人员并不熟悉 FPGA,亦不清楚如何将这类器件整合到设 ...
- (51)Xilinx Divider IP核配置(十一)(第11天)
(51)Xilinx Divider IP核配置(十一)(第11天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)Xilinx Divider IP核配置(十一 ...
- (50)Xilinx Multiplier IP核配置(十一)(第10天)
(50)Xilinx Multiplier IP核配置(十一)(第10天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)Xilinx Multiplier IP ...
最新文章
- C 语言编程 — 作用域和存储器
- C语言 矩阵的几种乘法
- 堆(Heap)大根堆、小根堆
- 它们是什么以及为什么我们不需要它们
- std::tie简单介绍
- vue 字典配置_vue遍历数据及字典的方法
- ASP.NET Web API 异常日志记录
- cheat engine 将选中目标的函数_EXCEL函数与公式剖析:IF
- zabbix 3.0.7 for Centos 7.2 安装
- 算法学习:最小生成树
- 功能设计:如何实现一个扫码上传附件的功能
- 应用概率统计(陈魁)第十一章(回归分析)部分课后答案
- 2022-2028中国金属制品市场现状研究分析与发展前景预测报告
- 【Unity】Unity下载器下载不下IOS/Android等模块的解决办法
- 5G/NR中RRC的三种状态(idle, active, inactive)
- logger日志系统
- 软件需求——需求规格说明书模版(三)
- byte的取值范围为啥是[-128~127](超详细教学,建议收藏)
- 集美大学计算机工程学院邮寄地址,教学大纲-集美大学计算机工程学院.doc
- 一个大学教授的精彩演讲~~
热门文章
- fiddler抓包新闻APP
- CPA二十四--中期财务报告内容(转载)
- 推荐几个非常实用的测试工具
- PowerShell中的正则表达式
- 前端性能优化方法与实战14 高级进阶:瞒天过海的骨架屏及 SSR 优化手段
- storm drpc实例
- 6.18! 当当网推出购书优惠活动满400减230!有效优惠码更新
- oracle 数字转人民币大写函数
- 什么是算数运算c语言,第二种是C语言的算术运算.ppt
- 开发避坑3——大鸟 pk Bug(使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request ......))