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拓撲會使信號的過沖更小,信號質量更穩定。