在DDR的PCB設計中,一般需要考慮等長和拓撲結構。等長比較好處理,給出一定的等長精度通常是PCB設計師是能夠完成的。但對于不同的速率的DDR,選擇合適的拓撲結構非常關鍵,在DDR布線中經常使用的T型拓撲結構和菊花鏈拓撲結構,下面主要介紹這兩種拓撲結構的區別和注意要點。
T型拓撲結構,也稱為星型拓撲結構,其結構如圖一所示。星型拓撲結構每個分支的接收端負載和走線長度盡量保持一致,這就保證了每個分支接收端負載同時收到信號,每條分支上一般都需要終端電阻,終端電阻的阻值應和連線的特征阻抗相匹配。星形拓撲結構可以有效地避免時鐘、地址和控制信號的不同步問題。
圖一
菊花鏈拓撲結構,如圖二所示。和星型拓撲結構不同,菊花鏈拓撲結構沒有保持驅動端到各個負載走線長度盡量一致,而是確保各個驅動端到信號主干道的長度盡量短。菊花鏈拓撲結構走線的特點,犧牲了時鐘、地址和控制信號的同步,但最大的特點是盡可能降低各負載分支走線長度,避免分支信號對主干信號的反射干擾。
圖二
在信號頻率低于800MHz的情況下,上面兩種拓撲結構均能滿足系統性能需要。但是當信號速率到達1000MHz甚至更高,T型拓撲結構就不能滿足性能需要。原因就在于T型拓撲結構過長的支路走線長度,在不添加終端電阻的情況下很難和主干道實現阻抗匹配,而為了實現各個支路的阻抗匹配添加終端電阻,又加大了電路設計的工作量和成本,是我們不愿意看到的。因此高速信號使用T型拓撲結構,特別是Stub》4的時候,支路信號對主干信號的反射干擾是很嚴重的。通常DDR2使用和速率要求不高的DDR3使用T型拓撲結構。菊花鏈拓撲結構主要在DDR3中使用,菊花鏈拓撲結構的主要優勢是支路走線短,一般認為菊花鏈支路走線長度小于信號上升沿傳播長度的1/10,可以有效削弱支路信號反射對主干信號的干擾,不同的書本上說法也不一樣,大體上走線長度小于上升沿傳播長度的1/6-1/10都是可以的,實際設計中我們肯定希望這個長度越短越好。菊花鏈拓撲結構可以有效抑制支路的反射信號,但相對于T型拓撲結構,菊花鏈拓撲結構的時鐘、地址和控制信號并不能同時到達不同的DDR芯片。為了解決菊花鏈拓撲結構信號不同步的問題,DDR3的新標準中加入了時間補償技術,通過DDR3內部調整實現信號同步。當信號頻率高達1600MHz的時候,T型拓撲結構已經無能為力,只有菊花鏈或其衍生的拓撲結構能滿足這樣的性能需求。一般的DDR3都會建議采用菊花鏈拓撲結構的改進型拓撲結構,Fly-by拓撲結構,如圖三所示。Fly-by拓撲結構要求支路布線長度Stub=0,Fly-by具有更好的信號完整性。
圖三
在菊花鏈拓撲的實際應用中,為了抑制Stub過長和分支太多對主干信號的反射干擾,以及加強主干信號驅動能力,一般在末端預留端接電阻電路。末端下拉電阻會增大IO口驅動功耗,所以采用末端上拉電阻的方式進行端接。計算信號驅動部分的戴維南等效電壓作為上拉電壓Vtt,Rt為驅動部分的等效電阻,通常上拉電壓取值為IO驅動電壓的一般,即Vtt=Vddr/2。
針對DDR3的Fly—by菊花鏈
該結構是特殊的菊花鏈結構, stub線為0的菊花鏈。不同于DDR2的T型分支拓撲結構,DDR3采用了fly-by拓撲結構,以更高的速度提供更好的信號完整性。fly-by信號是命令、地址,控制和時鐘信號。如下圖所示,源于存儲器控制器的這些信號以串行的方式連接到每個DRAM器件。通過減少分支的數量和分支的長度改進了信號完整性。然而,這引起了另一個問題,因為每一個存儲器元件的延遲是不同的,取決于它處于時序的位置。通過按照DDR3規范的定義,采用讀調整和寫調整技術來補償這種延遲的差異。fly-by拓撲結構在電源開啟時校正存儲器系統。這就要求在DDR3控制器中有額外的信息,允許校準工作在啟動時自動完成。
在寫調整期間,存儲器控制器需要補償額外的跨越時間偏移(對每個存儲器器件,信號延遲是不同的),這是由于fly-by拓撲結構及選通和時鐘引入的。源CK和DQS信號到達目的地有延遲。對于存儲器模塊的每個存儲器元件,這種延遲是不同的,必須逐個芯片進行調整,如果芯片有多于一個字節的數據,甚至要根據字節來進行調整。該圖說明了一個存儲器元件。存儲器控制器延遲了DQS,一次一步,直到檢測到CK信號從0過渡到到1。這將再次對齊DQS和 CK,以便DQ總線上的目標數據可以可靠地被捕獲。由于這是由DDR3存儲器控制器自動做的,電路板設計人員無須擔心實施的細節。設計人員會從額外的裕度中得到好處,這是由DDR3存儲器控制器中的寫調整的特性所創建的。
評論