Xilinx JESD204B數據手冊的理解


提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

JESD204接口調試總結——Xilinx JESD204B數據手冊的理解


時鍾架構

設計中采用如下圖所示時鍾設計圖,主要是refclk和coreclk分開的
在這里插入圖片描述

圖 3-1 顯示了最通用和最靈活的時鍾方案,其中使用單獨的 refclk 和 glblclk 輸入分別提供收發器參考時鍾和內核時鍾。 通過這種配置,參考時鍾和內核時鍾是物理上獨立的時鍾,可以在獨立的頻率下運行,沒有額外的限制。 參考時鍾可以在收發器限制范圍內的任何頻率運行,以選擇線路速率。 內核時鍾始終以所需的速率運行(串行線路速率的 1/40)

Reference Clock ——給JESDPHY的參考時鍾 —— JESD204_PHY 中的 GTP/GTX/GTH/GTY 串行收發器需要穩定、低抖動的參考時鍾,該參考時鍾具有與器件和速度等級相關的范圍。 在某些情況下,為內核時鍾和參考時鍾使用相同的時鍾頻率或源可能是有利的。 然而,這可能並不總是實用的。 了解對參考時鍾和內核時鍾施加的限制以及系統級含義(例如 SYSREF/SYNC 的同步捕獲以實現子類 1 或 2 確定性延遲)非常重要。

Coreclk ——JESD204 內核使用 32 位(4 字節)數據路徑運行。 核心時鍾頻率始終是線路速率除以 40。例如,對於 6.25 Gbs 的串行線路速率,核心時鍾頻率為 156.25 MHz。 AXI 流 RX 和 TX 數據接口在此內核時鍾頻率下運行
AXI4-Lite Interface Clock ——內核通過 AXI4-Lite 處理器接口進行配置和監控。 此接口的時鍾是獨立於內核時鍾或參考時鍾的時鍾。 該時鍾與核心時鍾或參考時鍾之間沒有任何依賴關系
Drp_clk ——DRP 時鍾。 基於 UltraScale 架構的設備需要一個自由運行的 DRP 時鍾,這個時鍾可以和AXI4-Lite接口時鍾使用同一個

在JESDPHY的模塊中
同時輸入了Refclk 和core_clk,說明JESDPHY與JESD 204B CORE之間的數據交互都是在core_clk的時鍾域下,JESDPHY內部已經做好了serdes內部時鍾和core_clk的時鍾域轉換

Subclass 1

子類 1 通過使用公共 SYSREF 信號支持確定性延遲。 SYSREF 信號在內核外部生成,並分配給系統中的所有設備。 JESD204B 標准允許 SYSREF 為“一次性”、周期性或間隙周期性。 內核能夠使用這些選擇中的任何一個進行操作。 可靠捕獲 SYSREF 的時序和時鍾要求是實現可靠確定性延遲的關鍵

SYSREF Sampling Clock Edge

SYSREF的采樣邊沿選用上升沿和下降沿也是有講究的。
IP核可以配置是coreclk的上升沿采樣sysref還是下降沿采樣sysref。默認的設置是下降沿采樣,這是基於SYSREF和給到core的時鍾是同步的假設。因此在IO管腳處SYSREF和CORECLK的上升沿是對齊的。且一般sysref是源時鍾的分頻。因此下降沿提供了最好的時序余量。

在這里插入圖片描述

在我們的設計中,sysref都是coreclk進行分頻產生的,那么下降沿采樣肯定是必選的了

確定性時延

確定性時延時怎么來的,先要理解下面這張圖。

在這里插入圖片描述
SYSREF:作為Tx Device和Rx Device共用的參考信號,用於產生LMFC(Local Multiframe Clock)信號(我覺得與其說它是一個CLOCK,不如說它是一個脈沖合適)。
實際上是有一個LMFC的計數器。這個計數器在檢測SYSREF的邊沿(上升沿或者下降沿,我們這里是下降沿)對LMFC進行復位,如果2 octets一個幀(F = 2),16幀一個多幀(M = 16),那么則32(MF)個octets一個多幀,一個多幀定義為32個octets,那么LMFC計數器則會在0-7之間循環計數(5 core_clk cycles - 20 octets; 8clk – 32 octets)。每次記一個周期時,LMFC則會產生一個脈沖。

下面我為了增強理解重新畫了一遍上圖

在這里插入圖片描述

1、我們假設sysref到接收和發射端距離是一樣的,那么收發兩端的LMFC counter和pulse相差不大。(左綠線)
2、同時我們假設LANE1的線短,LANE2的線長,那么LANE1的數據先於LANE2到達(接收端LANE1率先出現了R字符)
3、因為接收端每個有RX BUFFER,只要這個BUFFER的容量大於兩條LANE線長的差即可補償線距離不同造成的時延不同
4、兩個LANE都已經接收到R的情況下,有LMFC觸發,兩個LANE的buffer同時從R處釋放數據(右綠線)

5、LMFC counter實際時序不一定如我所畫的,但大致應該就是這個意思,可以作為理解用
6、LANE1延遲了20字節,LANE2延遲了10個字節,這就是2個lane的確定性時延,每次上電將都是這樣。通過接收SYSREF位置的調整(SYSREF DELAY),可以減小兩個lane的確定性時延

SYSREF Delay

JESD204B 標准中定義的確定性延遲機制要求多幀大小大於鏈路上的最大可能延遲。 在實踐中,這很難實現,特別是對於幀比較小的情況。 但是,只要多幀大小大於鏈路上延遲的最大變化,就可以實現確定性延遲
當最大延遲變化導致整體延遲跨越兩個相鄰 LMFC 周期之間的邊界時,就會出現潛在問題。 在這種情況下,可以在系統重新啟動之間觀察到恰好一個 LMFC 周期的延遲變化。 應計算整體系統延遲(請參閱 RX 端到端延遲或 TX 端到端延遲)以確定這是否是可能的情況。
在出現這種情況的情況下,TX 或 RX 設備中的 LMFC 邊界可以通過向其中一個設備中的 SYSREF 添加額外延遲來相對於彼此移動。 Xilinx JESD204 內核通過允許內部 SYSREF 處理邏輯中的額外延遲來支持內部 LMFC 的這種移位。 這是使用 SYSREF 處理寄存器中的 SYSREF 延遲字段編程的,允許在 SYSREF 事件檢測和 LMFC 計數器復位之間插入 0 到 15 個內核時鍾周期的延遲。 SYSREF 延遲值的變化需要內核復位以強制鏈路重新對齊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM