Home 訊號完整性 設計看似完美卻測不過?Intra-Pair Skew 是「訊號完整性(Signal Integrity)」裡最隱形的殺手

設計看似完美卻測不過?Intra-Pair Skew 是「訊號完整性(Signal Integrity)」裡最隱形的殺手

by 柑仔店

各位不知道有沒有遇過,一對很長的差分走線,看起來很正常,但是測試結果偶爾會fail偶爾會pass,不像是軟體問題,也不像是製程問題。看了一下Layout,發現阻抗匹配控制的非常好,TDR測試也顯示阻抗好棒棒,雖然線是長了點,但是損耗還是有不少Margin。那…為什麼會有問題?

如果您遇到過,那恭喜您,這應該是PCB玻璃纖維造成的Intra-Pair Skew,而導致差動對P/N兩條線有著時間差。在差動對的理論基礎上,開宗明義就有提到,兩條線必須等長,或說是相等時間差,才會是完美的差動訊號。如果這個時間差,或說是delay,兩兩不一致,則所引起的訊號損耗會變的過大以及產生難以控制的共模效應(Common-mode)。

本週,我們來看看何謂Differential Pair Intra-Pair Skew,這個Skew到底是怎樣影響我們的通道設計!

回顧一下差動對理論

在高速訊號傳輸的設計中,差動對(Differential Pair)是一種非常常見的走線方式,這種走線方式雖然犧牲的一倍的走線面積,但是換來對於高速訊號干擾的抵抗性。而要達到一個良好的差動對設計,「等長」這件事幾乎是SI與Layout兩個團隊的基本功。那到底為什麼差動對要等長?原

Differential Intra-pair skew,指的就是在差動對裡,正負訊號線之間出現的「延遲時間差」。差動對是兩條走線成對一起運作,傳輸同一組訊號,不過一條走的是正訊號,另一條則是相反方向的負訊號。這兩條訊號必須保持高度同步,才能在接收端被正確還原回原始訊號。簡單來說,原本應該同時到達的兩條訊號線,卻有人先跑、有人後到,這種「步調不一致」就叫做 skew。在高速數據傳輸中,哪怕只是微小的延遲偏移或是訊號的「錯開」,都可能左右訊號的完整性。

當Skew變大時,訊號波形的形變也會變得更嚴重!

當Skew越來越大時,眼圖隨之變差!

發生Intra-Pair Skew造成的狀況

Intra-Pair Skew發生時,會有以下幾個負面影響:

  • 損耗變大,產生高頻諧振點
  • 產生共模效應,降低差動特性
  • 隨著Data Rate上升,Skew對於UI佔比越來越大,導致訊號嚴重失真

以下我們一個一個來解析!

Skew使得高頻損耗變的更嚴重

Skew會帶來高頻諧振,如果要知道對於損耗的影響範圍,我們可以來計算這個諧振點的發生頻率:

首先,我們先假設一個複數傳輸函數\( H(f) \)

\( \large H(f)=\left | H(f)\right |e^{j\theta (f)} \)

其中,\( \left | H(f)\right | \)表示DUT的幅度響應,而\( \theta(f) \)則為其相位響應。

相位響應可以進一步定義為:

\( \large \theta(f)=-2\pi\times f \times\Delta t(f) \)

這裡的\( \Delta t(f) \)是傳輸函數的相位延遲,因此可以根據相位響應直接反推得到相位延遲:

\( \large \Delta t(f)=-\frac{\theta(f)}{2\pi f} \)

而我們就可以得到這個諧振頻率點:

\( \large f=\frac{1}{2\Delta tpd} \)

也就是說,Skew越小,諧振點就越高頻,且這個諧振點會在奇數倍數頻率出現,假設1GHz有諧振點,則3GHz、5GHz、7GHz也會出現諧振點。

