赞
踩
LPDDR4在设计的时候,为了降低功耗,在颗粒内部没有放置DLL用于稳住CK与DQS之间的相位对齐,DQS和CK之间的相位会随着温度变化而发生偏移。所以对于读来讲,CK与DQS之间的延迟参数tDQSCK是会随着温度而发生变化,从而影响PHY端准确地将DQ数据采样。
在写方面为了降低功耗,DQ与DQS之间在颗粒内部没有做延迟对齐。所以DQ与DQS之间的颗粒内部的延迟tDQS2DQ也会随着温度发生偏移。
所以为了防止偏移导致读写时序不满足,所以需要及时做retraining进行补偿。
tDQSCK是指颗粒内部读命令发出到RDQS能从颗粒发出的时间。主要会受颗粒内部延迟偏移的影响。
其有一个变化范围:可以发现延迟会在几个ns,在高速频率下会超过一个周期,从而影响read gate采样的位置。
针对写,颗粒内部DQ与DQS的延迟是不一致的,颗粒内部DQS与DQ之间的延迟是tDQS2DQ
tDQSCK主要影响read gate的位置。所以需要重新做一遍简单的read gate training。
LPDDR4颗粒内部提供了一个DQS回环振荡器,用于测量tDQS2DQ。
(1)通过发送MPC命令START DQS OSCILLATOR(OP[5:0] =101011b),
(2)对于运行多长时间,颗粒提供了两种方案:
方案1:经过一段时间,通过MPC命令STOP DQS OSCILLATOR停止回环振荡,
方案2:通过设置MR23,设置运行多久,然后不需要发送MPC停止,自动停止
(3)最终通过MRR,读取MR18和MR19,测试结果通过MR18,MR19读出。
方案1:
方案2:
时序要求:
这里介绍一下retraining的仿真波形。
(1)要进行retraining之前,需要让颗粒进入self-refresh,让mem arry的数据保持住。
(2)MRW配置MR23,设置DQS 振荡器计数时间。
(3)发送MPC START DQS OSCILLATOR,打开振荡器。
(4)配置MR32,MR40,MR15,MR20,配置做read gating training的数据pattern。
(5)这里没有采用read gating training的方式,而是采用读MR0,调节read gating 的位置。
(6)然后进入Read DQ Calibration Training,再次确认tDQSCK是否补偿完成。读retraining完成。
(7)然后此时DQS振荡器已经停止,满足时序要求后,读取MR18和MR19的值,将DQS2DQ的值补偿到PHY内部。
(8)退出self-refresh。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。