|
作者:一博科技
% K* |: x% E0 b0 \& ]% ~
* J2 _9 X& S8 U2 C/ GDDR的拓扑结构选择也是一个老生常谈的话题了,从最初只能采用T拓扑到支持读写平衡的Fly-by拓扑,设计似乎变得越来越简单了。大家来看这样一种情况,一个驱动拖动两片DDR颗粒,芯片支持读写平衡,您一般会选择什么拓扑结构呢?我想,这个应该和个人的设计习惯有关,或者选择T拓扑,或者选择Fly-by,没有标准答案。但是作者最近遇到的一个项目,一个主控拖动两个DDR颗粒,采用Fly-by结构,信号质量就不稳定,小批量量产总有几块板子DDR不能正常工作,仿真发现DDR信号质量并不是很理想,修改拓扑结构后,DDR运行变得稳定,具体什么情况呢?/ i# I2 C1 c- D6 p% G) |
! A' o2 f' a! |- C% B. Q
该主板上有一块FPGA和一块DSP,FPGA驱动的DDR3没有问题,但是DSP驱动的DDR不稳定,我们仔细进行了查板工作,该主板上DSP与FPGA都是采用Fly-by拓扑结构,DDR颗粒也都支持读写平衡,如下图1所示,从布线上来看,设计并无不妥。
$ B% |" [0 b& D$ X/ u
' ~' h' d8 @. ]( `2 W7 s8 E# s" V/ Q. r" u4 A( y
图1 Fly-by 拓扑走线
2 O, P: A2 x; K7 N7 P* M! D- }1 u' U# w$ e/ M
FPGA和DSP作为驱动时,仿真发现,两者的波形还是存在较大差异的,如下图所示:
5 ^5 A- B, q5 Y, y* P
4 U6 G/ I0 ?9 }+ r图2 DSP与FPGA波形对比 6 f, k4 J5 t t4 Q6 s0 X0 k
- h% B" O2 i5 H6 X8 S
由图2可知,该主板上FPGA的驱动能力明显好于DSP,DSP不仅驱动能力比较弱而且信号的过冲还很严重,信号的裕量非常的小。. F4 Q6 W/ Q2 v1 W8 {% Z
5 `1 \+ j/ J1 F4 }: J. t9 @怎样去改善信号质量呢?芯片的驱动能力是有限的,没有太大调整空间,但既然选择了这款芯片,也不能轻易的改变,只能从布线上作调整,希望可以提高信号裕量,于是,作者想到了使用T拓扑结构,修改后的拓扑结构如下图3所示:
" B) c; l6 W3 K, c/ k8 B5 {3 s5 S
图3 T拓扑走线 r& u; C: s6 k3 z8 K3 W
w1 f w8 E" x经过仿真分析,将Fly-by拓扑变成T拓扑之后,信号质量明显好了很多,如下图所示,红色波形代表的是采用Fly-by拓扑时信号的波形,绿色波形代表的是采用T拓扑时,仿真得到的波形。相比于采用Fly-by拓扑,T拓扑得到的波形过冲更小。 T& L. N( r- T# Z1 s8 ^( r5 F
7 }$ I8 Q( ^/ q/ e
图4 T拓扑与Fly-by拓扑走线对比
8 t3 q) ]+ j$ ~& Z0 G7 ~+ Z3 a, U4 [5 ]* ^) u. N# H: |
修改拓扑结构,实际打板,再次小批量量产,该主板DSP驱动DDR不稳定的现象没有了。
% l( ~5 w ^" V4 s9 [/ G3 @看来在颗粒数目比较小的情况下,T拓扑还是具有一定的优势的,因为T拓扑是完全对称的,在完全等臂分支的情况下,两个接收端感受到的反射也是一样的,可以相互抵消一部分,从而抑制信号过冲。
' e1 ^& L2 r; @, V; I( y, H/ M. J6 C+ `: f1 Z
总结:9 T h! N, f& S) y! \" p
0 i1 E) z0 |9 U' x# H(1) DDR的拓扑结构选择还要考虑芯片的驱动能力,同样的拓扑结构,不同的芯片驱动得到不同的信号质量,所以拓扑结构的设计也不是一劳永逸的,最好做一下仿真验证,评估设计风险。% Q6 ~, j# v- S& r- l/ n6 Y9 l. }$ ]
, L. w# o/ d$ W+ v& F' A6 D0 G(2) 颗粒比较少情况(少于4片),建议使用T拓扑;相对于Fly-by,T拓扑会使信号的过冲更小,信号质量更稳定。
; F4 o0 O! }3 C3 i9 |( e c4 ^7 |& O1 K8 i6 a8 r) `
/ ~& Y* K: @( V8 Y: T, d+ [7 w |
-
|