pcie 發展歷程
pcie 當今的發展狀況如何?pci sig 在 2017 年 9 月批准了 pcie gen4 規範 1.0 版。pcie gen5 規範已在 2018 年 4 月底公升級到 0.7 版,並預計在 2018 年 9 月發布 0.9 版。與 gen4 相比,gen5 規範的發展更加迅速。如今,大部分新的設計活動仍以 pcie gen3 或 gen4 為中心,現在深入** pcie gen5 設計還為時過早,所以目前我們將繼續基於 pcie gen3 和 gen4 進行**。
在深入**之前,我要指出 pcie gen4 的乙個有益特性,那就是它的時鐘抖動計算與 gen3 相同。唯一的區別在於 pcie gen4 的抖動限值為 500fs rms,而 gen3 是 1ps rms。這意味著如果您使用 pcie gen3 的計算方法來計算時鐘抖動,並且得到的結果低於 500fs rms,那麼您就可以作為時鐘使用pcie gen4 。
pcie 時鐘 vs. 網路時鐘
我們首先從常用的 12khz-20mhz 磚牆式濾波器開始,它時常與相位雜訊分析儀 (pna) 一起用於測量網路時鐘,見圖 1。線性縱座標以 dbc/hz 為單位(每個頻率下的載波分貝),對數橫座標以 hz 為單位。對於 pcie 時鐘,載波是 100mhz 的時鐘。而乙太網時鐘通常使用 156.25mhz 的頻率。
由簡要檢查可知,12khz 和 20mhz 間的「通頻帶」內無衰減,如 0dbc 的水平線所示。12khz 和 20mhz 處的垂直線完全衰減了通頻帶外的頻率。我們將這種垂直線稱之為「磚牆式」濾波器。這意味著抖動計算能夠包含通頻帶區域內的所有雜訊且排除通頻帶外的所有雜訊。這種濾波器對通頻帶內的所有雜訊內容具有同樣的敏感度。
圖 2 所示的是計算抖動前應用於 pcie 時鐘抖動的濾波器組合。pcie gen3 和 gen4 時鐘抖動是應用 64 個濾波器組合後獲得的最差值。這個最差值必須低於規範限值。
由圖 2 可知,與圖 1 中的 12khz-20mhz 濾波器存在顯著區別。最明顯的區別是沒有「磚牆」。並且在 1mhz 以下存在每十倍頻程 20db 的衰減。(說明:十倍頻程是用對數尺度表達的 10 次冪[104 到 105,105 到 106])。這種衰減適用於共用時鐘系統,因為我們假定低頻雜訊是常見的,而且我們指定所有 pll (時鐘 pll 和 tx/rx pll )來跟蹤它。這意味著 pcie gen3 和 gen4 與網路系統相比,共用時鐘系統對低頻時鐘抖動不太敏感。此外,這也是為什麼對於共用時鐘系統,優異的 pcie 時鐘一般擁有相對較高的 12khz-20mhz 的相位抖動。這也是為什麼為共用時鐘系統指定的時鐘一般不能用於單獨的時鐘系統。(我們將在以後發表的文章中**這個話題)。
下乙個注意事項是 1mhz 以上的大部分雜訊都能通過濾波器。實際上濾波器在 1mhz 以上時相當平坦。這意味著 pcie gen3 和 gen4 通用時鐘時序對高於 1mhz 的抖動最為敏感。
pcie 時鐘抖動測量和網路時鐘抖動測量間的另乙個顯著差異在圖 2 中並不明顯。我們使用數字取樣示波器 (dso) 而非 pna 獲取時鐘週期或波形檔案來計算 pcie 時鐘抖動。主要原因是因為 pcie 時鐘支援擴頻,但網路時鐘不支援。而且傳統上 pna 不能與在擴頻狀態的時鐘共同工作。
根據奈奎斯特定理 (nyquist),訊號取樣能混疊所有資訊直至 f/2。那麼對於 100mhz 的 pcie 時鐘,這意味著從 dso 取得的檔案包含了高達 50mhz 的有用資訊。此外,這也意味著根據從 dso 獲取的資料進行的 pcie 時鐘抖動計算能一直計算到 50mhz。雖然在 1mhz 以上的濾波器大致在 -20dbc ,pcie gen3 和 gen4 共用時鐘抖動最敏感的範圍是從 1mhz 一直到 50mhz ,如圖 3 所示。
你真的了解Java嗎?
三目運算子規則 如果第二個和第三個運算元具有相同的型別,那麼它就是條件表示式的類 型。換句話說,你可以通過繞過混合型別的計算來避免 煩。如果乙個運算元的型別是 t,t 表示 byte short 或 char,而另乙個運算元是乙個 int 型別的常量表示式,它的值是可以用型別 t 表示的,那麼條件表...
你真的了解sizeof 麼?
sizeof並不是c語言和c 語言中的乙個函式,而是乙個關鍵字,乙個操作符。它的作用是返回乙個物件或者型別名的長度,也就是說這個物件或者型別所佔的記憶體位元組數。它的返回值型別為size t usinged int 長度的單位是位元組。1 對基本資料型別運用sizeof操作,得到其占用記憶體的位元組...
你真的了解restful api嗎?
在以前,乙個 的完成總是 all in one 頁面,資料,渲染全部在服務端完成,這樣做的最大的弊端是後期維護,擴充套件極其痛苦,開發人員必須同時具備前後端知識。於是慢慢的後來興起了前後端分離的思想 後端負責資料編造,而前端則負責資料渲染,前端靜態頁面呼叫指定api獲取到有固定格式的資料,再將資料展...