Home > ANSYS HFSS 教學 > Compare 2-layer and 4-layer PCB for DDRII application

更 新 日 期:

本文想探討: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型走線型態

  1. Stack-up and Impedance Design

  2. Create 2 layer PCB

    2.1 Create trace and plane with slot

    2.2 Export S-parameter

  3. Create 4 layer PCB

    3.1 Create trace and plane without slot

    3.2 Export S-parameter

  4. Time Domain Analysis by Design/Nexxim v4.1

    4.1 2 layer PCB -- 使用ODT_150

    4.2 4 layer PCB -- 不使用ODT

  5. Research and Discussion

    5.1 縮小板厚 -- 有效

    5.2 IO改用Full Drive -- 沒效

    5.3 DDR Trace包GND line形成grid ground -- 有效

  6. 總結

  1. Stack-up and Impedance Design 

1.1 兩層板首先碰到的難題是,做不到特性阻抗50歐姆。因為堆疊厚度一般是(63mils=1.6mm),線寬也不能太粗,否則線會走不過BGA的錫球

1.2 四層板則很容易可以做到特性阻抗45~50歐姆。

  1. 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所包覆的內部substrateHFSS \ 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才對

  1. 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.

  1. Time Domain Analysis by Design/Nexxim v4.1 

    4.1  2 layer PCB 

    • 理想的兩層板走線 :DDRII-800 half-drive IO without ODT or serial terminator

  • 地平面不連續的兩層板走線且貫孔換層 :DDRII-800 half-drive IO without ODT

  • 地平面不連續的兩層板走線且貫孔換層 :DDRII-800 half-drive IO with ODT_150

從模擬結果可以看出,此四條線波形很接近,所以知道在兩層板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 half-drive IO without ODT or serial terminator

兩層板與四層板跑DDRII-800,單特性阻抗45與135 ohm所引起的差異,就很大了

  • 地平面連續的四層板走線且貫孔換層:DDRII-800 half-drive IO without ODT or serial terminator,就算沒開ODT波形也是好的很(trace1沒有via,trace2兩個via一次換層)

開ODT_75

  1. 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的效果就不是那麼明顯。

  1. 總結 

  • 用兩層板PCB做DDRII-800的相關要點

    如果主控IC是多排ball的BGA封裝,且ball-ball pitch只能走過一條線,那麼因為PCB上下層都要走線,所以DDRII區域的reference plane會被挖空,這對走線SI的影響遠大於via的影響,此時DDRII兩層板主要SI issue來自無法保持地的完整性與走線特性阻抗過高

    • 在地平面不完整又訊號沒有伴隨走地線時,ODT是很關鍵的改善因素 (Addr./Ctrl/Cmd group 沒有ODT,那兩層板施作時會怎樣呢? EQ是個方法)

    • 讓地線很密伴隨著DDR trace routing,是很關鍵的改善因素。
      -- 如果走線下方沒有完整的reference plane,則地線需要以最密的方式伴隨佈線,即G S S G S S G ....

          要確實的做到這一點,一開始主控IC的出pin位置就必須很順,只要有一條不順就會破功

      -- 地線的粗細也有影響,但只要via打的夠密(about 1cm),guard trace包的完整(頭尾下地),1W夠用

          實作上的困難是:當兩層板雙面走線時,guard GND trace將沒有地方頭尾下grounding via。

      -- 訊號線伴隨地線除了讓迴流路徑連續外,另一個主要作用是降低兩層板走線的特性阻抗

    • 縮減板厚,可以改善via effect (但也不能做太薄,否則量產時會有組裝的應力問題)

      -- 可以讓single-end impedance較低,往理想值50~75 ohm靠近

    • 增加走線與copper plane的銅厚 (1.4mils基本的,大於1.4更好)

      -- 可以讓single-end impedance較低,且改善兩層板的PI

    • 地平面完整的兩層板設計,較長的DDRII bus(Addr./Cmd./Ctrl.)必須串Rs終端,否則overshoot/undershoot會過大

    • 兩層板僅適合用於point-to-point topology

      -- 若是T行走線,則必須外加上拉0.9V的戴維寧終端,如此兩層板無法讓線走的順,VREF也無法就近擺放

    如果主控IC是LQFP封裝,兩層板PCB就單面走線,盡量維持一個完整的地平面

  • 用四層板PCB做DDRII-800的相關要點

    • 可以確保DDRII走線區域的內層reference plane完整,所以DDRII四層板主要SI issue來自via、走線總長度與拓普型態(T type or not)

      -- 過度繞蛇線不僅不需要,反而會使SI變差

    • 四層板可以T型走線,總線長不超過2500mils時,不須外加上拉Vtt的戴維寧終端
      -- 目前MTK是T型走法,BroadCom是一條龍(fly-by)的走法. 2009
      -- 筆者實作驗證的結果:T行走法、沒上拉0.9V的戴維寧終端、不用開ODT,要跑到DDRII-800很簡單

    • Half-drive比Full-drive好,可以只用Rs、不用開ODT
      -- 如果你的板子是四層板、DDRII-800 point-point topology還要開ODT速度才跑的上去,那就遜掉了
      南亞1G, 三星1G的DDRII-800~1066不開ODT都很好;但多數512M DDRII都需要開ODT才行

  • 以兩層板PCB做到DDRII-800以上的方法:

    • 若主控IC採用LQFP,維持PCB單面走線 ;確保地平面的完整、bonding wire長度、IO pad的特性與pad allocation都很重要
      -- 台灣IC設計公司,目前已有DDRIII-1666用LQFP封裝搭兩層板PCB量產的能力了. 2011

    • BGA最外一排的ball location沒有佈滿,讓球與球之間可以可以走3~4條線出來,可以做到單面走線,並跑到DDRII-1066以上

    • BGA三~四排ball的封裝,走線寬4mils,pitch間 擠兩條走線,可以做到單面走線。模擬看來跑DDRII-800可以

    • BGA四~五排ball的封裝,pitch間走一條線,雙面走線,BGA GND ball location需特別斟酌,並有足夠多的GND ball