接著我們可以透過這個公式,計算不同Skew時間下,諧振點的頻率,並與實際SI模擬的頻率點做比對看看這個公式有沒有效。可以發現,公式與模擬的諧振頻率,大概差了7%,公式計算得到的頻率會較低一些,但是整體而言還算可以接受!

從實測的結果我們也可以發現這不是紙上談兵,一個10G-KR的通道,原本設計的Loss好好的,可以通過這條黑色的Spec,可是當我們刻意將skew調整至13ps(兩條線大約差70mil),Loss在30GHz之後直接往下跑,超出Spec,以我們的計算12.7ps大約是42GHz,從這個實測結果來看,應該是可以對得上的對吧!

Skew導致Common-Mode Noise上升

我們在看系統級的差動對特性時,最先關注的通常是Differential Return Loss(Sdd11)和Differential Insertion Loss(Sdd21),再來可能根據Crosstalk是否嚴重而去關注Sdd31 and Sdd41,比較少會去關注共模特性。

P.S. 如果是Connector與Cable廠商則例外,這些零組件牽扯到對機台外部的連接,可能會有EMI的問題,因此對於共模很關注。一些規範也都有針對這些零組件有Scd的要求。

可是其實Common-mode noise是非常重要的。我們可以從Scd這個參數來判斷,到底這個通道設計有多少的不平衡(unbalance)效應。越大的Unbalance,表示越多的Common-mode noise,表示這個差動對設計越不好,通常表示的是Skew越大!

從這張圖可以清楚地看出,Common-mode noise(ACCM)會隨Skew變大而變大:

一樣透過實測數據讓大家對於Skew造成的負面性應更加明瞭,Skew越大則Common-mode noise越慘呀!

IEEE 802.3ck針對MTF(Mated Test Fixture)的Scd(與Sdc相同)的規範:

Skew的時間占比隨著Data Rate變快,而越來越大

最後,我們簡單討論下時序方面的問題。

首先,我們來聊聊什麼是 UI(Unit Interval)。它是高速訊號設計中最小的時間單位,意思就是:一個「0」或「1」所佔據的時間長度,就叫做一個 UI。

這個單位要怎麼算呢?其實很簡單,就是把 Data Rate 取倒數。比如說,如果你設計的是一個 10G的通道,那它的 UI 就是 1 / 10G,也就是 100ps。也就是說,在 10G 的速度下,每個 bit 的時間長度就是 100ps。不管這個 bit 是 0 還是 1,都只會佔用 100ps 的時間,不會更短了。

而一個UI內的波形不能失真過多,否則Receiver會無法判別此波形是0或1,這就是我們在探討訊號完整性的初衷。

很多問題都會導致一個UI的波形變差,Loss、Reflection、Crosstalk、Jitter、還有我們今天要強調的“Skew”。其實每個參數都會對訊號品質有所貢獻,當Data Rate還沒有很高時,絕大多數都是Loss、Reflection、Jitter在搞鬼。但隨著傳輸速度越來越快,像是現在主流的 112G,甚至是最新的 224G,很多以往「可以忍耐的小問題」都開始變成「致命傷」。舉個例子來說,在 224G 的速度下,一個 UI 的長度大約只有 8.9ps。如果你的設計中出現 1ps 的 Skew,那就等於讓整個 UI 失真了 11%!這還只是Skew的貢獻,還沒加上材料損耗、阻抗不連續、反射等其他破壞因素。所以呀,Skew這件事情真的很需要被放在心上!

通常會發生Intra-Pair Skew的情況

基本上,只要設計者不惡搞,例如故意把線長不等長,故意亂拉走線的話,Intra-Pair skew通常會發生在以下這些情況:

  • Trace Length Mismatch(發生機率低)
  • PCB玻璃纖維效應(Fiber Weave)
  • Cable

Trace Length Mismatch

我們最前面提到,差動對我們會在Layout上讓兩條線盡可能等長,拜現在Layout軟體進步所賜,56G-PAM4的速度以上,物理長度的Skew已經可以控制在1mil以內。

