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拓扑会使信号的过冲更小,信号质量更稳定。

     

  • 相关阅读:
    POJ2104 K-th Number Range Tree
    BZOJ 3390: [Usaco2004 Dec]Bad Cowtractors牛的报复(最大生成树)
    BZOJ 3391: [Usaco2004 Dec]Tree Cutting网络破坏(搜索)
    BZOJ 3412: [Usaco2009 Dec]Music Notes乐谱(离线处理)
    BZOJ 3410: [Usaco2009 Dec]Selfish Grazing 自私的食草者(贪心)
    BZOJ 3403: [Usaco2009 Open]Cow Line 直线上的牛(模拟)
    BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏(最短路)
    BZOJ 3479: [Usaco2014 Mar]Watering the Fields(最小生成树)
    BZOJ 3432: [Usaco2014 Jan]Cross Country Skiing (二分+染色法)
    BZOJ 3299: [USACO2011 Open]Corn Maze玉米迷宫(BFS)
  • 原文地址:https://www.cnblogs.com/edadoc/p/7210024.html
Copyright © 2011-2022 走看看