目录
从DDR3开始,为了应对越来越高的速率和时序挑战,引入了Fly-By拓扑结构和Write Leveling技术,旨在解决DQS-DQS#和CK-CK#的边沿对齐问题,这极大地提升了DDR通信中的高速率和信号完整性问题。
1.概述
Write Leveling是从DDR3开始引入的概念,旨在解决DQS-DQS#/CK-CK#的边沿对齐问题,提升信号完整性。
DDR2及之前的内存设计,大多采用T型拓扑结构。该布线方式同步切换噪声(Simultaneous Switching Noise)较大,从DDR3开始引入了新的拓扑结构:Fly-By。即PCB上有多个SDRAM颗粒时,它们的时钟、命令、地址、控制等信号采用Fly-By方式进行布线;而DM、DQ、DQS等数据信号依然采用点对点的布线方式。如下图所示。
Fly-By的拓扑结构中,CK-CK#信号到达菊花链起始端会早些,到达末端会晚些。对于分布在链上的各个SDRAM颗粒来说,不仅存在time skew,而且不同SDRAM颗粒端的DQS-DQS#和CK-CK#之间的延时是不同的。为了解决这一难题,DDR3引入了Write Leveling技术。
所谓Write Leveling,即MC(Memory Controller)通过调节发出DQS-DQS#的时间,来让各个内存颗粒的DQS-DQS#和CK-CK#对齐,起到补偿skew的作用。
2.实现原理
Write Leveling调节过程是:
MC(Memory Controller)不断地调整DQS-DQS#信号相对于CK-CK#的延迟,颗粒端在每个DQS-DQS#上升沿采样CK-CK#信号。若采样值为低,则将所有DQ[n]保持为低来告知MC,tDQSS相位关系还未满足;若在某个DQS-DQS#上升沿采样到CK-CK#电平发生跳变(如0-->1),则认为此时tDQSS已满足。则将所有DQ[n]保持为高(异步反馈)来告知MC,tDQSS相位关系已满足,表征写均衡成功,同时DDR控制器会锁住这个相位差。
这样,每个SDRAM端看到的DQS-DQS#和CK-CK#都是边沿对齐的,初步的时序图如下:
Write Leveling过程中要求:
(1)只有使用了Fly-By的拓扑结构时需使能Write Leveling操作
(2)DQS-DQS#由MC驱动,在SDRAM端被端接;DQ[n]由SDRAM驱动,在MC端被端接
(3)每一组byte lane(8 bits)作为一个整体,独立反馈本组的Write Leveling结果(如在x16配置中,DQ[0:7]反馈LDQS-LDQS#的结果;DQ[8:15]反馈UDQS-UDQS#的结果)
(4)MC只能对DQS做延迟,不能做超前处理。故CK-CK#走线长度要大于DQS,否则将不能满足tDQSS
详细的诗序图如下:
名词释义:
tDQSS:DQS-DQS# rising edge to CK-CK# rising edge,spec要求为+/-0.25 tCK,tCK为CK时钟周期
tDQSH:DQS高电平脉宽
tDQSL:DQS低电平脉宽
3.总结
从DDR3开始,为了应对越来越高的速率和时序挑战,引入了Fly-By拓扑结构和Write Leveling技术,旨在解决DQS-DQS#和CK-CK#的边沿对齐问题,这极大地提升了DDR通信中的高速率和信号完整性问题。
===========================全文完毕=====================================
欢迎留言讨论,批评指正。码字不易,求关注点赞收藏,一键三连,给予我继续创作的动力,感谢!