AssetBundle使用,卸載,校驗
1418
2025-04-01
文章目錄
前言
SERDES的基本構造
SERDES的通用框圖
市場上的SERDES或Transceiver展示
Xilinx的Transceiver架構展示
Altera的SERDES介紹
往期回顧
參考文章
前言
上一篇文檔,介紹了MGTs,我們知道它的一個別名為SERDES,就是如此,這篇文章我們來談一下通用的SERDES架構。無論是X家的Transceiver還是A家的SERDES,或者其他什么家的某某吉比特收發器,原理其實都是大同小異,離不開一些共同的結構。
最后我們也會同時展示大家常用的SERDES或者Transceiver的結構,它們通常都是通用架構的擴展。
SERDES的基本構造
簡單說來,SERDES的基本框圖如下:
大概就是由發送線,接收線,串行化模塊核解串行化模塊,時鐘管理模塊,編碼解碼模塊,發射接收緩沖模塊(FIFO)以及Alignment模塊。
其實還有一個由用戶根據接口協議的具體內容而自定制的用戶邏輯模塊,用來產生發送數據以及解析接收數據,這是唯一用戶可以靈活處理的地方,也是邏輯工程師可以進行電路設計(Verilog設計)的地方。
其中,發送線即圖中tx Line interface以及接收線(Rx Line Interface)是與外部芯片進行交互的串行線路,具體可以分別由一對或者多對差分信號線組成。一般而言,1對稱之為X1模式,2對X2,以此類推,n對即Xn。這類差分信號線越多,傳輸數據的帶寬就越大,假如一對差分信號線的傳輸帶寬為3.125Gbps,則n對為n*3.125Gbps。
串行化模塊(Serializer)即并串轉換(PISO)模塊,用戶邏輯產生待發送數據,經過8B/10B編碼或者其他類型的編碼,加擾,進入緩沖區等待操作,最終經過并串轉換模塊,轉換成串行數據通過發送線發送出去。
同理,解串行化模塊(Deserializer)是串行化模塊的逆過程,就是將串行差分線接收的串行數據經過串并轉換(SIPO)模塊轉換為并行數據,之后經過解碼,解擾,等操作后的并行數據,交給用戶接口,用戶進行對該并行數據進行解析。
為什么會有上圖中的Transmit and Receiver buffers/FIFO呢?
該模塊的一個最重要的作用就是進行跨時鐘域轉換!由于SERDES中涉及的時鐘不只有一個,拿我們的Xilinx的Transceiver的一個通道的發射部分而言,如下圖:
可以暫時不用管其他部分,關于Xilinx家的Transceiver,后續文章我會專門介紹。
我們僅僅看它的時鐘域劃分就知道,為什么存在跨時鐘域處理這回事了。
上圖中的Phase Adjust FIFO的作用就是通用SERDES中的Transmit and Receiver Buffers/FIFO的具體設計,解決的問題就是要在兩個時鐘域之間傳輸數據,必須進行速率匹配,并且要解決兩個時鐘域之間的所有相位差,簡單來說,就是跨時鐘域處理。
跨時鐘域處理中,FIFO是兩個不同時鐘域之間數據傳輸的最常用的處理方式,這無論在什么時候都是筆試面試的重點,我在學生時期準備過相關的內容,見:
FPGA基礎知識極簡教程(7)詳解亞穩態與跨時鐘域傳輸
至于時鐘管理模塊,那就很明顯了,它管理了各種時鐘的問題,包括時鐘分頻倍頻以及時鐘恢復等。
上面對SERDES的一般架構進行了簡單的口述,好像沒什么條理,下面給出一個通用的SERDES框圖,并對各模塊進行簡單定義。
SERDES的通用框圖
如下圖,為SERDES的通用框圖,它是對上一節中的SERDES框圖的一個細化。下面給出各個模塊的定義。
串行器(Serializer):獲取n位并行數據,其速率為y,然后將它轉化為串行數據流,速率為y的n倍;
解串器(Deserializer):以n的y的速率獲取串行數據流,并將其轉換為速率為y的寬度為n的并行數據;
接收對齊(Rx (Receive) Align):Rx(接收)對齊:將輸入的數據對齊到適當的字界??梢允褂脦追N不同的機制,從自動檢測和對齊一個特殊的保留位序列(通常稱為Comma)到用戶控制的位滑移;
時鐘管理器(Clock Manager):管理各種時鐘需求,包括時鐘倍頻,時鐘分頻和時鐘恢復;
發送FIFO(Transmit FIFO):允許在發送之前存儲傳入的用戶數據;
接收FIFO(Receive FIFO):允許在刪除之前存儲接收到的數據(緩存數據);在需要時鐘校正的系統中至關重要;
接收線接口:模擬接收電路包括差分接收器,并且可以包括有源或無源均衡;
發送線接口:模擬發射電路通常允許不同的驅動強度。它還可以允許預加重發射;
Line Encoder:將數據編碼為更友好的數據格式。這通常涉及消除長序列的不變位??赡苓€會調整數 據,以實現一平衡和零平衡。 (這是一個可選塊,有時不包含在SERDES中。);
線路解碼器:從線路編碼數據解碼為純數據。 (這是一個可選塊,有時在SERDES之外完成。);
時鐘校正和通道綁定:允許校正發送時鐘和接收時鐘之間的差異。還允許在多個通道之間進行偏斜校正。 (通道綁定是可選的,并不總是包含在SERDES中。)
可以包括其他可能的功能,例如循環冗余校驗(CRC)生成器,CRC檢查器,4b / 5b,8b / 10b,64b / 66b的多種編碼和解碼,可設置的加擾器,各種對齊方式和菊花鏈選項以及可配置時鐘的前端和后端。
市場上的SERDES或Transceiver展示
下面列舉了兩家的吉比特收發器的架構,但本文暫時不做具體解釋,具體內容會在本系列的后面介紹。
為了簡化瀏覽,我們僅僅給出一個通道的Transceiver的結構(7系列FPGA為例):
Virtex?-II Pro X RocketIO? SERDES結構框圖:
Virtex-II Pro RocketIO SERDES結構框圖:
往期回顧
高速串行總線設計基礎(一)同步時序模型介紹
高速串行總線設計基礎(二)什么是MGTs以及MGTs的優勢在哪里?
更新中,敬請期待!
參考文章
UG476
UltraScale Architecture GTH Transceivers
FPGA基礎知識極簡教程(7)詳解亞穩態與跨時鐘域傳輸
注:本系列文章首發易百納技術社區:高速串行總線設計基礎(三)SERDES的通用結構介紹
單片機
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。