#1楼主:求助:DDR2内存条操作
文章发表于:2008-09-21 12:00
在一个工控项目中选用了Kingmax的1GB DDR667内存条,使用FPGA作为接口控制器。碰到了一个这样的问题,向内存条中写入900MB数据,经过一段时间再读出来,数据会有不规则的错误,错误不是很多,并且没有规律;如果写完数据立马读出来,则没有错误。
从现象来看,我觉得最有可能出错的地方是刷新,可是查了好久都没查处原因。我的刷新是7.8us进行一次,而且是先precharge all bank然后再refresh再active bank,不知道有没有问题,谁能提供一些有用的建议么??
对那些时序参数进行了仔细排查,trfc这个参数很让我在意:trfc(refresh-to-active time delay or refresh-to-refresh time delay),其值为105ns-70us,我想问一下,trfc在表示refresh-to-active time delay这个时序要求时,是否有上限值70us??我个人觉得refresh后,DDR2处于precharged状态(也就是IDLE),什么时候激活都可以,没必要限定一个时间段,我理解的是否正确??
#3
文章发表于:2008-09-29 15:43
8个bank的ddrii颗粒对active有要求的,四次active的时间不能大于tfaw。
另外建议好好做一下验证工作。。。。能发现不少问题的。
#5
文章发表于:2008-10-24 18:41
感谢楼上各位的热心帮助,目前问题已经解决了。
由于使用的是内存条,在进行刷新操作的时候没能够把两个RANK都打开,导致有一个RANK没能及时进行刷新