本文想探討:DDRII在兩層板與四層板的主要差異,與兩層板上DDRII可以跑多快,打開ODT可以改善多少?
使用兩層板PCB,若主IC是pin數少的LQFP封裝,單面走線還可以維持一個完整的參考地平面;若是400~500pin的BGA封裝,兩面都需要走線,沒有完整的reference plane,這種條件下要跑DDRII-800~1066還可能嗎?
(可,
本文最早撰寫於2009年,時至今日2011年DDRIII-1666兩層板都有人做出來了)
因為考慮worst case是沒有完整參考地平面的雙面走線情況,所以使用HFSS來模擬會比SIwave適合(比較沒爭議),並考慮以下條件:
-
假設routing topology is point-to-point routing only,trace width
5~6mils,maximum trace length 2000mils,trace routing
space 3W(三倍線寬)
-
因為DDRII
memory是BGA封裝,依系統的複雜度(用一顆或兩顆DDRII device),走線會打1~3個via
-
BGA的DDR controller在兩層板雙面走線沒有辦法有完整的地平面,以一塊挖空的地平面來模擬這情況。
-- please refer to
SIwave模擬兩層板PCB的
可行性研究
-
只考慮DDR
IO using reduced drive mode (half-drive),因為full drive mode會更差
-
考慮source Jitter但不考慮電源與地雜訊(沒有SSN、ground bounce);不考慮T型走線型態
-
Stack-up and Impedance
Design
-
Create 2 layer PCB
2.1 Create
trace and plane with slot
2.2 Export
S-parameter
-
Create 4 layer PCB
3.1 Create
trace and plane without slot
3.2 Export
S-parameter
-
Time Domain
Analysis by Design/Nexxim v4.1
4.1 2 layer
PCB -- 使用ODT_150
4.2 4 layer
PCB -- 不使用ODT
-
Research and
Discussion
5.1
縮小板厚 -- 有效
5.2
IO改用Full Drive -- 沒效
5.3
DDR Trace包GND line形成grid ground -- 有效
-
總結
-
Stack-up and Impedance
Design
1.1
兩層板首先碰到的難題是,做不到特性阻抗50歐姆。因為堆疊厚度一般是(63mils=1.6mm),線寬也不能太粗,否則線會走不過BGA的錫球
1.2
四層板則很容易可以做到特性阻抗45~50歐姆。
-
Create 2 layer PCB
2.1 Create
trace and plane with slot
建立四條線寬W=6mils、線距S=3W=18mils、線長2000mils的trace,堆疊結構則是線銅厚1.4mils,訊號線放在高度58mils的substrate上(Microstrip),介電係數4.25,有reference plane.
2.1.1 理想的兩層板走線:全頻帶的走線特性阻抗大約在136.5~138.5 Ohm。(wave port所在的垂直平面大一些,值會比較準
)
2.1.2 地平面不連續的兩層板走線且貫孔換層:使用via hole半徑4mils、via pad半徑8mils、anti-pad半徑12mils;trace1完全沒有透過貫孔換層走線,trace2透過兩貫孔一次換層走線,trace3透過四貫孔兩次換層走線,trace4完全沒有透過貫孔換層走線
這檔案可以直接用HFSS的3D Modeler畫(太辛苦了),或是由AnsoftLiks把PCB layout轉出.hfss。
正常由HFSS繪製這模型,必須把via hole區域的substrate挖空,否則substrate會與via的material相衝,這對製圖者是很麻煩的一件事。HFSS v11可以設定忽略metal所包覆的內部substrate:HFSS
\ Set Material Override。
2.2 Export
S-parameter
HFSS
\ Results \ Solution Data,按"Export
Matrix Data"即可另存.snp
file (.s8p)
將兩層板範例,export
touchstone file.
因為[Solution Type]是用[Driven Terminal],所以這裡要選"Terminal Data"
Export才對
-
Create 4 layer PCB
3.1 Create
trace and plane without slot
建立四條線寬W=6mils、線距S=3W=18mils、線長2000mils的trace,堆疊結構則是線銅厚1.4mils,訊號線放在高度3.4mils的substrate上(Microstrip),介電係數4.25,有reference plane.
3.1.1 理想的四層板走線:全頻帶的走線特性阻抗大約在44.6 ohm。
3.1.2 地平面連續的四層板走線且貫孔換層:使用via hole半徑4mils、via pad半徑8mils、anti-pad半徑12mils;trace1完全沒有透過貫孔換層走線,trace2透過兩貫孔一次換層走線,trace3透過四貫孔兩次換層走線,trace4完全沒有透過貫孔換層走線
3.2 Export S-parameter
HFSS
\ Results \ Solution Data,按"Export Matrix Data"即可另存.snp
file (.s8p)
將四層板範例,export touchstone file.
-
Time Domain Analysis by Design/Nexxim v4.1
4.1 2 layer PCB
從模擬結果可以看出,此四條線波形很接近,所以知道在兩層板DDRII區域幾乎沒有地平面的條件下(因為上下層都要走線),此時地不連續的影響遠大於貫孔數多寡。
波形主要的SI問題是上升/下降時間變大,導致整個眼圖撐不開。這主要原因是高速走線正下方沒有地迴路,area of return path loop增加導致loop inductance on transmission line增加
兩層板跑DDRII-800,打開ODT_150確實可以大幅改善SI issue,但請注意這是suppose PI perfect。實際考慮Noise issue,若兩層板有10% jitter就挫塞了
4.2 4 layer
PCB
兩層板與四層板跑DDRII-800,單特性阻抗45與135 ohm所引起的差異,就很大了
開ODT_75
-
Research and
Discussion
若兩層板BGA封裝跑DDRII-800不行? 那一般PCB製程,配合打開ODT_150,DDRII最快有機會跑多少?
5.1 兩層板PCB配BGA封裝IC跑DDRII搭配特殊PCB製程最快有機會跑多少?
若把板厚縮小一半,與step 4.1的原圖形相比,trace2是有經過via換層的,變好了
縮減板厚可改善via effect,但對於因為沒有reference plane,地不連續所造成的SI issue,並沒有改善
5.2
IO改用Full Drive
並沒有比half-drive好,trace2還變差,所以還是用half-drive好了
5.3
DDR Trace包GND line形成grid ground
在原本的trace1, trace2, trace3的trace1一側,伴隨走一條GND trace,並且要打via到GND plane連接,所有的線距都拉近成1.5倍線寬,這樣才有機會在原本的DDRII走線區域穿插塞入GND trace
加一條地線伴隨走是有改善SI,但改善的幅度還是不夠。如果在Bottom layer的trace2旁,與Top layer的trace3也加一條guard GND trace伴隨走,那改善的程度是不是會更好呢?
從波形看是可以跑DDRII-800了,但問題是兩層板的走線,如何每條trace旁伴隨著走地線並且讓地線的頭尾兩端都接地??
如果DDRII bus每條都伴隨有良好接地的地線,那開ODT的效果就不是那麼明顯。
-
總結
|