当前位置:   article > 正文

LPDDR4---retraining_lpddr4 dqs oscillator

lpddr4 dqs oscillator

前言-为什么需要retraining?

LPDDR4在设计的时候,为了降低功耗,在颗粒内部没有放置DLL用于稳住CK与DQS之间的相位对齐,DQS和CK之间的相位会随着温度变化而发生偏移。所以对于读来讲,CK与DQS之间的延迟参数tDQSCK是会随着温度而发生变化,从而影响PHY端准确地将DQ数据采样。

在写方面为了降低功耗,DQ与DQS之间在颗粒内部没有做延迟对齐。所以DQ与DQS之间的颗粒内部的延迟tDQS2DQ也会随着温度发生偏移。

所以为了防止偏移导致读写时序不满足,所以需要及时做retraining进行补偿。

两个参数tDQS2DQ和tDQSCK

tDQSCK

tDQSCK是指颗粒内部读命令发出到RDQS能从颗粒发出的时间。主要会受颗粒内部延迟偏移的影响。

其有一个变化范围:可以发现延迟会在几个ns,在高速频率下会超过一个周期,从而影响read gate采样的位置。

tDQS2DQ

针对写,颗粒内部DQ与DQS的延迟是不一致的,颗粒内部DQS与DQ之间的延迟是tDQS2DQ

Read Gate retraining

tDQSCK主要影响read gate的位置。所以需要重新做一遍简单的read gate training。

Write DQ to DQS retraining

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。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/600873
推荐阅读
相关标签
  

闽ICP备14008679号