我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 2276|回复: 6

[技术文章] DDR3基本概念 - Write leveling(写入均衡)

[复制链接]
  • TA的每日心情
    开心
    2024-7-10 20:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2374

    主题

    827

    回帖

    2万

    积分

    三级逆天

    积分
    20878

    终身成就奖社区居民忠实会员宣传大使奖优秀斑竹奖

    发表于 2020-2-28 15:50:44 | 显示全部楼层 |阅读模式
    为了提供更好的信号完整性,DDR3的memory controller可以使用write leveling来调整DQS差分对和CK差分对的相对位置,利用DQS差分对路径上的可调整延时来达成该目的。

       对于简单的运用,比如on-board DDR memory,并且仅有一颗DDR内存的情况下可以考虑不需要做write leveling。

       T型布线,如下图。该布线方式同步切换噪声(Simultaneous Switching Noise) 较大。
    20190307142829746.JPG


    所谓的fly-by 布线,指地址、命令和时钟的布线依次经过每一颗DDR memory芯片(即每一颗芯片共用了这些信号,在Lattice DDR SDRAM controller IP配置时,则ClockWidth要求设置为1)。而dq和dqs作了点到点的连接。VTT表示这些信号都接了ODT端接电阻。fly-by 结构相对于T布线,有助于降低同步切换噪声(Simultaneous Switching Noise)。
    20190307143021823.JPG



    20190307143046687.JPG


    Write Leveling的功能是调整DRAM颗粒端DQS信号和CLK信号边沿对齐;调节过程描述:DDR控制器不停地调整DQS信号相对于CLK的延迟,DRAM芯片在每个DQS上升沿采样CLK管脚上的时钟信号,如果采样值一直低,则会将所有的DQ[n]保持为低电平来告知DDR控制器,tDQSS(DQS, DQS# rising edge to CK, CK# rising edge,在标准中要求为+/-0.25 tCK。tCK为CLK时钟周期)相位关系还未满足,如果发现在某个DQS上升沿,采样到此时的CLK电平发现了迁越(由之前的低跳变为高),则认为此时DQS和CLK已经满足tDQSS,同时通过DQ[n]向DDR控制器发送一个高,表征一个写均衡成功,同时DDR控制器会锁住这个相位差。这样,在每个DRAM端,看到的CLK和DQS信号都是边沿对齐的。

    20190307143147767.JPG

    参考DDR3标准的写入均衡的4.8.2 procedure description一节和上图,写入均衡的修调过程:

    t1:将ODT拉起,使能on die termination;

    t2:等待tWLDQSEN时间后(保证DQS管脚上的ODT已设置好),DDR控制器将DQS置起;DDR memory在DQS上升沿采样CK信号,发现CK=0,则DQ保持为0。

    t3:DDR控制器将DQS置起;DDR memory在DQS上升沿采样CK信号,发现CK=0,则DQ仍然保持为0。

    t4:DDR控制器将DQS置起;DDR memory在DQS上升沿采样CK信号,发现CK=1,则等待一段时间后,DDR memory将dq信号置起。

       采取以上策略的原因:对于DDR controller来说,其无法测定clk边沿和dqs边沿的绝对位置,故采用了不断调整dqs delay,在dqs上升沿判断clk从0到1或1到0的一个变化,一旦检测到变化,则写入均衡停止。

       DDR3标准的Figure 17 write leveling concept图不太好理解,以下进行说明。

    从1中的两个信号diff_DQS和DQ,可以看到 diff_DQS的上升沿采到的CK值都是0;
    将diff_DQS加延时,直到如2 中所示diff_DQS的上升沿采到的CK值都是1,进而DQ输出从0到1,完成写入均衡(write leveling)。
    注意:在DDR3的标准文档中,在同一个时序图中经常性看到有多个相同信号名,但波形不同的情况,需要结合上下文分析波形。

    20190307143250194.JPG

    布线要求:

    只有使用了fly-by的情况下需使能write leveling
    CPU内部的内存控制器只能对DQS信号做延迟,不能做超前处理,所以CK要大于DQS信号线的长度,否则将不能满足tDQSS
    实战说明:

    对于Lattice VIP board,两块DDR芯片的布线使用了fly-by布线,故需使能Write leveling。即在Clarity designer的DDR3 SRAM controller的配置窗口的Type页面,将Write leveling钩选上。

    将MR1寄存器的A7设置为1进入write leveling模式,然后在检测到DQ上有0到1的跳变后,说明已结束,则设置A7为0退出该模式。
    ————————————————
    版权声明:本文为CSDN博主「tbzj_2000」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/tbzj_2000/article/details/88304245
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    7

    主题

    587

    回帖

    2201

    积分

    二级逆天

    积分
    2201

    终身成就奖特殊贡献奖

    发表于 2020-2-29 08:01:40 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-29 20:33
  • 签到天数: 1 天

    [LV.1]初来乍到

    48

    主题

    6492

    回帖

    7755

    积分

    二级逆天

    积分
    7755

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-2-29 08:09:04 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 114 天

    [LV.6]常住居民II

    18

    主题

    1万

    回帖

    1万

    积分

    三级逆天

    积分
    12197

    终身成就奖社区居民特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2020-2-29 09:52:58 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    3

    主题

    945

    回帖

    1696

    积分

    二级逆天

    积分
    1696

    终身成就奖特殊贡献奖

    发表于 2020-2-29 10:05:52 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    17

    主题

    2244

    回帖

    0

    积分

    二级逆天

    积分
    0

    社区居民终身成就奖

    QQ
    发表于 2020-2-29 12:54:37 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    195

    主题

    554

    回帖

    1177

    积分

    PADS20210616高级班

    积分
    1177

    终身成就奖

    发表于 2020-3-22 18:00:56 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表