zoukankan      html  css  js  c++  java
  • 案例分享-DDR不能正常工作之DDR拓扑结构的选择

    DDR的拓扑结构选择也是一个老生常谈的话题了,从最初只能采用T拓扑到支持读写平衡的Fly-by拓扑,设计似乎变得越来越简单了。大家来看这样一种情况,一个驱动拖动两片DDR颗粒,芯片支持读写平衡,您一般会选择什么拓扑结构呢?我想,这个应该和个人的设计习惯有关,或者选择T拓扑,或者选择Fly-by,没有标准答案。但是作者最近遇到的一个项目,一个主控拖动两个DDR颗粒,采用Fly-by结构,信号质量就不稳定,小批量量产总有几块板子DDR不能正常工作,仿真发现DDR信号质量并不是很理想,修改拓扑结构后,DDR运行变得稳定,具体什么情况呢?

    该主板上有一块FPGA和一块DSP,FPGA驱动的DDR3没有问题,但是DSP驱动的DDR不稳定,我们仔细进行了查板工作,该主板上DSP与FPGA都是采用Fly-by拓扑结构,DDR颗粒也都支持读写平衡,如下图1所示,从布线上来看,设计并无不妥。

     
    图1  Fly-by 拓扑走线


    FPGA和DSP作为驱动时,仿真发现,两者的波形还是存在较大差异的,如下图所示:

     
    图2  DSP与FPGA波形对比


    由图2可知,该主板上FPGA的驱动能力明显好于DSP,DSP不仅驱动能力比较弱而且信号的过冲还很严重,信号的裕量非常的小。

    怎样去改善信号质量呢?芯片的驱动能力是有限的,没有太大调整空间,但既然选择了这款芯片,也不能轻易的改变,只能从布线上作调整,希望可以提高信号裕量,于是,作者想到了使用T拓扑结构,修改后的拓扑结构如下图3所示:

     
    图3  T拓扑走线


    经过仿真分析,将Fly-by拓扑变成T拓扑之后,信号质量明显好了很多,如下图所示,红色波形代表的是采用Fly-by拓扑时信号的波形,绿色波形代表的是采用T拓扑时,仿真得到的波形。相比于采用Fly-by拓扑,T拓扑得到的波形过冲更小。

     
    图4 T拓扑与Fly-by拓扑走线对比


    修改拓扑结构,实际打板,再次小批量量产,该主板DSP驱动DDR不稳定的现象没有了。
    看来在颗粒数目比较小的情况下,T拓扑还是具有一定的优势的,因为T拓扑是完全对称的,在完全等臂分支的情况下,两个接收端感受到的反射也是一样的,可以相互抵消一部分,从而抑制信号过冲。

    总结:

    (1) DDR的拓扑结构选择还要考虑芯片的驱动能力,同样的拓扑结构,不同的芯片驱动得到不同的信号质量,所以拓扑结构的设计也不是一劳永逸的,最好做一下仿真验证,评估设计风险。

    (2) 颗粒比较少情况(少于4片),建议使用T拓扑;相对于Fly-by,T拓扑会使信号的过冲更小,信号质量更稳定。

     

  • 相关阅读:
    网站安全编程 黑客入侵 脚本黑客 高级语法入侵 C/C++ C# PHP JSP 编程
    【算法导论】贪心算法,递归算法,动态规划算法总结
    cocoa2dx tiled map添加tile翻转功能
    8月30日上海ORACLE大会演讲PPT下载
    【算法导论】双调欧几里得旅行商问题
    Codeforces Round #501 (Div. 3) B. Obtaining the String (思维,字符串)
    Codeforces Round #498 (Div. 3) D. Two Strings Swaps (思维)
    Educational Codeforces Round 89 (Rated for Div. 2) B. Shuffle (数学,区间)
    洛谷 P1379 八数码难题 (BFS)
    Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords (贪心)
  • 原文地址:https://www.cnblogs.com/edadoc/p/7210024.html
Copyright © 2011-2022 走看看