wye11083 发表于 2020-6-8 10:42:47

离奇的DDR3时序问题——疑似国产DDR3不完全兼容JEDEC规范

本帖最后由 wye11083 于 2020-6-8 11:05 编辑

公司的一个项目,使用了XC7K325T,然后就是各种折腾的起始——

(1)用Xilinx的MIS生成的core在两根DIMM条子上全都不能运行!{:sweat:}

(2)折腾了2天,最后放弃,改用一个老的验证过N年的DDR3软核,跑DLL Off模式,100MHz,200Mbps,带宽才1.6GB/s,但是有能用的先顶着也好啊。

(3)在样机上各种试验,折腾,把软核的BL=8的bug修好了,于是我以为可以正常用了,愉快的上板了。没想到,这竟然是噩梦的开始。

(4)板上各种图像数据错位,DDR数据出错,读异常,写异常,字节对齐异常{:funk:} {:funk:} 没办法了我改了个最小工程专门测DDR条子。

(5)又经过了一天一夜+半天的试验,竟然发现热插拔有奇效!默认DLL Off下JEDEC建议CL=6,WL=6,于是做了DRAM的初始化。但是这一批条子始终给我黑屏——我各种试验,有一次无意中发现,直接拔掉DDR,再重新插回去,有大概率会恢复正常!找PCB图,找到了RESET,然后拿万用表对地短路1秒,放手,图像竟然OK了!除了一个BL的错位!于是改RESET,开始先给RESET再给CKE,还是给我黑屏{:funk:} 我怒了,先给CKE,再给RESET怼1秒,然后OK了{:sweat:} 先这样凑合着用得了。以后有时间再慢慢折腾。这个固件放到样机的板子上数据完全错乱无法使用了{:sweat:} 复位状态下CL=6,WL=5。

经分析,该批次DDR3-8GB条子应该是国产芯片,和JEDEC不完全兼容,至少DLL Off表现是不一致的。DLL On没办法跑,目前没有Read / Write Leveling的IP,而Xilinx官方IP跑不起来,只能自己重新写。等以后有时间了再想办法把DDR怼到1600Mbps。


再次确认,该内存条对RESET时序要求远超过JEDEC规范的时序。JEDEC规范要求RESET>=200us,这个时间不足以让该内存条恢复正常运行。

目前使用1秒的RESET配合原本的配置,该国产条子又可以正常工作了{:sweat:} 争取上午把硬件稳定性彻底搞好。

nokia007 发表于 2020-6-8 11:01:29

我记得pc和嵌入式板上的DDR3的复位一般是用1.5V的powergood推的,也许是上电与复位时序的问题?

wye11083 发表于 2020-6-8 11:06:28

nokia007 发表于 2020-6-8 11:01
我记得pc和嵌入式板上的DDR3的复位一般是用1.5V的powergood推的,也许是上电与复位时序的问题? ...

是的。RESET按标准来这条子不吃。加长RESET它才吃。

prow 发表于 2020-6-8 11:27:13

我用过紫光的DDR3颗粒,跟国外的用法没区别。国产的ddr3、ddr4也遵循JEDEC啊,要不然谁买来用啊。。。

ordman 发表于 2020-6-8 11:34:36

先找大厂的条子把ip调试好,最后再去适配国产

dreampet 发表于 2020-6-8 11:34:56

是否别的问题导致?比如上电斜率不满足?如果是标准接口的DDR3 条子,在普通电脑上可以正常点亮吗?

wye11083 发表于 2020-6-8 12:38:46

dreampet 发表于 2020-6-8 11:34
是否别的问题导致?比如上电斜率不满足?如果是标准接口的DDR3 条子,在普通电脑上可以正常点亮吗? ...

就是复位问题。只要复位时间足够长,其余工作就正常。看起来是片内复位状态机有bug。

点亮没测,一般问题不大(pc复位时间起码有半秒,足够了),但是mcu或者fpga复位不够就杯具了,200us复位时间在dll off模式下起不来。dll on下目前我这没有条件测。

dreampet 发表于 2020-6-8 12:50:27

wye11083 发表于 2020-6-8 12:38
就是复位问题。只要复位时间足够长,其余工作就正常。看起来是片内复位状态机有bug。

