您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關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框圖的一個細化。下面給出各個模塊的定義。
可以包括其他可能的功能,例如循環冗余校驗(CRC)生成器,CRC檢查器,4b / 5b,8b / 10b,64b / 66b的多種編碼和解碼,可設置的加擾器,各種對齊方式和菊花鏈選項以及可配置時鐘的前端和后端。
下面列舉了兩家的吉比特收發器的架構,但本文暫時不做具體解釋,具體內容會在本系列的后面介紹。
為了簡化瀏覽,我們僅僅給出一個通道的Transceiver的結構(7系列FPGA為例):
Virtex?-II Pro X RocketIO? SERDES結構框圖:
Virtex-II Pro RocketIO SERDES結構框圖:
以上就是SERDES的通用結構是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。