登录注册
ChipDebug入站需知
ChipDebug是一个芯片开发调试分享网站 欢迎您的到来!如果您没有帐户请先点击下方按钮进行注册注册
注册即送积分! 获取更多积分的最佳方式是发帖、评论或者分享资料!本站绝大多数资料只是为了防爬虫象征性的加了积分。
本站进行了数据库迁移和系统升级,如果您发现已注册却密码不对,请先使用下方的找回密码,谢谢!
DDR3的写入均衡(Write Leveling)和读取均衡(Read Leveling)是一种允许存储器控制器调整内部DQS延时的机制,可以补偿电路板上的负载不平衡,以便正确进行写入和读取操作。这个机制仅基于字节或DQS补偿(也就是每个DQS及其相关的DQ组,一般是8bit一组,具体取决于DDR3芯片),不会基于每比特进行补偿。
DDR3写入均衡(Write Leveling)
随着DDR3内存信号允许按fly-by的方式驱动的内存芯片或DIMM的每个bank,这样可以更容易地在电路板上进行布线和端接。下面,您可以看到CMD / ADDR / CLK驱动所有的存储器芯片。然而,DQ / DQM / DQS则只驱动“每个”它负责的存储器芯片。这意味着CMD / ADDR / CLK比DQ / DQM / DQS负载更重,但实际延迟是由于电路板布线延迟构成,因此时钟信号会晚于DQS达目标存储器。请参阅下面的粗略时序图。
为了补偿写周期中的这种负载不匹配,存储器控制器向DDR3存储器输出特殊命令以使其进入特殊的写平衡状态。有关MR1寄存器定义和写入校平位,请参见下文。
MR1寄存器定义基本上,存储器控制器通过将DQS反复以很小的增量进行延迟并对CLK进行采样,直到检测到CLK的上升沿。在该协议期间,每组DQ(8位)以“0”输出,直到DQS检测到上升沿,此时DQ将以“1”输出。存储器控制器将在DQ总线上检测到这些“1”,然后知道正确的DQS补偿,以在写入路径上对齐DQS和CLK。一旦调整了所有DQS,将为每个DQS存储这些补偿值以供将来使用。然后,存储器控制器发送另一个MRS命令以退出Write Leveling模式。
DDR3读取均衡(Read Leveling)
由于DDR3写入均衡管理写入数据上的DQS / DQ,因此DDR3读取均衡(Read Leveling)管理读取数据上的DQS / DQ。DDR3读取均衡是为了补偿读取路径上的不平衡负载。首先,存储器控制器通过写入MR3寄存器MPR位将DDR3存储器件置于特殊模式。有关MR3寄存器的详细信息,请参见下面的MR3定义。这使DDR3存储器件进入读取均衡(Read Leveling)模式,该模式使用常规存储器读取命令以8位的突发长度输出“01010101”比特流。想象一下这是一个读取训练序列。下图显示了MPR绕过存储器阵列以将已知数据流输出到DQ总线上。由于存储器控制器知道数据流始终在DQ总线上输出,它将调整数据路读取径上的内部DQS延迟,以使DQS为DQ创建最佳的正确采样窗口。为每个DQS创建这些内部补偿后,将存储这些值以供将来使用。并且MR3恢复到正常的DDR3操作模式。
memory training过程如下:
学习了,写得好棒!谢谢大神。