DDR3寄存器
最近在测试DDR3寄存器,
寄存器设置CPU&DDR3 ODT OFF,
1:测试发现DDR3 WRITE的PK-PK=2.2v read==1.4v
我感觉write波形幅度太大,仿真发现如果ddr3 ODT==60ohm, 电压幅值会减小到1.5v,看规范也是满足要求的。
故我去调节MR1 第9 6 2位,发现改后都没变化。
不知还需要改什么寄存器。请高手指点。
DDR3颗粒上的ZQ有没有电阻240R到地呀,如果这个没有咋调节都不会有的。
好像没有了,还有就是初始化时序不对,还有测量一下ODT控制信号是否会出现高电平,或者直接把这一位拉高,看是否有变化。
我的理解是,对于DDR3。如果你需要调整write level,则需要调节的是CPU这端的输出阻抗(DRV),对应DDR端的ODT的值只是起阻抗匹配的作用(影响较小)
如果需要调整的是read level,那么如果调节的是DDR端的ZO(这个输出阻抗一般都只有34和40两个值,通常设34达到最大输出),CPU端的则是调节是ODT的值(也是起阻抗匹配的作用)
调出来了,设定ODT 值后,还有enable 寄存器。
jknothing 的建议,我太赞同。
ODT的影响还是很大的,电压幅值差值达到几百MV哦,这对SSN也会影响较大。
看不太懂小编的问题,不过把我对DDR3的一点了解说一下吧,仅供参考:
不过我觉得先要分清write level和read level指的是谁向谁写,从哪里读吧?一般的,write level指的是CPU向内存颗粒写,read指的是CPU从内存颗粒上读东西。
1. write时,CPU端的ODT为disabled,也就是 ODT OFF,内存颗粒上 ODT 为enable,具体的阻值依情况而定,CPU的design guideline会有相应的介绍吧
2. read时,CPU端的ODT为enable,阻值也是依情况而定,而内存颗粒上ODT disabled
所以你write时,在内存颗粒ODT为enable的情况下,调节其ODT值,电压幅值的变化应该比较明显
再次声明,仅供参考,希望没有误导你
可能我的原话有点问题,ODT的值一般来说在四层及以上板的设计中都是60或是75欧(CPU及DDR端)因为PCB的DDR处的走线差不多特性阻抗就是这个值,当然像六楼所说,如果说你调ODT的值的话。幅度会有变化。可是这种变化由于阻抗不匹配,容易造成信号的过冲及失真。最好是通过示波器观查波形来得到正确的结查,不过一般来layout没有大改,板层结构没有大变的情况下是不需要调节的。所以我们一般都不调节ODT的值。在DDR3里。常规的做法是调ODV,也就是CPU端的输出阻抗,这个阻抗越小,输出驱动就越大(在写周期)信号幅度就越大,可是功耗也就大了。
所以一般来说。我们都不去调ODT及ODV的值,只是在信号完整性很差的情况下板子不稳定的情况才会去调试用。然后更新PCB。 一家之言,供参考。
难道仁兄也是hyperlynx出生?哈哈,