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

各位不知道有沒有遇過,一對很長的差分走線,看起來很正常,但是測試結果偶爾會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)

H(f)=|H(f)|ejθ(f)

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

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

θ(f)=?2π×f×Δt(f)

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

Δt(f)=?θ(f)2πf

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

f=12Δ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產生。

v=cε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,以滿足大量量產的系統可靠度! 說實在話,真的是件大工程!

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77322.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77322.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77322.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

介紹常用的退燒與消炎藥

每年春夏交替之季,是感冒發燒、咳嗽、咽喉腫痛、支氣管炎、扁桃體炎的高發期。在家里或公司,常備幾種預防感冒發燒、咳嗽、流鼻涕、咽喉發炎的藥品,是非常必要的。下面介紹幾款效果非常明顯的中成藥、西藥,具體如下。 1 蓮芝消炎…

Redis為什么不直接使用C語言中的字符串?

因為C語言字符串存在問題: 獲取字符串長度需要進行運算(獲取字符串長度需要遍歷整個字符串,直到遇到終止符 \0,時間復雜度為 O(n))非二進制安全(結束標識符\0可能在一些二進制格式的數據處理時字符串時產生錯誤)不可修…

直線模組精度測試的標準是什么?

直線模組的精度測試是確保其性能和穩定性的重要環節。那么,大家知道直線模組精度測試的標準是什么嗎? 1、定位精度:以最大行程為基準長度,用從基準位置開始實際移動的距離與指令值之間的最大誤差的絕對值來表示。一般來說&#xf…

開源AI視頻FramePack發布:6GB顯卡本地運行

您現在可以在自己的筆記本電腦上免費生成完整的離線AI視頻。 只有GPU和純粹的創造力。 這到底是什么? 一個名為FramePack的新型離線AI視頻生成器幾天前在GitHub上發布 — 幾乎沒人在談論它。這很奇怪,因為這個工具真的很厲害。 它允許您從靜態圖像和提示詞在自己的機器上…

Tailwind CSS 實戰:基于 Kooboo 構建個人博客頁面

在現代 web 開發中,Tailwind CSS 作為一款實用優先的 CSS 框架,能讓開發者迅速搭建出具有良好視覺效果的頁面;Kooboo 則是一個強大的快速開發平臺,提供了便捷的頁面管理和數據處理功能。本文將詳細介紹如何結合 Tailwind CSS 和 K…

嵌入式面試核心考點:從 C 語言基礎到芯片資源深度剖析

嵌入式系統開發涉及知識面廣,面試題常涵蓋 C 語言基礎、Linux 操作、內存管理、通信協議等。本文針對常見面試題,逐題解析,助力新手系統掌握核心知識點。 1. 用預處理指令交換兩個參數的值 在 C 語言中,我們可以利用預處理指令 …

Java 程序運行和類路徑處理

PS D:\java_test> java .\java\Dog 錯誤: 找不到或無法加載主類 .\java\Dog 原因: java.lang.ClassNotFoundException: /\java\DogJava 程序運行和類路徑處理 問題描述 在運行 Java 程序時,可能會遇到 ClassNotFoundException 錯誤,這是因為 Java 虛…

測試OMS(訂單管理系統)時,對Elasticsearch(ES)數據和算法數據進行測試(如何測試幾百萬條數據)

1. 測試目標 在測試OMS中的ES數據和算法數據時,主要目標包括: 數據完整性 數據完整性:確保所有需要的數據都被正確采集、存儲和索引。 數據準確性:確保數據內容正確無誤,符合業務邏輯。 性能:確保系統在處…

19.【.NET 8 實戰--孢子記賬--從單體到微服務--轉向微服務】--單體轉微服務--當前項目拆分規劃

隨著業務規模的不斷擴大和系統復雜度的提升,孢子記賬系統需要進行微服務架構的轉型。本文將詳細規劃從單體應用向微服務架構遷移的具體方案,包括功能模塊分析、服務拆分、技術選型以及實施步驟等內容。通過合理的服務拆分和架構設計,未來我們…

Eigen稀疏矩陣類 (SparseMatrix)

1. SparseMatrix 核心屬性與初始化 模板參數 cpp SparseMatrix<Scalar, Options, StorageIndex> Scalar&#xff1a;數據類型&#xff08;如 double, float&#xff09;。 Options&#xff1a;存儲格式&#xff08;默認 ColMajor&#xff0c;可選 RowMajor&#xff0…

