在NI FlexRIO中使用DRAM

许多高性能仪器使用动态随机存取存储器(dram)作为本地存储器,dram是一种高密度、高带宽的存储器。选择具有dram的ni flexrio fpga模块, 您便可自由地将此类本地存储纳入您的应用。典型的dram采用从为基于记录的采集/生成提供的简单本地存储到用于通道仿真应用的长延迟链。本文将探讨ni flexrio中dram的实现,学习如何在ni labview fpga模块使用强大的dram抽象和接口。
1. 使用dram
本地labview fpga接口通过内存连接dram。该接口简化了与模块上物理dram通信、dram资源的竞争请求仲裁以及内存分段(以最大化使用灵活性)的底层复杂性。因此,该接口可帮助用户轻松地读写dram。
dram内存项可在全局项目视图中以与块内存或查询表相同的方式创建。如要创建dram内存项,请右击您希望为其创建新内存项的目标,然后选择“新建»内存”。接着选择“dram”。每个内存项对应一个dram库(bank),如果没有其他内存项分配给选定的dram库(bank),该内存项可以覆盖整个库(bank)。
通过内存项,您可以将完整的dram空间分割成多个小内存块,这样每个小内存块可以通过labview fpga代码的不同部分进行独立访问。 labview创建仲裁代码,使所有对应接口可均等地访问dram。下图是labview生成的逻辑,提供了特定dram库的访问。
2. 写入方法
下图中的写入方法非常直接明了。写入时需要指定一个地址以便输入数据。当input valid的输入为真时,写入命令便会进入接口。ready for input端口指示接口是否准备就绪,如果端口的值为假,则数据将被忽略。为了避免信息损失,只有在确保ready for input的值为真时才能将数据添加到写入方法中。
3. 读取方法
内存读取接口采用两种方法:请求数据和检索数据。第一种方法—请求数据首先接收目标数据的地址,然后通过内存控制器请求该地址上的数据。但请记住dram接受仲裁和非确定性事件(如dram刷新)请求后会存在较长的延迟。因此,数据并不是立即可用的。相反,所有请求根据接收的顺序排队和进行处理。经过一定时间后,检索数据方法显示接下来要请求的数据,并确定output valid的输出值以指示该数据是否可用。只有当ready for output端口的值设置为真时,数据才会显示,这向内存接口传递的信息是:将使用该数据的逻辑已经准备好接收数据。
4. 其他资源
了解在ni flexrio中高效使用dram的三个步骤,优化ni flexrio的dram访问
了解更多关于ni flexrio
了解ni射频和无线测试产品与解决方案
了解ni自动化测试平台资源

四个有趣的真实漏洞挖掘案例
串行FRAM存储器CY15B104Q-LHXI的功能特点
奔驰母公司戴姆勒集团计划2020年推出无人驾驶汽车
手机颜色大战,华为荣耀9知更鸟蓝、OPPOR11的巴萨限定版、三星s8粉色版谁更能打动你
铵泰克已成功发布了多款自主可控网络安全平台
在NI FlexRIO中使用DRAM
iOS11正式版9月20日正式推送:iOS11正式版如何下载升级?有哪些新功能值得期待
30W快充应用同步整流ic U711X
国产存储芯片新格局:2020年真正实现大规模量产!
HUAWEIWATCH2蓝牙版评测 不逊于专业运动腕表
微雪电子EP4C FPGA NIOSII开发板简介
费浦安防二维码识别及产品解决方案
关于单片机C语言编程的常见问题解答
变频器开关电源维修七大步骤
Wind River赋予车载IVI娱乐系统软体Yocto架构优势
数字电视实现银联支付的时代已临近
一文读懂缓存淘汰算法:LFU 算法
温度冲击试验箱试验流程
2020年上百万个5G就业机会来了!vivo助力大学生从象牙塔迈向战场
MEMS开关:四大突破技术实现传统开关的革命