這種線長的不匹配通常來自於轉折處,由於外圈會比內圈走得還遠,所以內圈的走線就得額外拉長,以匹配線長。

相信業界最有名的莫過於Intel在用的3W2S rule,也就是在差動對去做等長設計時,短的那條線進行繞線補償時,補償的高度和寬度的定義,3W指的是兩個凸包的距離為3倍的線寬W(B=D=F=3W),2S是指凸包最遠的位置與另外一條線距離為2倍的差動對間距S(S1=2S)。

我們在SI這條路上已經遇到太多人跟我們說,要照Intel這條設計準則走,人家是測試過的,一定要照這條做,不然會有問題。恩…講真的,對於SI而言,我們對這個規則是不太關注的,不是說Intel的這條準則有問題,而是,我們相信一條規則是無法適用到全部的高速訊號設計上。每個設計有不同的疊構、材料、線長、Data Rate等等,真的可以這麼簡單用一條準則來設計?

要知道當紅炸子雞,nVIDIA推崇的設計是完全不一樣喔,那…兩者衝突,您要選誰?

各有門派,我們也不多做討論,我們的做法是Case by Case,試著透過模擬方法找出最佳的設計,例如這個Case,我們討論3W2S、3W2.5S、2W2.5S,發現2W2.5S有著較好的阻抗匹配,設計上我們當然選擇它!

PCB Fiber Weave

PCB的玻璃纖維效應,這主要來自於CCL材料裡頭的玻璃纖維與樹脂的介電常數(DK)不同所導致。CCL材料裡頭的玻璃纖維主要強化材料的剛性,跟織衣服類似,會有經向(Warp)與緯向(Weft)。像下圖,編織成品會留下一個一個洞,這個洞就是樹脂的位置。而傳統玻纖(E-Glass)的介電常數大約是6,樹脂的介電常數是3.5,兩者合起來就接近4.4,這樣可以理解為什麼傳統FR4材料的DK是4.4了吧!

由於材料內的DK有落差,會使得差動對兩條線”可能”參考到不同的DK,兩條線的訊號傳遞速率會變得不一樣,越大的DK則訊號傳遞速率會變慢,而導致兩條線到Receiver時會有Skew產生。

\( \large v=\frac{c}{\sqrt{{\varepsilon {r}}}} \)

而且,很討厭的是,因為Fiber weave產生的Skew,還是隨機出現的。因為,每張板子的每個位子的玻纖是不同的,所以就算是一樣的走線,在每批料之間也是不一樣的狀況,所以文章開頭我們才會說,各位有沒有遇過隨機發生的狀況!

這邊我們介紹一個常見的做法,以減少玻璃纖維造成的Skew效應。透過將CCL疊兩層,或稱2ply,將樹脂的孔洞變小,從數據來看可以很明顯看到Skew會更加集中在較小的範圍,不像1ply那樣,會有一些離散數據落在較大的skew值。

Cable

我們在這邊介紹過Cable已經成為現在機台內部連接一個重要的關鍵零組件,nVIDIA的GB200 NVL36/72都用了Flyover cable以減少PCB走線帶來的損耗。

對於損耗控制上,Cable的確有著非常好的特性,可是在製造上,由於傳統的Twinax cable除了兩根訊號線外,還會再塞入GND pin,這個GND pin可以用來抑制EMI。可是由於製造的tolerance,當這根GND pin位置偏掉,靠得離某根訊號線太近,則會引起PN unbalance,skew就會出現,common-mode noise也隨之發生。(有興趣可以參考這裡)

再加上,Cable絕對是需要彎折的,在彎折的時候,兩條線的電磁場可能就沒辦法保持恆定,進而導致Skew的產生!

所以在高速訊號SI分析上,我們就得分析不同的skew差異對於通道的影響是什麼,嘗試找出Worst-case,以滿足大量量產的系統可靠度!說實在話,真的是件大工程!

You may also like

Leave a Comment