在目前的處理器架構中,ddr是必不可少的一部分。毫無疑問,ddr部分是系統高速訊號中最重要的部分。
本文分為2部分,一部分是對於訊號處理的規則,另一部分是一些注意事項。
這部分的設計以硬體設計指導為參考。大部分的soc廠商都會在這裡給出明確的規則說明,比如intel,amd,安霸,ti等。也有少部分soc廠商會給出一句『請完全複製參考設計』。。。
下面以安霸a7l對ddr的要求為例,其他平台的其實大同小異。
對於拓撲結構的選擇,一定要看晶元是否支援讀寫平衡(read and write leveling)。
如果不支援和ddr2一樣按t拓撲處理。(保證cpu到ddr各支點等長,注意終端電阻要接到最大的t點上)
支援讀寫平衡情況下:
2-4片顆粒:走t點或是fly-by都可以; 4片及以上顆粒:建議走fly-by。
a7l採用了t型結構。
一般性規則:
ddr3的任何走線層,參考地都要完整,不得有斷續;
ddr3區域內地平面不得切斷。1.5v電源要覆蓋整個ddr3禁布區。此禁布區目的是防止其他訊號干擾ddr3介面。此區域內僅允許走ddr3介面訊號;
ddr3晶元電源平面的目的是ddr3裝置和a7l有最短的電源、地迴路,並且干擾最小;
ddr3佈線區內不允許有無關訊號,包括所有層;
為提高訊號完整性,走線長度要盡量短;
退耦電容靠近器件擺放。
電容到電源的管腳不超過125mil。
每個退耦電容要求有2個過孔(每個管腳乙個)。退耦電容不允許共用過孔。
參考電壓ddr_vref分壓電阻位於ddr3和a7l中間。
ddr_vref寬度至少20mil。bga扇出區、過孔擁塞區可適當變窄,但應盡量接近20mil。
ddr_vref要盡量短。
記憶體匯流排的阻抗(z)在±10%以內。ddr3介面佈線的關鍵在於阻抗匹配和長度匹配。所以,不同的pcb層,走線寬度會不同。
時鐘訊號組:
訊號:ddr_ck/ddr_ck_bar。
線長600~1400mil。
長度匹配在±10%以內。
差分阻抗100-ohm。
ddr_ck/ddr_ck_bar平行走線。
ddr_ck/ddr_ck_bar間距取決於差分阻抗要求。
和其它訊號組的間距2倍於線寬。
位址和命令訊號組:
訊號:ddr_ba_[0:2],ddr_addr_[0:14],ddr_ras,ddr_cas,和ddr_we。
長度與ddr_ck匹配,±50mil。
單端阻抗50-ohm。
和其它訊號組的間距2倍於線寬。
資料選通訊號組:
訊號:ddr_dqs_[0:1]/ddr_dqs_bar[0:1]。
長度匹配:
——ddr_dqs_[0:1]和ddr_dqs_bar[0:1] ±10mil。
——和ddr_ck ±50mil。
差分阻抗100-ohm。
走線間距取決於差分阻抗要求。
和其它訊號組的間距2倍於線寬。
資料訊號組:
訊號:ddr_dq_[0:15]/ddr_dm_[0:1]。
長度匹配:
——ddr_dq_[0:15]和ddr_dm_[0:1]和ddr_ck匹配 ±50mil(最好的情況是完美匹配於ddr_dqs_[0:1])。
單端阻抗50-ohm。
和其它訊號組的間距2倍於線寬。
以上是ddr訊號設計規則。
這部分介紹一下ddr的pcb設計的一些實際經驗。
原則上希望ddr訊號都能參考gnd。
實際設計中,如果是4層板的話,一般pcb疊層架構是signal-gnd-pwr-signal,而ddr訊號都在同一層是不現實的,那麼必然會有部分參考pwr——注意,這裡的pwr是指ddr的電源平面。此時,同一組訊號,要保障有同乙個參考面。比如訊號線分組是這樣的:
group0:dq0-dq7,dqm0,dqs0p/dqs0n;
group1:dq8-dq15,dqm1,dqs1p/dqs1n;
那麼同一組內的訊號,不能有的參考gnd,有的參考pwr。
而如果是2層板的情況下,那麼只能做共面參考。比如某低成本soc,就採用了雙面板的pcb疊層,ddr訊號部分就沒辦法像4/6/8層板那樣有完整的參考平面,只能做共面參考。
訊號的換層是不可避免的。
ddr訊號的換層次數,原則上來說不要超過兩次,即soc扇出後換層一次(到走線層),到ddr顆粒端換層一次(走線層換到貼片層)。
並且,對於高速訊號,還會要求在換層過孔附近要有gnd過孔提供回流路徑。這一點在ddr的走線中,一般沒有空間單獨打孔,近似的以晶元的gnd過孔為回流路徑。
這部分從概念上來說歸屬於2.1,但是為什麼要單獨列為一點?是因為很容易被忽略。
有的設計人員會發現,明明ddr訊號的參考平面是完整的,但是訊號測量出來總是過衝很大,系統穩定性也不好,執行若干個小時後會發生宕機,宕機現象,頻率不高,卻無法避免。
比如下圖,在回流方向上,整齊的若干個過孔(黃色框部分),完全阻斷了訊號的回流路徑。訊號質量很容易產生問題,引起讀寫資料出錯。
先列出這幾個印象比較深的注意點,其它部分想起來了再做補充。
訊號 usb USB硬體設計概要(2)
usb介面都具有熱插拔功能,能夠做到即插即用。該功能的是通過usb主裝置識別usb從裝置上的上拉電阻來檢測usb裝置的連線和斷開,並由此判斷裝置是低速裝置還是全速裝置,若是高速裝置則還需要一系列握手訊號來與全速訊號進行區分。低速和全速裝置的確認如圖3.2.1和圖3.2.2所示。若從裝置d 接入1.5...
01 演算法設計(二)
題設 現在有0 99,共計100個整數,各不相同,將所有數放入乙個陣列,隨機排布,陣列長度100,將裡面任意乙個數字替換成0 99的另乙個數字 唯一重複的數字 問題 將這個重複的數字找出來 同樣的這段 也可以解決01.演算法設計 一 的問題。package test6 import org.juni...
設計模式之二(decorator pattern)
每次從海淀黃莊坐地鐵都會經過乙個賣煎餅的小店。乙個標準煎餅 7塊錢 乙個雞蛋 一片菜葉子 脆餅 有個靈活的地方是,可以加自己喜歡的材料,比如,加乙個雞蛋,需要多付1塊錢。加乙個雞排需要多加4塊錢。作為kb的it民工,就像能不能設計乙個系統來自動計算煎餅的系統。剛開始設計的時候,設計方案如下 先設計乙...