微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于DDR3漏数据的问题

关于DDR3漏数据的问题

时间:10-02 整理:3721RD 点击:
大家好,DDR3中有个app_rdy信号,它在空闲的时候会时不时拉低,当拉低的时候就无法写入或读出数据。那么,我在连续写入或者读出一段数据的时候,应该如何保证数据全部写入或读出呢?大家有遇到这个问题吗?求大神指点

不会是他刷新信号把,如果你用的IP的话,我觉得IP里面应该会做个机制解决这种冲突

不过还是看文档把,我没用过你的IP,也许没解决这种冲突你就需要外部自己加

MIG IP里也有指令、数据的调度,当数据超过缓存深度时,肯定要向用户接口给出中断提示,比如说app_rdy拉低。在ddr用户接口空闲时,由于ddr3颗粒会有刷新等机制,此时也是需要暂停用户接口访问的。
xilinx没法保证你说的“连续全部数据的写入或读出”,因为core里的数据缓存fifo的深度是有限的,core本身也需要产生刷新指令等,所以没法保证app_rdy一直为高。需要你的用户逻辑去做仲裁和调度,去适配MIG core的时序。

一个好的控制器设计,是在明确你系统的传输带宽、延时等性能要求的前提下,自己设计好仲裁和调度控制,然后去适配ddr3控制器的用户接口时序。



   是IP刷新这个信号,所以不知道该怎么解决。实测连续读写确实会在app_rdy拉低的时候漏数据


明白了。谢谢。

4,5楼讲得很清楚了,这个IP处理这种冲突的方式是加了缓存,这个办法处理的能力有限,你连续读写IP处理不了,所以给个rdy信号通知你一下,让你控制下读写速度。根据这个信号你外部写个处理逻辑。

自己加个RAM去做缓冲

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top