作者:一博科技
' l& C$ P; F. E. O% @- ^' q" ~2 ]2 r% x/ n4 M: M+ k$ a+ s0 B
这次要谈到的话题是DDR的线长匹配,这个大家再熟悉不过了。回顾一下,总体原则是:地址,控制/命令信号与时钟做等长。DQ/DM信号与DQS做等长。为啥要做等长?大家会说是要让同组信号同时到达接收端,好让接收芯片能够同时处理这些信号。那么,时钟信号和地址同时到达接收端,波形的对应关系是什么样的呢?我们通过仿真来看一下具体波形。
9 E0 i9 x, Y7 ?! H& z' v& w4 L1 A9 u5 ^8 ?# F b4 E& o/ E/ P: u2 v
建立如下通道,分别模拟DDR3的地址信号与时钟信号。
; b: d' z' X5 J+ w
' a+ r! l: A+ h图1 地址/时钟仿真示意图 9 j; @1 e0 i( n* l8 g8 X
% [0 _, a* y' \4 u' [为方便计算,我们假设DDR的时钟频率为500MHz,这样对应的地址信号的速率就应该是500Mbps,这里大家应该明白,虽然DDR是双倍速率,那是指数据信号,对于地址/控制信号来说,依然是单倍速率的,我们在仿真时,地址/命令信号与数据信号的速率也是应该分开设置的,大家在设置信号速率时应该注意。下面来看看波形,在地址与时钟完全等长的情况下,地址与数据端的接收波形如下图2:红色代表地址信号,蓝色代表时钟信号。
: L$ j, _9 j& {
7 O, P9 W) U, V6 M6 |, S图2 时钟信号与地址信号波形
- y* U3 ?* v6 s) O( c9 L
% u% x* l5 a! i; X上面的波形我们似乎看不出时钟与地址之间的时序关系是什么样的,我们把它放在眼图中,时序关系就很明确了。这里粗略的计算下建立时间与保持时间。如下图, Z7 v' Q& X+ D
1 n! x. ~+ a; X0 c8 [7 q! ^图3 时钟信号与地址信号波形 7 x& J7 S2 r& L8 h$ G( h: E$ h
- _- v' D9 \1 s: z* E
由上图3.我们可以知道,该地址信号的建立时间大约为983ps,保持时间为1ns。这是在时钟与地址信号完全等长情况下的波形。如果地址与时钟不等长,信号又是什么样的呢?仿真中,我们让地址线比时钟线慢200ps,得到的波形与眼图如下:
: u. n; A: U1 y W7 Y
8 f3 g" ^1 s# U图3 时钟信号与地址信号波形 / g% v- j3 D- ]9 M* A
5 x+ `/ _% W& e' F图4 时钟信号与地址信号波形
2 b8 i, o$ ]8 q+ T4 v8 c4 @, [# j% Z2 f7 }5 f1 J4 ^
由上图可知,在地址信号比时钟信号长的情况下,保持时间为780ps,建立时间为1.2ns。可见,相对于地址线与时钟线等长来说,地址线比时钟线长会使地址信号的建立时间更短。同理,如果时钟线比地址线长,则建立时间会变长,而保持时间会变短。. d" U5 ?8 B" k5 H6 R) q
+ o; ?) V j% i, ~需要说明的是,这里的建立时间与保持时间只是粗略的估算,实际规范中定义的建立时间与保持时间要比这个复杂。我们的总体目标就是要使DDR的建立时间与保持时间保持足够的裕量,只有这样,数据才能够顺利的被读取或者写入。读到这里,我想小伙伴们已经对线长匹配与时序之间的关系有了更具体的认识。那么,双沿采样的DQS与DQ之间的关系又具体是什么样的呢?我们将在下篇文章中具体介绍,敬请期待。 |