取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
xumoxiao
Explorer
Explorer
722 次查看
注册日期: ‎12-12-2018

PL DDR 读写数据错误

这个问题困扰了我很久,8路写ddr,1路读ddr 链接到axi interconnector 上

Block designBlock design

器件为7Z035, MIG 为64bit 800M,已经做了异步时钟处理。

写为64bit * 200M * 8ch, 读为256bit * 200M * 1ch,Mig 为 512bit * 200M,interconnector slave 通道添加了 packet fifo。

上电后正常运行,几个小时(可能20min~20hour)ddr读写出现问题

通过ila 发现 write ddr 数据没有问题,但是ila查看读取同一地址 数据不同(已经检查过,期间没有其他数据写入)。

错误数据:1f1e1d1c 5b5a5958 17161514 53525150 0f0e0d0c 4b4a4948 07060504 43424140
正确数据:1f1e1d1c 1b1a1918 17161514 13121110 0f0e0d0c 0b0a0908 07060504 03020100

可以发现数据低32bit 的每个byte的第7bit翻转。

此时复位mig 的 sresetn(axi接口复位信号),数据依然错误(每次读取都有错误),一旦复位了sys_rst,读数据恢复正常。lian

之前与xilinx 的工作人员联系过,使用Example design做了一下window margin check,还不理解数据的含义.

window margin checkwindow margin check

想问问大家,又没有什么思路,能确定问题。通过example design 正常运行1天也没啥毛病。附件为mig 的xci文件。

 

0 项奖励
回复
5 回复数
shaweikang1984
Explorer
Explorer
698 次查看
注册日期: ‎02-18-2009

在出错,sysrst复位正常后,之后还会再发生错误么?

Theory is grey,
and only the tree of life forever!
xumoxiao
Explorer
Explorer
691 次查看
注册日期: ‎12-12-2018

是的,运行一段时间后依然会出现。
偶尔还会出现一种情况,MIg AXI 端口卡死(awready,aready 始终为0),既不能读也不能写,但是我的slave 端都是packet模式,理论上是不可能出现 卡死状态的。
0 项奖励
回复
kren
Moderator
Moderator
672 次查看
注册日期: ‎08-21-2007

你跑的window check是按照ug586来做的“automated margin check”吗?每个DDR单独跑example design的时候有没有数据错误?问题发生在多块板上吗?DDR频率跑多少?

 

-----------------------------------------------------Please don't forget to give kudos or accept as solution if information provided is helpful.---------------------------------------------------------------------
0 项奖励
回复
xumoxiao
Explorer
Explorer
664 次查看
注册日期: ‎12-12-2018

1.win check 是按照ug586 来做的,按照LetterTu 的指点做的,
2.每个ddr单独跑?是啥意思,只用了一个 mig 64bit*800M(1600M)。
3.单独跑 example design 没见到error。
4.问题发生在 相同型号的板子上
0 项奖励
回复
xumoxiao
Explorer
Explorer
593 次查看
注册日期: ‎12-12-2018

目前任然没有找到原因,在做降频测试。
0 项奖励
回复