一、相關簡介
Xilinx的高速接口稱之為transceivers(高速收發器),這部分的電路是專用電路,供電等都是獨立的,根據速率可以分為GTP/GTX/GTH/GTY/GTM等。
Xilinx的高速接口是QUAD為單位的,沒一個QUAD由一個時鐘COMMON資源(里面有兩個用于鏈路的QPLL),4對收發器channel(好一點的channel中有CPLL)組成一個quad。對應結構如下:
對應到channel的內部結構如下:對于收端和發端均由物理編碼子層PCS和主要負責光電轉換的PMA層構成,具體二者內部硬件結構如下:
TX channel:
Fpga parallel clock txusrclk2 是 FPGA 用戶邏輯使用的時鐘;
PCS parallel clock TXUSRCLK 是物理編碼層使用的時鐘, 這里如果物理編碼層和用戶層位寬一樣, 這樣 TXUSRCLK 會和 TXUSRCLK2 時鐘頻率。
PMA Parallel clock XCLK 是物理媒介層時鐘;
TX Serial Clock 是串行時鐘, 是端口串行速率的一半, 原因是上升沿和下降沿都發送數據。
RX channel:
FPGA parallel clock RXUSRCLK2 是給 RX 端用戶的接收數據的同步時鐘。
PCS parallel clock RXUSRCLK 是物理編碼層的時鐘。
PMA parallel clock XCLK 物理媒介層時鐘。
RX serial clock 接收端串行信號時鐘。
二、高速接口測試軟件IBERT的使用
IBERT 軟件主要用于測試高速接口的傳輸性能。
一般可測試四種場景:
1. 近端 PCS 回環可以自己收發回環—板內自回環
2. 近端 PMA 回環可以自己收發回環—板內自回環
3. 遠端 PCS 回環(需要有個數據源連接)—板間
4. 遠端 PMA 回環(需要有個數據源連接)—板間
三、建立ibert測試工程
建立工程,添加ibert ip,對應的ip配置如下:
注意:這個參考時鐘的選擇要對應專用bank。經查數據手冊,參考時鐘0對應125MHz。
接收時鐘選用外部系統時鐘200MHz:
生成對應的example,將sfp_tx_disable引腳置0,下載對應的bitstream,即可觀測到回環成功的眼圖,外部連接及測試結果圖如下。
ibert最方便的地方在于:能夠測試不同輸入預加重等情況下的最佳眼圖,這里測試了81種情況,能夠找到最優配置的情況,測試眼圖如下: