FPGA存储器项使用DRAM的方法技术解析

fpga中的存储块dram
某些fpga终端,包含板载的、可以动态随机访问的存储块(dram),这些存储块可以在fpga vi中直接访问,速率非常高。
dram可以用来缓存大批量的数据,而且速度可以非常快。针对一些特殊应用,比如:瞬时带宽非常高,而且有要保存原始数据的时候,就可以用dram做一个大的fifo缓冲。
dram的大小每块板卡可能不同,一般在官网中对应板卡的说明中都会标明dram的大小(如果有dram的话)。比如,pxie-7966r就有512m的dram空间。
pxie-7966r拥有512m的板载内存(ddr2)
不同的板卡板载内存大小不同,同时ddr系列也可能不同,7976r拥有高达2gb的板载缓存,且为ddr3,容量更大且速度更快。
pxie-7976r拥有2gb的板载内存(ddr3)
本文将以pxie-7966r为例,手把手教大家使用dram bank。
fpga存储器项使用dram
步骤一:将fpga终端添加到项目中
配置之前,先将fpga终端添加到项目中,在fpga终端的属性对话框中选择“mode” labview fpga memories,如下图。
dram配置mode
步骤二:配置为labview fpga memory
在labview fpga中memory的主要特点是可以用来按地址存储索引数据,与fifo的先进先出而言,各有自己的适用范围。
把dram配置成memory之后,可以在fpga终端上面,“右键”创建memory,并在弹出的对话框中的“implementation”中选择“dram”;在dram bank中可以选择是bank0还是bank1,对于7966r而言,每个bank有256m。
对参数进行配置
步骤三:设置memory参数
1)设置需要的点数
系统会依据设置的值计算出一个实际分配的元素数目,同时可以关注剩余的dram大小有多少。
2)设置data type
可以设置memory的数据类型。数据类型可以选择的各种常用的数据类型,同时也可以设置为“customer control”,特别要注意的是“数据的最大位宽”。
data type参数设置
dram中每个访问单元是独立的,设置的元素个数相同,数据类型不同的时候,配置的memory在dram bank中占用的空间是相同的。所以,为了能够最大限度的使用dram中的空间,可以在这里设置customer control,然后选择一个含有两个u64元素的簇(2个u64刚好占用128位带宽),如下图所示。
配置dram bank的数据类型
步骤四:访问dram
memory中的数据访问是依据地址访问的,具体读写方式可以参考帮助文档。由于memory中访问是依据地址来操作的,因此,在程序中可以将一段地址以“环形”方式反复读写,这个也是在缓存数据时候经常用到的。比如:在fpga中实现“参考触发”方式的数据采集,就需要缓存一部分数据,并以环形fifo的方式进行读写,保证缓冲区中的数据是最新的一段。
使用dram进行编程,以下为示例,提供参考:分别是环形方式写数据到fifo中和环形方式读取fifo中的数据。
读取dram数据
向dram写入数据
或者也可以在范例查找器中直接搜索,参考范例如下
dram memory使用范例
参考链接
在niflexrio中使用dram
访问dram(fpga模块)
高效使用dram和ni compactrio

解读3D与浸润式显示技术的应用及发展趋势
混合动力汽车整车架构分析以及技术
TDK迎来创立88周年:回顾属于TDK的“四大创新”
医疗中压力测量不准,传感器全程跟踪
【激光对射】:激光越线检测系统实施方案
FPGA存储器项使用DRAM的方法技术解析
智能水质监测系统功能介绍
银牛微电子宣布完成超5亿元A轮融资
外媒:英特尔CPU供应短缺可能持续到今年年底
大联大智能飞行器设计大赛决赛已开始招募现场观众
好期待:石墨烯超级电容充电只需4分钟
卓岚信息科技普通多主机型Modbus网关ZLAN5142概述
酒店机器人沪上酒店上岗 给宾客带来不同于传统酒店的创新体验
传统PCB化金板外层流程
喜讯 | 芯来科技入选第五批国家专精特新“小巨人”企业
数据驱动的算法驱动自动化地解决自动驾驶的长尾问题
浅析数据中心能耗现状与节能方向的研究
路透社报道:美方正式开始逐步重新开始向华为销售新产品的许可证
浅谈基于多能源的大型智慧园区安科瑞综合能耗监测系统研究与应用
不同雨量计之间的区别