上期话题
大家遇到过DDR调试的问题吗,后面都是怎么解决的?
(戳标题,即可查看上期文章回顾)
从fail到pass,DDR调试到底经历了什么?
谢谢各位大咖的回答,就像有一位粉丝的评论一样,能够回答的都是大神,因此都是经历了遇到问题到解决问题的过程,可谓经历丰富啊!
有不少网友现在可能会问,解决方法那么简单啊,为什么硬件人员调试了近一个月的时间呢?我这里帮客户解释一下哈,首先一般我们遇到内存有误码,出问题,它的表象都是数据读写有问题,因此大家就立马会走错方向了,认为是不是数据信号DQ和DQS出了问题啊,然后就会把调试的方向转到这边来了。例如就会针对数据DQ和DQS的参数配置调来调去,然后都不会有什么改善。另外有测试条件的客户还对用示波器去调每一根数据信号,看看是否有问题,这样的话就已经可以浪费很多时间了。还有一些客户可能对FPGA的配置软件都不熟悉,又要去问FAE如何去改变驱动配置,因此一来一回时间又浪费了。一个月的时间貌似很多,但是对于不少客户来说,其实是过的很快的哈。然后即使定位了是地址信号的问题,然后是需要通过精确的仿真来去对众多的驱动配置进行扫描尝试,发现仿真结果有好转之后才会有勇气去向客户推荐参数配置哈,因此,一个月的时间又要留一些在这里面了……
另外回答部分网友的问题哈,例如fast和mid的差异在哪?主要差异是驱动芯片能调节驱动信号的上升沿,这是从源头上抑制反射的最好方法。另外有网友问不用fast模式仿真能保证高温工作吗?这个地方的fast并不是工艺的corner哈。
最后再说一句哈,通过这几年的DDR的研究发现,目前DDR整体的设计难度是越来越大了,允许设计和加工的误差裕量越来越小了,所以如何在源头上把PCB设计的裕量做得更大,就是设计工程师要去精益求精的点了哈。
(以下内容选自部分网友答题)
这个问题,有经验的工程师按说在调试时通过尝试应该就能解决的啊。不过,高速先生这一波操作还是很不错的,遇到问题,先仿真确认,查找原因,再仿真验证,对解决问题帮助杠杠的!仿真重要啊
@ 杆
评分:2分
没遇到过,多依靠仿真分析,大多数问题都能解决
@ 两处闲愁
评分:2分
作为画图员,在产品设计中没有参与波形分析和功能调试,甭说示波器、网络仪了,这个话题没有发言权,还请朋友们不吝赐教。在产品周期中协助硬件员(以下称硬汉)查找网络路径以确认开短路,添加测试点以利于探针接触而不打架。当有问题没有解决时这焦急那发愁,当图像稳定参数固化时你喜悦我轻狂。分工不同,贡献的智慧和精力不同,就像硬汉在产品设计阶段操心多,压力大。团队成员分工协作,共同创造出成功的产品。谁都重要,不可缺少。
@ 山水江南
评分:3分
严重吐槽freescale的ddr模块,里面的数据组延时补偿是固定的,出货前要写死的,不能随环境调整的。表扬TI的ddr模块,他家的数据组延时补偿可以根据每一个产品不同的工作环境,不同的温度进行自动检验,重写,自适应
@ 欧阳
评分:3分
解题思路: 仿真确认与实测是否匹配->仿真找到优化方向->实测确认优化效果
@ 小恐龙
评分:2分
有听说过同事的项目DDR 1600M不行,降频到800M就能正常工作了。
@ 涌
评分:2分
记得第一次接触DDR3时搭配的是iMX6,做信号完整性测试发现clock的高低电平占空比不是50%,有大约3%的偏差,刚好超出了Micron的要求,后来就是通过调整驱动力解决的
@ 晴天Be
评分:3分
遇到过ddr3的一个参数设置不对,导致单板会起不来,刷新时间的一个参数
@ 石头
评分:3分
这个问题刚好之前遇到过,不过我们是1拖8,先做了前仿真,确定了驱动、端接、拓扑的设计要求,调试很顺利。不过遇到过一次等长引起的问题:改版后DDR的速率上不去,最高才600M左右。原因挺让人郁闷,第一版DDR设计加入了主控的Pin delay,改版的时候项目组给DDR扩了容,增加了A15地址线,但是PCB设计没有重新导入带A15的PinDelay文件,结果就是A15比时钟长了近800mil,所以建立时间不满足要求,最终调试的时候通过修改主控的寄存器,人为的把时钟信号延迟一段时间,保证A15的建立时间,从而提高DDR的运行速率。
@ 绝对零度
评分:3分
对飞思卡尔i.max某型号芯片带的LPDDR3数据信号进行组内互换。结果到最后才发现,这个芯片有特殊要求,八位数数据信号的最低位,不可以换(d0,d8…)。所以大家做设计,不要拿所谓的通用规则来说事,具体每个芯片有自己特殊的要求,不然会被坑惨…
@ Ben
评分:3分
如何看2020积分排行榜:
在主页输入关键词:2020积分
高速先生精选