Xilinx FPGA平台GTX简易使用教程(一)GTX基础知识
理解GTX的必備姿勢,學(xué)起來!
匯總篇:
Xilinx FPGA平臺GTX簡易使用教程(匯總篇)
目錄
一、什么是GTX?
?二、Quad/Channel
三、PMA與PCS
四、GTX收發(fā)處理流程
五、其他內(nèi)容
一、什么是GTX?
GT ?:Gigabit Transceiver千兆比特收發(fā)器;
GTX?:Xilinx 7系列FPGA的高速串行收發(fā)器,硬核
xilinx的7系列FPGA根據(jù)不同的器件類型,集成了GTP、GTX、GTH、GTZ四種串行高速收發(fā)器,可以支持多種協(xié)議如PCI Express,SATA,JESD204B等。
四種收發(fā)器主要區(qū)別是支持的線速率不同,下圖可以說明在7系列里面器件類型和支持的收發(fā)器類型以及最大的收發(fā)器數(shù)量。
?如我們常用的芯片 : 7K325TFFG900-2 ,集成了16個GTX。
如下圖,我的測試工程使用了1個GTX,可使用16個。
另外,下面還可以看到Cell Types:GTXE2_COMMON與GTXE2_CHANNEL,這個先混個眼熟,后面會繼續(xù)談到。
?二、Quad/Channel
我們先看一張GTX的結(jié)構(gòu)圖:(以7K325T為例)
?
Quad:4個GTX位1組,稱為Quad,也就是圖中標(biāo)記的大紅框。
從圖中可以看到,7K325T芯片共有4個Quad,也就是16個GTX。
我們繼續(xù)來看Quad的布局圖:
?簡單總結(jié)下:
Quad:
包含4個Channel(每個channel包含一個GTX),1個QPLL,2個差分輸入?yún)⒖紩r鐘;
QPLL :
也就是一個Quad共用的PLL,屬于GTXE2_COMMON;
?Channel:每個channel就是一個GTX,包含一個CPLL和一對收發(fā)器;
CPLL :?每個Channel獨有的PLL,屬于GTXE2_CHANNEL;
注:
CPLL最高支持線速6.x G,而QPLL則可超過10G;在通道線速較大(超過6.xGbps)時,IP會自動使用QPLL。
GTXE2_COMMON、GTXE2_CHANNEL :是Xilinx的器件原語(primitive),原語是Xilinx針對其器件特征開發(fā)的一系列常用模塊的名字,用戶可以將其看成Xilinx公司為用戶提供的庫函數(shù);原語類似最底層的描述方法,使用好處多多~
三、PMA與PCS
接上一節(jié),我們繼續(xù)看Channel的拓撲結(jié)構(gòu):
?????????看圖說話,發(fā)送端(TX)和接收端(RX)功能獨立,均由PMA和PCS兩個子層組成。
????????PMA:(Physical Media Attachment,物理媒介適配層)
????????PCS:(Physical Coding Sublayer,物理編碼子層)
????????其中PMA子層包含高速串并轉(zhuǎn)換(PISO)、預(yù)/后加重、接收均衡、時鐘發(fā)生器及時鐘恢復(fù)等電路。PCS子層包含8B/10B編解碼、緩沖區(qū)、通道綁定和時鐘修正等電路。這么來說,PMA是最基本的單位,負責(zé)模擬部分,而PCS主要負責(zé)并行的數(shù)字電路處理,理論上來說PCS完全可以由邏輯設(shè)計完成;但是硬核專用電路實現(xiàn)肯定功能更強大更穩(wěn)定!
四、GTX收發(fā)處理流程
????????GTX發(fā)送端處理流程:首先用戶邏輯數(shù)據(jù)經(jīng)過8B/10B編碼后,進入一個發(fā)送緩存區(qū)Phase Adjust FIFO,該緩沖區(qū)主要是PMA子層和PCS子層兩個時鐘域的時鐘隔離,解決兩者時鐘速率匹配和相位差異的問題,最后經(jīng)過高速Serdes進行并串轉(zhuǎn)換(PISO parallel-in serial-out),有必要的話,可以進行預(yù)加重、后加重(Pre/Post Emp)。值得一提的是,如果在PCB設(shè)計時不慎將TXP和TXN差分引腳交叉連接,則可以通過極性控制來彌補這個設(shè)計錯誤。
????????接收端和發(fā)送端過程相反,相似點較多,這里就不贅述了,需要注意的是RX接收端的彈性緩沖區(qū)(RX Elastic Buffer),其具有時鐘糾正和通道綁定功能。
五、其他內(nèi)容
介紹一些專用名詞和使用的技術(shù)。
?????????眼圖中顏色越藍的地方,BER 值越小,說明這個區(qū)域誤碼率越低,或者幾乎沒有誤碼率。顏色越紅,表示這個區(qū)域誤碼率越高。一般來講,這個眼圖的眼睛張的越開,說明數(shù)據(jù)傳輸信號越好。Link 的速度越低,對應(yīng)的眼圖也會更好,Link 的速度越高,對應(yīng)的眼圖會下降。
?3. 8b/10b
8b/10b編碼主要是為了解決直流平衡。也就是0/1數(shù)量的平衡。
優(yōu)點:具備錯誤檢測;
缺點:效率不高,具有20%開銷;因此出現(xiàn)了64b/66b編碼。
K28.5 :8b/10b編碼中常用k28.5來做K碼,對應(yīng)過來就是0xBC,主要用于接收數(shù)據(jù)對齊。
注:上述介紹均為簡單說明,可能不夠精確,有個概念就好。
2021-11-22日晚22:35分
狗命要緊,洗洗睡了!明天繼續(xù)《第二篇-時鐘與復(fù)位》
?
總結(jié)
以上是生活随笔為你收集整理的Xilinx FPGA平台GTX简易使用教程(一)GTX基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 06-maven的profile和Spr
- 下一篇: 什么是UN38.3认证_UN38.3测试