內容快速索引
去年底,當AWS Trainium2 Server剛剛發表並準備上市的時候,在生產過程中發生了一個重要的技術問題,這個問題導致了出貨的PCB板的良率變得非常低,遠低於預期的標準,幾10K的板子都因此報廢。在進行詳細的訊號量測之後,T2的設計團隊發現所測量到的訊號都呈現出相當大的損耗現象,特別是PCIe Gen5的高速訊號品質表現得非常不理想,遠遠達不到規格要求。
而在最終找到了問題的根本原因:這個訊號損耗主要是源自於PCB內部的玻璃纖維布(Fiber Weave)的排列方式所引起的問題。由於玻璃纖維布的編織結構本身並不均勻,導致高速差動對中的正負兩條訊號線經過不同介電常數的區域,進而造成了PN Skew的不匹配現象,這種不對稱性最終產生了額外的訊號損耗與諧振。
我們曾在設計看似完美卻測不過?Intra-Pair Skew 是「訊號完整性(Signal Integrity)」裡最隱形的殺手介紹過Intra-Pair Skew是如何影響SI,其中造成Skew的原因就有一項是PCB Fiber Weave Skew,現在就讓我們來探究探究這個很容易被忽略的隱形殺手吧!

差動對一定要盡可能達到沒有PN Skew
差動對要對稱這件事情,我想我們已經一直強調再三,在這就不贅述了,僅放幾張圖讓大家有個感覺,原來差動對不對稱,或者是說有PN Skew在裡頭,是會產生這麼嚴重的共模雜訊(Common-Mode Noise),使SI品質變差。
只要有PN Skew,差動電壓就不會完整,會發現Skew越大,電壓越小:

所以當Skew越大,眼圖品質自然也不會太好:

Skew越大,波形會變得有點畸形:

玻纖布造成PN Skew
什麼是PCB玻纖布
玻璃纖維布(Fiber Glass)在PCB製造中扮演著至關重要的角色,主要功能包括:
- 提供PCB板材的機械強度和結構支撐,使板子不易變形或斷裂。要知道一片AI在用的PCB是可以擋子彈的…
- 作為CCL中樹脂(以目前的M8/M9等級材料則為PPO或是Hydracarbon)的載體,與樹脂結合形成堅固的複合材料
- 提供尺寸穩定性,確保PCB在不同溫度和濕度環境下保持穩定的物理特性。所以…PTFE這種沒有玻璃纖維布的材料,是很難製作成高多層板的。
而玻纖布又分成很多種,常見的玻纖布類型有106、1035、1078、1080、2116、3313、7628等等,對於高速訊號使用的玻纖布通常為1035、1037、1078,而接近載板類別應用的還有1027甚至1010。

常見玻纖布規格的規範如下表格,對於高速訊號而言,總體規格分成兩種,厚度與Count/inch,要做到越薄的板層厚度,就需要像1035這種玻纖布,而Count/inch指的是每inch長度下,緯紗(又稱為Fill)與經紗(又稱為Warp)每束的數目,意指數字越大,經緯紗的數目越多,且每束的間距越小。

PCB玻纖布如何劣化SI
PCB玻璃纖維布採用經緯向交織的編織方式形成網狀結構,由玻璃纖維束與樹脂複合而成,無論是使用何種玻璃纖維布,玻璃纖維的介電常數(見表),明顯皆高於樹脂(DK約2.5-3.5),這種編織特性使得玻璃纖維束與樹脂區域交替分布的結構形成了介電常數不均勻的狀態。


電磁波的行進速度完全是與環境中的介電常數決定的,介電常數越大,則行進速度慢,反之介電常數小,波的行進速度就會快。
\large t_{pd}=\frac{c}{\sqrt{\epsilon_{r}}}
所以當兩條線看到不同的介質環境,電磁波傳遞速度一快一慢,就算設計上兩條線完全對稱、等長,還是會有PN Skew!
PN Skew對於SI的影響
這種編織結構上的不均勻性,會對高速訊號傳輸產生以下影響:
- 當差動對的訊號走線經過不同的玻璃纖維布區域時,P線和N線可能分別經過玻璃纖維密集區和樹脂密集區
- 由於介電常數的差異,兩條訊號線的傳播速度會產生差異,進而導致PN Skew的產生
PN Skew對於SI的影響或許從Insertion loss來看會比較直觀,我們可以透過一個相對簡單且直觀的數學公式來計算,並預測當差動對存在PN Skew時所會產生的Insertion Loss諧振點的頻率位置,在這個公式當中,tpd指的是PN Skew:
\large f_{0}=\frac{1}{2 \times t_{pd}}
所以當PN Skew越大,第一個諧振點就會發生在越低頻,透過模擬做比對,可以發現跟此公式大約差7%的頻率差異,此公式還算堪用:

從時域上來看,當Data Rate越拉越快時,這種由玻璃纖維布引起的Skew效應,將會佔比每單位時間長度UI越大,最終影響訊號完整性:

當Skew對於UI的佔比越大,其實就是Insertion loss的諧振點越低頻,對於眼圖的影響是非常巨大的:

如何解決由PCB玻纖布造成的高速差動對Skew問題?
要解決玻纖布造成的PN Skew方法蠻多的,不過還是一個前提得提醒各位,這種東西是隨機性發生,如開頭舉例的Case,也不是在所有板子都發生,只是設計不好的情況下,發生機率會較高,我們唯一能做的就是降低這個機率。
運用2張以上的玻纖布將樹脂孔隙填滿
這種做法的原理是透過多層玻纖布的交疊排列,讓原本單層玻纖布中較大的樹脂孔隙區域被第二層(2-ply)或第三層玻纖布(3-ply)的纖維束所填補,從而形成更均勻的介電常數分布。當差動對訊號線經過這種多層交疊的結構時,P線和N線所經過的介電環境會更加一致,減少因局部介電常數差異而產生的傳播速度不匹配現象,進而有效降低PN Skew的發生機率,提升高速訊號的傳輸品質。一般而言,2-ply即可有效改善PN Skew,用到3-ply的效果並不明顯,且PCB板厚會上升很大,會提升設計難度!

