写入(存储器方法)
- 更新时间2025-01-28
- 阅读时长3分钟
写入FPGA终端上可用的存储器。
使用实现该方法的 内存方法节点 。
输入/输出
| 选项 | 说明 |
|---|---|
| 存储器输入 | 指定FPGA内存。您可以连线内存控制内存常量“VI定义内存配置” 节点,或“内存输入”的其他“ 内存方法”节点。 |
| 地址 | 指定数据在FPGA终端内存中的位置。有效地址范围取决于 请求的元素数量内存属性 对话框。例如,如指定请求的元素数量为65536,有效地址范围为0至65535。 如地址超出了地址范围,存储器方法节点将返回错误并不会写入输入。添加错误接线端 ,以便LabVIEW在 地址 超出地址范围时通知用户。 |
| 数据 | 从FPGA终端内存写入的数据。仅可通过FPGA VI直接写入数据。不能通过主控VI直接写入数据至FPGA终端内存。必须使用输入控件、显示控件或DMA FIFO访问主控VI的数据。如未初始化存储器项,数据为未定义类型。 |
| 字节启用 | 当该节点写入数据至内存时,指定数据的哪个字节已启用。最低有效位对应于数据的最低有效字节,第二个最低有效位对应于数据的第二个最低有效字节,以此类推。默认情况下,字节启用为全部由1组成的整数,足够大以启用用于终端的全部字节。 配置存储器为DRAM,然后右键单击节点,从下拉菜单中选择显示字节启用以显示该接线端。请参阅您的关于终端的DRAM宽度(以字节为单位)的详细信息,请参考终端 硬件文档 。 |
| 输入有效 | 指定下一个数据点是否已就绪。连续上面节点的输出有效输出端值该输入,使上面节点的数据传输至该节点。 要显示该握手 终端,将内存配置为DRAM。 |
| 存储器输出 | 连线了存储器输入时返回存储器输入。否则,存储器输入返回在存储器方法节点中指定的内存。 |
| 输入就绪 | 如该节点可接受新的输入数据,将返回TRUE。使用反馈节点连线该输出至上方数据流节点的准备就绪输出输入。
注: 如该接线端在给定周期内返回FALSE, LabVIEW将丢弃其他节点在下一个周期内发送至该节点的数据。即使在后续周期中,输入有效接线端为TRUE,LabVIEW也会舍弃数据。
如要显示该接线端,配置内存为DRAM。
|
将此方法与使用块存储器或LUT实现存储器时的 读取 方法。将此方法与请求数据 和使用DRAM实现内存时, 检索数据 方法。
注: 相应的“请求数据”和“检索数据”方法节点可放置在不同的时钟域中。
单周期定时循环的注意事项
- 如使用该节点单周期定时循环,必须设置 写入 选项接口 页为 仅在多个请求者时仲裁 或 从不仲裁,该节点不能在FPGA VI的其他任何位置与同一内存项一起使用。
注: 仿真包含多个处理器的存储器项的FPGA应用时,选择从不仲裁选项可能导致错误行为。例如,应用程序包含多个写入方,每个写入方可在仿真时更新指定的存储器地址。此外,如应用程序包含多个读取方,每个读取方可在仿真时读取指定的存储器地址。
- 存储器方法节点需要一个完整的时钟周期执行。
- 可使用终端范围或VI定义的仅当使用块存储器实现 存储器项 时,才能存储数据并从不同的时钟域访问数据。在上述操作中,每个存储器项仅使用一个写入方节点和一个读取方节点。
注意 在多个时钟域内使用通过存储器块实现的存储器项时,可以同步读取或写入同一个地址。但此操作可能导致读取到不正确的数据。
- 如果内存是DRAM,必须在单周期定时循环中使用该方法。