理解GTX的必備姿勢,學(xué)起來!
一、什么是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個(gè)GTX。
如下圖,我的測試工程使用了1個(gè)GTX,可使用16個(gè)。
另外,下面還可以看到Cell Types:GTXE2_COMMON與GTXE2_CHANNEL,這個(gè)先混個(gè)眼熟,后面會(huì)繼續(xù)談到。
二、Quad/Channel
我們先看一張GTX的結(jié)構(gòu)圖:(以7K325T為例)
Quad:4個(gè)GTX位1組,稱為Quad,也就是圖中標(biāo)記的大紅框。
從圖中可以看到,7K325T芯片共有4個(gè)Quad,也就是16個(gè)GTX。
我們繼續(xù)來看Quad的布局圖:
簡單總結(jié)下:
Quad:
包含4個(gè)Channel(每個(gè)channel包含一個(gè)GTX),1個(gè)QPLL,2個(gè)差分輸入?yún)⒖?a href="http://hljzzgx.com/tags/時(shí)鐘/" target="_blank">時(shí)鐘;
QPLL :
也就是一個(gè)Quad共用的PLL,屬于GTXE2_COMMON;
Channel:每個(gè)channel就是一個(gè)GTX,包含一個(gè)CPLL和一對(duì)收發(fā)器;
CPLL : 每個(gè)Channel獨(dú)有的PLL,屬于GTXE2_CHANNEL;
注:
CPLL最高支持線速6.x G,而QPLL則可超過10G;在通道線速較大(超過6.xGbps)時(shí),IP會(huì)自動(dòng)使用QPLL。
GTXE2_COMMON、GTXE2_CHANNEL :是Xilinx的器件原語(primitive),原語是Xilinx針對(duì)其器件特征開發(fā)的一系列常用模塊的名字,用戶可以將其看成Xilinx公司為用戶提供的庫函數(shù);原語類似最底層的描述方法,使用好處多多~
三、PMA與PCS
接上一節(jié),我們繼續(xù)看Channel的拓?fù)浣Y(jié)構(gòu):
看圖說話,發(fā)送端(TX)和接收端(RX)功能獨(dú)立,均由PMA和PCS兩個(gè)子層組成。
PMA:(Physical Media Attachment,物理媒介適配層)
PCS:(Physical Coding Sublayer,物理編碼子層)
其中PMA子層包含高速串并轉(zhuǎn)換(PISO)、預(yù)/后加重、接收均衡、時(shí)鐘發(fā)生器及時(shí)鐘恢復(fù)等電路。PCS子層包含8B/10B編解碼、緩沖區(qū)、通道綁定和時(shí)鐘修正等電路。這么來說,PMA是最基本的單位,負(fù)責(zé)模擬部分,而PCS主要負(fù)責(zé)并行的數(shù)字電路處理,理論上來說PCS完全可以由邏輯設(shè)計(jì)完成;但是硬核專用電路實(shí)現(xiàn)肯定功能更強(qiáng)大更穩(wěn)定!
四、GTX收發(fā)處理流程
GTX發(fā)送端處理流程:首先用戶邏輯數(shù)據(jù)經(jīng)過8B/10B編碼后,進(jìn)入一個(gè)發(fā)送緩存區(qū)Phase Adjust FIFO,該緩沖區(qū)主要是PMA子層和PCS子層兩個(gè)時(shí)鐘域的時(shí)鐘隔離,解決兩者時(shí)鐘速率匹配和相位差異的問題,最后經(jīng)過高速Serdes進(jìn)行并串轉(zhuǎn)換(PISO parallel-in serial-out),有必要的話,可以進(jìn)行預(yù)加重、后加重(Pre/Post Emp)。值得一提的是,如果在PCB設(shè)計(jì)時(shí)不慎將TXP和TXN差分引腳交叉連接,則可以通過極性控制來彌補(bǔ)這個(gè)設(shè)計(jì)錯(cuò)誤。
接收端和發(fā)送端過程相反,相似點(diǎn)較多,這里就不贅述了,需要注意的是RX接收端的彈性緩沖區(qū)(RX Elastic Buffer),其具有時(shí)鐘糾正和通道綁定功能。
五、其他內(nèi)容
介紹一些專用名詞和使用的技術(shù)。
1. PRBS :偽隨機(jī)序列碼,在一定程度的隨機(jī)數(shù),使用PRBS這種偽隨機(jī)碼進(jìn)行高速串行通道的測試,主要是測試誤碼率的情況。
2. ibert:GTX輔助IP核,集成式比特誤碼率測試儀,是Xilinx專門用于具有高速串行接口的 FPGA 芯片的調(diào)試和交互式配置工具。放一張測試眼圖吧:(1.25Gbps)
眼圖中顏色越藍(lán)的地方,BER 值越小,說明這個(gè)區(qū)域誤碼率越低,或者幾乎沒有誤碼率。顏色越紅,表示這個(gè)區(qū)域誤碼率越高。一般來講,這個(gè)眼圖的眼睛張的越開,說明數(shù)據(jù)傳輸信號(hào)越好。Link 的速度越低,對(duì)應(yīng)的眼圖也會(huì)更好,Link 的速度越高,對(duì)應(yīng)的眼圖會(huì)下降。
3. 8b/10b
8b/10b編碼主要是為了解決直流平衡。也就是0/1數(shù)量的平衡。
優(yōu)點(diǎn):具備錯(cuò)誤檢測;
缺點(diǎn):效率不高,具有20%開銷;因此出現(xiàn)了64b/66b編碼。
K28.5 :8b/10b編碼中常用k28.5來做K碼,對(duì)應(yīng)過來就是0xBC,主要用于接收數(shù)據(jù)對(duì)齊。
注:上述介紹均為簡單說明,可能不夠精確,有個(gè)概念就好。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602977 -
收發(fā)器
+關(guān)注
關(guān)注
10文章
3424瀏覽量
105959 -
Xilinx
+關(guān)注
關(guān)注
71文章
2167瀏覽量
121299
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論