前面的文章有分别介绍过T型拓扑及Fly_by拓扑结构,这两种拓扑结构应用最多的应该是在DDR3里面,说到这里,小编又想开始聊聊DDR3的设计了,我想很多人都比较有兴趣。
因为DDR3的设计还是比较复杂,而且应用也比较广泛,如下图是常见的T型及Fly_by型的拓扑应用。
通常来讲,谈到DDR3的拓扑结构(这里主要是针对时钟或地址控制信号),大家马上就会想到T型或者Fly_by结构,但什么时候使用T型或者Fly_by 型呢?
答案是:it depends!(如果大家有经常参加老外的培训,这应该是个用得最多的回答了,可见老外也是比较狡猾的)。
这个问题确实是没法确切回答的,因为要看情 况,小编在此也来试着把这个问题回答得更具体点。
首先,从颗粒数目的情况来考虑。一般在4个或者4个以下的拓扑,使用T型 或者Fly_by型都没有太大问题,主要看个人喜好了,如果板子布线空间足够的话,
还是建议使用T型拓扑,信号质量也不赖,后期调试也较简单;如果颗粒数 目超过4个,那么果断使用Fly_by拓扑,不要问我为什么,等你去绕等长的时候你就知道为什么要用Fly_by拓扑了。
其次,从布线空间来考虑。板内布线空间较充裕,有足够的空间绕等长,可以使用T型拓扑,如果板内布线空间较紧张,没有足够空间绕等长,那么还是使用Fly_by拓扑。
再次,从信号速率来考虑。一般T型拓扑频率超过1GHz信号质量就会出现大幅的下降,所以此时应考虑使用fly_by拓扑结构。
当然,使用何种拓扑并不是单一情况的考虑,而是综合的一个考虑,就像前面说到的需要综合考虑颗粒数目、板内布线空间、信号速率以及个人喜好(或者对各拓扑的熟悉程度)等。
下面来简单总结下T型拓扑和Fly_by拓扑的优缺点以及使用注意事项。
T型拓扑结构的特点是主控到每个颗粒的长度基本一致,也就是说每个颗粒的信号质量都差不多;缺点就是绕等长时需要更多的布线空间,所以不适合较多颗粒数目的情况,
其次是需要同等地位的分支完全对称(包括长度及阻抗等),如果不对称那么信号质量的影响比较大。所以我们在使用T型拓扑的时候应该注意预留足够的空 间来绕线,
另外还需要注意同一个节点分出去的分支(也就是前面说的同等地位的分支)必须对称。
这个在前面的T型拓扑里面已经有仿真结果了,在此就不在赘述。
Fly_by 拓扑结构的优点是布线相对简单,其中数据组不需要和时钟信号绕等长,这样就可以节省较多的布线空间,同时也可以支持更高的信号速率;缺点就是信号到达每片 颗粒的时间不一致,带来了一定的skew,这个skew需要一定的技术来弥补。同时在前面的文章中也有提到过,对Fly_by拓扑影响最大的是主干到颗粒 的那段Stub线,所以必须严格控制stub的长度(时钟信号100mil左右,地址、控制等信号150mil左右),这个长度当然是越短越好。至于颗粒 间的长度到底影响有多大,前面的文章提问也问到过,请看下面的不同位置及长度对比下的信号眼图。
可见颗粒与颗粒间的长度影响也不及stub的影响大,但太长了对信号还是有一定的影响,所以根据板内空间及信号质量的综合考虑,我们建议颗粒与颗粒的长度控制在1inch内较好。
另 外不管是T型拓扑还是Fly_by拓扑,还需要考虑合理的端接,常用的端接方式是T型拓扑在第一个分支节点处上拉50欧姆或其他端接电阻到Vtt,
而 Fly_by则是在最后一个颗粒处上拉50欧姆或其他端接电阻到Vtt;除了端接电阻,其实当颗粒数目较多时,都可以将两种拓扑的主干线路阻抗降低到40
欧姆左右,这样有利于提升信号的质量(前期文章也有讲到过,不再赘述)。