這種玻纖布產生的PN Skew是隨機發生的,透過這種方法,僅是降低PN Skew的發生概率,並沒辦法完全根除PN Skew:

很明顯看到2-ply的PN Skew的離群值較少:

PCB板轉角度
針對Fiber Weave造成的PN Skew問題,PCB板轉角度是一種有效的緩解方法。原理是透過旋轉PCB板或者說是讓板子跟水平(或垂直)走線有一個角度,讓差動對的走線以傾斜方式穿過玻璃纖維布的編織結構,使P線和N線能夠更平均地經過玻璃纖維束和樹脂區域,從而減少因介電常數不均勻而產生的傳播速度差異。
研究顯示,10度是最理想的旋轉角度,能夠最有效地抑制Fiber Weave效應。然而,這個方法在實際製造上面臨重大挑戰:10度的旋轉角度對於PCB拼板製程而言幾乎無法實現,即使技術上可行,其製造成本也會變得非常高昂。因此,雖然PCB板轉角度在理論上是一個優秀的解決方案,但在實際量產應用中需要在效果與成本之間做出權衡考量。


Zig-Zag
剛剛提到我們可以透過將走線轉角度去平均化兩條線看到玻纖布的面積,以減少時間差,其中又以10度角最佳。因此,下圖這種所謂Zig-Zag走線,就很適合用來解決Fiber Weave造成的PN Skew問題。
Zig-Zag走線的設計概念是讓差動對以規律的鋸齒狀路徑前進,透過週期性地改變走線方向,使P線和N線能夠交替經過玻璃纖維束和樹脂區域。這種設計方式讓兩條訊號線在整體路徑上所經過的介電環境更加均衡,有效降低因局部介電常數差異而產生的傳播速度不匹配。相較於PCB板旋轉10度的方法,Zig-Zag走線在製造上更容易實現,不需要改變整個PCB拼板的方向,只需要在Layout設計時對關鍵的差動對走線進行處理,對於量產更為簡單。

設計者可以自行選擇要走幾度角,一般而言10度角即可:

不過由於Zig-Zag走線有較多的轉折點,所以Return loss或是說訊號的反射會較差一些些,使用上還是要透過SI模擬先做設計上的確認,會較佳。
眼尖的你會發現,最重要的目的就是減少平行或垂直走線,以這個分析的case來看,PCIe Gen5在PN Skew大於4.2ps時,眼高會開始急劇下降,我們可以將這個轉折點視為PN Skew的極限,換算長度則為大約1.2inch。當然這是屬於非常Worst-case scenario的狀況,撇除這個不談,只要設計時控制好水平垂直走線的長度即可。

W+S = Pitch of Fiber Weave
這是我們認為最經濟實惠又非常有效的方法,就是將差動對兩條線的線寬與線距總和(也就是差動對兩條線間的Pitch)控制的跟玻纖布的Pitch一樣,這樣無論走線在玻纖布的哪裡,理論上兩條線看到的環境會趨近於一致,就可以完全消除玻纖布所帶來的影響。

而如果走線Pitch與玻纖布的Pitch不一致,那PN Skew就會很大,也很容易出現離群值。

做個實驗,以2116玻纖布為例,2116玻纖布的Pitch是緯向16.7mil(1/60inch),經向17.5mil(1/57inch),平均可以抓17mil。
第2個Case的差動對Pitch為17.2mil,非常接近17mil,所以測到的Skew最小。

最後再度提醒,Fiber Weave Skew Mitigation這件事,一定是隨機分佈,無論是跑模擬抑或是做測試,都要有好幾筆數據,並且做統計分析才有辦法完全得到真實現象,不是很好處理,最佳的處理方法我們認為就是W+S控制在玻纖布的Pitch左右,不過這會使得線寬距變得很大,不然就是減少平行長度,剩下的方法牽涉到成本管控,其實並不建議唷。
如果這篇文章對您有幫助,解決了您在訊號完整性SI與電源完整性PI上的疑惑,不妨點擊下方按鈕,請團隊們喝杯珍奶吧!您的每一份支持,都會是我們繼續研究與分享專業知識的最大動力!
想看更多訊號完整性與電源完整性的實戰分享?歡迎追蹤Facebook 粉絲專頁 訊號/電源完整性 學習瘋,以及我們的Substack
兩邊都追蹤以及訂閱起來,內容會稍有不同唷!


4 comments
第三個方法雖然很棒,但還是要考量到製程能力。
一般高速的訊號線也會有較高的TDR要求,如果設計的線寬限距有符合阻抗值那還可以
但如果沒有符合,那整段路徑就會是阻抗不連續
因此我覺得方法二是更不錯的選擇,但是要更多的空間去設計,以及如同作者所說的,也要考量到反射的問題
Goldenempirevn? Heard some good stuff, gonna check it out and see what the hype is all about! Maybe I’ll hit the jackpot. Check out goldenempirevn!
Wow! This could be one particular of the most helpful blogs We have ever arrive across on this subject. Basically Great. I am also a specialist in this topic so I can understand your effort.
Hi there! Do you know if they make any plugins to help with Search Engine Optimization? I’m trying to get my blog to rank for some targeted keywords but I’m not seeing very good success. If you know of any please share. Appreciate it!