如何監控和分析MySQL數據庫的性能?

文章目錄 前言1.環境配置2. 使用 MySQL 自帶工具SHOW STATUS 命令SHOW PROCESSLIST 命令EXPLAIN 命令 3. 開啟慢查詢日志操作步驟 4. 使用第三方監控工具MySQL Enterprise MonitorPercona ToolkitNagiosZabbix 5. 分析系統資源使用情況工具及方法 前言 要監控和分析 MySQL 數據…

高中數學聯賽模擬試題精選第17套幾何題

在四邊形 A B C D ABCD ABCD 中, A B A D AB AD ABAD, B C ⊥ A B BC \perp AB BC⊥AB, ∠ D C B \angle DCB ∠DCB 的平分線與 A B AB AB 交于 E E E, 過點 A A A 且垂直于 C D CD CD 的直線與 D E DE DE 交于 F F F, M M M 是 B D BD BD 的中點. 求證: F M ∥…

ZYNQ筆記(十三):雙核 AMP 通信實驗

版本&#xff1a;Vivado2020.2&#xff08;Vitis&#xff09; ZYNQ 裸機雙核 AMP 實驗&#xff1a; CPU0 接收串口的數據&#xff0c;并寫入 OCM 中&#xff0c;然后利用軟件產生中斷觸發 CPU1&#xff1b;CPU1 接收到中斷后&#xff0c;根據從 OCM 中讀出的數據控制呼吸燈的頻…

桌面端開發技術棧選型:開啟高效開發之旅

在數字化浪潮中&#xff0c;桌面端應用依然占據重要地位&#xff0c;而選擇合適的技術棧是打造優質桌面端應用的關鍵一步。以下是多種主流桌面端開發技術棧的介紹與對比&#xff0c;希望能為大家提供有價值的參考。 基于 Web 技術的跨平臺框架 ? Electron&#xff1a; ? 特…

C++ 的 輸入輸出流(I/O Streams)

什么是輸入輸出流 C 的輸入輸出操作是通過 流&#xff08;stream&#xff09; 機制實現的。 流——就是數據的流動通道&#xff0c;比如&#xff1a; 輸入流&#xff1a;從設備&#xff08;如鍵盤、文件&#xff09;讀取數據 → 程序 輸出流&#xff1a;程序將數據寫入設備&…

軟件測評中心如何保障軟件質量與安全性?

軟件測評中心是一個專注于保障軟件質量、穩定性和安全性的專業機構。在整個軟件的生命周期中&#xff0c;它扮演著極其關鍵的角色。它運用科學的方法和嚴格的準則&#xff0c;對軟件進行全面而細致的檢測和評估&#xff0c;確保用戶獲得可靠的保障。 測評核心工作 軟件測評中…

論人際關系發展的階段

朋友關系的建立和發展是一個漸進的過程&#xff0c;通常需要經歷情感積累、信任磨合和價值觀融合等階段。以下是朋友關系發展的詳細階段劃分及核心特征&#xff1a; 一、表層接觸階段&#xff08;社交試探期&#xff09; 核心特征&#xff1a;以信息交換為主&#xff0c;關系停…

網絡IP沖突的成因與解決方案

網絡IP沖突的成因與解決方案 一、IP沖突的常見現象與危害二、IP沖突的常見原因三、6種實用解決方案四、預防IP沖突的4個最佳實踐五、總結 前言 肝文不易&#xff0c;點個免費的贊和關注&#xff0c;有錯誤的地方請指出&#xff0c;看個人主頁有驚喜。 作者&#xff1a;神的孩子…

前端節流、防抖函數

節流 什么是節流&#xff1f; 節流就是同一個事件 一秒鐘他執行了很多次。但是我不想他執行這么多次&#xff0c;我只想讓他執行一次 或者兩次。 那該怎么辦&#xff1f; why baby why 那我想就是他執行的時候 我就設置一個定時器&#xff0c;如果定時器是空的&#xff0c;等會…

LeetCode第171題_Excel表列序號

LeetCode 第171題&#xff1a;Excel表列序號 題目描述 給你一個字符串 columnTitle&#xff0c;表示 Excel 表格中的列名稱。返回 該列名稱對應的列序號。 例如&#xff1a; A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...難度 簡單 題目鏈…