点亮没测,一般问 ...

我这边用镁光的片子,RESET#拉低超过200us就没有问题(CKE 延时500us),但因为系统还有其他外设一起上电,除非客户对开机时间有要求,设计上习惯性的给MCU和CPU外加一片POR芯片(复位延时200ms),

bone 发表于 2020-6-8 13:22:01

dll off可以而dll on不行,加长reset时间就解决了,lz别忘了dll输出也有个稳定的时间的,是否你自己的信号输出不符合规范?

wye11083 发表于 2020-6-8 21:39:46

dreampet 发表于 2020-6-8 12:50
我这边用镁光的片子,RESET#拉低超过200us就没有问题(CKE 延时500us),但因为系统还有其他外设一起上电 ...

我之前用的所有ddr3都压根不用给reset的。。我一直dll off跑ddr3-200有低功耗要求,所有term全关。

wye11083 发表于 2020-6-8 21:40:11

bone 发表于 2020-6-8 13:22
dll off可以而dll on不行,加长reset时间就解决了,lz别忘了dll输出也有个稳定的时间的,是否你自己的信号 ...

你仔细看我的描述。我不用dll on模式。

earlybird_bj 发表于 2020-6-14 10:53:14

前两天用XC7K325T 刚测试完紫光的DDR3单芯片,跑起来都没有问题,高低温都测试通过。

wye11083 发表于 2020-6-14 11:06:33

earlybird_bj 发表于 2020-6-14 10:53
前两天用XC7K325T 刚测试完紫光的DDR3单芯片,跑起来都没有问题,高低温都测试通过。 ...

ck你们是怎么布的?有没有特意拉长?我这边各种条子hp和hr用mis全都死在leveling上,从667到1600全都一个样,一个byte都过不去。我们addr,ck和dq基本等长,是靠so-dimm条子的delay。dimm条子从ck进会从内部绕半圈才给颗粒。

z123 发表于 2020-6-22 11:18:14

那么叼的大神,年薪要100W吧?

wye11083 发表于 2020-6-22 11:24:25

z123 发表于 2020-6-22 11:18
那么叼的大神,年薪要100W吧?

没,小公司,刚30w出头。大公司要没命了的。

等你拿100w了可以来汇报一下状况,比如每周996还是9106还是9107,规章制度有多少百条,之类的

z123 发表于 2020-6-22 11:30:50

wye11083 发表于 2020-6-22 11:24
没,小公司,刚30w出头。大公司要没命了的。

等你拿100w了可以来汇报一下状况,比如每周996还是9106还是 ...

打工我感觉肯定拿不了100W了,呵呵,要技术不如大神精通,要勤奋不如99x的勤奋。。。。{:shy:}

wgxold 发表于 2020-6-22 13:00:53

复位信号的驱动能力是多少,有看过波形么?上冲下冲什么情况?

wye11083 发表于 2020-6-22 16:11:29

wgxold 发表于 2020-6-22 13:00
复位信号的驱动能力是多少,有看过波形么?上冲下冲什么情况?

标准lvcmos。过冲可忽略。

boy1986 发表于 2020-6-22 21:42:11

wye11083 发表于 2020-6-22 11:24
没,小公司,刚30w出头。大公司要没命了的。

等你拿100w了可以来汇报一下状况,比如每周996还是9106还是 ...

楼主坐标哪里?

mrf245 发表于 2020-8-12 10:55:07

这个时序问题,片子DS里没有说明吗?
如果DS描述和实际情况不一致那就是国产片子辣鸡了。

deadline2012 发表于 2021-1-21 08:57:47

楼主有DDR5的JEDEC标准吗?找了很久没找到

wye11083 发表于 2021-1-21 10:16:34

deadline2012 发表于 2021-1-21 08:57
楼主有DDR5的JEDEC标准吗?找了很久没找到

到JEDEC官网下载,注册个帐号就可以了。

不过DDR5规范可能是收费的。比如所有LPDDR规范都是收费的。
页: [1]
查看完整版本: 离奇的DDR3时序问题——疑似国产DDR3不完全兼容JEDEC规范