0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA TX接口學(xué)習(xí)筆記

FPGA十年老鳥 ? 來源:FPGA十年老鳥 ? 2024-10-24 15:11 ? 次閱讀

一、前言

前面我們是站在時(shí)鐘的角度對(duì)通道進(jìn)行的分析,雖然也涉及了部分信號(hào)的處理,但并未深入,接下來我們將隨著信號(hào)流,來看看發(fā)送通道中依次進(jìn)行了一些什么處理。筆者從用戶手冊(cè)摘錄出了一些主要的處理模塊,包括FPGA發(fā)送接口模塊(FPGA TXInterface)、8B10B編碼模塊(8B10B Encoder)、發(fā)送變速箱模塊(TX Gearbox)、碼型生成器模塊(Pattern Generator)、相位調(diào)整FIFO模塊(Phase Adjust FIFO)、極性模塊(Polarity)等,如下圖所示,這些模塊是發(fā)送鏈路中最常用的模塊,如果讀者對(duì)其他模塊感興趣可以查閱用戶手冊(cè)。

0dda162c-91ad-11ef-a511-92fbcf53809c.png

二、FPGA TX接口

TX接口的端口形態(tài)與使用何種編碼形式有關(guān)。有三種選擇:8B10B編碼、發(fā)送變速箱(64B66B編碼、64B67B編碼)、或者無編碼,我們就按照三種情況來進(jìn)行說明。

1、使用8B10B編碼

使能8B10B編碼后,會(huì)啟用收發(fā)器中8B10B Encoder模塊,同時(shí)GTX原語有專門的8B10B編碼數(shù)據(jù)入口,如下表所示。

0dde95bc-91ad-11ef-a511-92fbcf53809c.png

但并不是所有的協(xié)議都需要用到這么寬的位寬,因此在收發(fā)器向?qū)P設(shè)置中,會(huì)將用戶實(shí)際需要使用的端口引出,剩下的bit位置為1’b0。實(shí)際使用位寬與收發(fā)器向?qū)P中的External Data Width配置有關(guān)。

0de9e5e8-91ad-11ef-a511-92fbcf53809c.png

例如上圖中External DataWidth設(shè)置為32bits時(shí),則只使用了TXDATA[31:0]和TXCHARISK[3:0],那么這部分端口會(huì)通過收發(fā)器向?qū)P引出,剩下的端口TXDATA[63:32]和TXCHARISK[7:4]所有位都會(huì)被置為0。

2、使用發(fā)送變速箱

如果需要使用發(fā)送變速箱,則表示使用了64B/66B 編碼或者64B/67B 編碼。這里使用更普遍的64B/66B 編碼為例。一些高速數(shù)據(jù)速率協(xié)議會(huì)使用 64B/66B 編碼來減少 8B/10B 編碼的開銷,同時(shí)保留編碼方案的優(yōu)點(diǎn)。

GTX原語有專門的64B/66B編碼數(shù)據(jù)入口,如下表所示。

0dfce332-91ad-11ef-a511-92fbcf53809c.png

當(dāng)使用TX變速箱數(shù)據(jù)入口時(shí), 需要遵循其時(shí)序要求。

當(dāng)使用64B/66B編碼時(shí),TXHEADER[1:0]同步頭必須是2’b01或者2’b10。而TXSEQUENCE [5:0]是一個(gè)0到32的循環(huán)累加數(shù)。并不是每一輪循環(huán)的每個(gè)時(shí)鐘周期的TXDATA都是有效的數(shù)據(jù),在TX_DATA_WIDTH 和TX_INT_DATAWIDTH 相同的模式下,數(shù)據(jù)暫停兩個(gè)TXUSRCLK2 周期;在TX_DATA_WIDTH 是TX_INT_DATAWIDTH 兩倍的模式下,數(shù)據(jù)暫停 1 個(gè) TXUSRCLK2 周期。有效數(shù)據(jù)傳輸在下一個(gè) TXUSRCLK2 周期恢復(fù)。如下表所示。

0e19a4a4-91ad-11ef-a511-92fbcf53809c.png

例如下圖配置時(shí),對(duì)應(yīng)上表中 TX_DATA_WIDTH = 64,以及TX_INT_DATAWIDTH = 1(4-byte)的情形,此時(shí)數(shù)據(jù)會(huì)在TXSEQUENCE = 32的時(shí)候暫停一個(gè)TXUSRCLK2 周期。

0e2833e8-91ad-11ef-a511-92fbcf53809c.png

發(fā)送數(shù)據(jù)輸入的時(shí)序圖如下圖所示。

0e334dc8-91ad-11ef-a511-92fbcf53809c.png

3、不使用編碼

不使用編碼的時(shí)候FPGA Interface Width(也即收發(fā)器向?qū)P中的External Data Width)可配置為16、20、32、40、64、80比特,數(shù)據(jù)入口如下表所示。

0e54bd6e-91ad-11ef-a511-92fbcf53809c.png

當(dāng)FPGAInterface Width設(shè)置為16/32/64的時(shí)候,則只需要使用TXDATA[63:0]端口即可,但如果FPGA Interface Width設(shè)置為20/40/80的時(shí)候,則需要使用到TXCHARDISPVAL和TXCHARDISPMODE端口來擴(kuò)展位寬,例如如下圖配置。

0e5f6ec6-91ad-11ef-a511-92fbcf53809c.png

數(shù)據(jù)位的對(duì)應(yīng)關(guān)系用代碼表示為:

assign TXDATA[7:0]                    = tx_data_in[7:0];
assign TXCHARDISPVAL[0]      = tx_data_in[8];
assign TXCHARDISPMODE [0] = tx_data_in[9];
assign TXDATA[15:8]                  = tx_data_in[17:10];
assign TXCHARDISPVAL[1]      = tx_data_in[18];
assign TXCHARDISPMODE [1] = tx_data_in[19];
assign TXDATA[23:16]                = tx_data_in[27:20];
assign TXCHARDISPVAL[2]      = tx_data_in[28];
assign TXCHARDISPMODE [2] = tx_data_in[29];
assign TXDATA[31:24]                = tx_data_in[37:30];
assign TXCHARDISPVAL[3]      = tx_data_in[38];
assign TXCHARDISPMODE [3] = tx_data_in[39];

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21567

    瀏覽量

    600560
  • 收發(fā)器
    +關(guān)注

    關(guān)注

    10

    文章

    3352

    瀏覽量

    105733
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8366

    瀏覽量

    150541
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2146

    瀏覽量

    120712

原文標(biāo)題:Xilinx 7系列FPGA收發(fā)器——9、發(fā)送鏈路的TX接口

文章出處:【微信號(hào):FPGA十年老鳥,微信公眾號(hào):FPGA十年老鳥】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA學(xué)習(xí)筆記-入門

    大概10年前,大學(xué)同學(xué)建議我學(xué)習(xí)DSP。當(dāng)因?yàn)楣ぷ髅Γ仓皇呛?jiǎn)單學(xué)習(xí)了DSP的一些基礎(chǔ)知識(shí),沒有進(jìn)一步深入學(xué)習(xí)和時(shí)間。結(jié)果現(xiàn)在,好像DSP已經(jīng)不再是主流了,現(xiàn)在有了FPGA。 現(xiàn)在想想
    發(fā)表于 04-09 10:55

    FPGA學(xué)習(xí)筆記-關(guān)于FPGA資源

    FPGA學(xué)習(xí)。 在學(xué)習(xí)中才發(fā)現(xiàn),FPGA遠(yuǎn)不是門電路那么簡(jiǎn)單。FPGA中有各種需要的資源,比如門電路、存儲(chǔ)單元、片內(nèi)RAM、嵌入式乘法器、
    發(fā)表于 05-22 18:27

    FPGA學(xué)習(xí)筆記匯總(7.13更新)

    又有好資料跟大家分享了,再次感謝樓主@oldbeginner {:4_114:}FPGA 學(xué)習(xí)筆記01 (LCD 1602,verilog)FPGA
    發(fā)表于 06-20 10:42

    入門 Z-turn Board 學(xué)習(xí)筆記(匯總ing)

    。以下是本人使用Z-turn Board的感受和筆記,分享給大家:Z-turn Board 學(xué)習(xí)筆記(1)---開箱Z-turn Board 學(xué)習(xí)
    發(fā)表于 07-06 11:54

    【有獎(jiǎng)活動(dòng)】芯航線FPGA學(xué)習(xí)平臺(tái)有獎(jiǎng)活動(dòng)第一季——看教程,秀筆記,贏好禮

    都是零散的分布在視頻的各個(gè)時(shí)間點(diǎn)。因此,要想能夠?qū)W有所得,最好的方式就是在學(xué)習(xí)的過程中邊學(xué)習(xí)邊做筆記。因此,有獎(jiǎng)活動(dòng)第一波主題就是:看教程,秀筆記,贏好禮。 活動(dòng)參與方式:以【芯航線
    發(fā)表于 10-21 15:28

    【技術(shù)經(jīng)典下載】《深入淺出玩轉(zhuǎn)FPGA》-珍貴的學(xué)習(xí)經(jīng)驗(yàn)和筆記

    `簡(jiǎn)介:《深入淺出玩轉(zhuǎn)FPGA》收集整理了作者在FPGA學(xué)習(xí)和實(shí)踐中的經(jīng)驗(yàn)點(diǎn)滴。書中既有日常的學(xué)習(xí)筆記,對(duì)一些常用設(shè)計(jì)技巧和方法進(jìn)行深入探討
    發(fā)表于 06-15 17:46

    想要免費(fèi)領(lǐng)取FPGA學(xué)習(xí)資料嗎?視頻課程,論文,學(xué)習(xí)筆記,書籍樣樣都有!

    近期許多用戶希望學(xué)院可以分享一些FPGA學(xué)習(xí)資料,綜合了大家的意見,今天特意為大家整理了一份FPGA資料大禮包,這里面包含了視頻課程,論文,學(xué)習(xí)
    發(fā)表于 08-22 10:11

    想要免費(fèi)領(lǐng)取FPGA學(xué)習(xí)資料嗎?視頻課程,論文,學(xué)習(xí)筆記,書籍樣樣都有??!

    面包含了視頻課程,論文,學(xué)習(xí)筆記,書籍這幾個(gè)類別!先給大家看下目錄~!如何免費(fèi)領(lǐng)取這些資料?掃碼進(jìn)群,參與活動(dòng),即可免費(fèi)領(lǐng)取哦~更多資料請(qǐng)進(jìn)群領(lǐng)取掃碼失敗,添加微信:mlajsw96FPGA培訓(xùn)課程
    發(fā)表于 08-22 10:18

    求大佬分享Can通信接口學(xué)習(xí)筆記

    求大佬分享Can通信接口學(xué)習(xí)筆記
    發(fā)表于 02-11 07:45

    基于FPGA的LVDS接口應(yīng)用

    介紹了LVDS技術(shù)的原理,對(duì)LVDS接口在高速數(shù)據(jù)傳輸系統(tǒng)中的應(yīng)用做了簡(jiǎn)要的分析,著重介紹了基于FPGA的LVDS_TX模塊的應(yīng)用,并通過其在DAC系統(tǒng)中的應(yīng)用實(shí)驗(yàn)進(jìn)一步說明了LVDS接口
    發(fā)表于 01-11 10:46 ?101次下載
    基于<b class='flag-5'>FPGA</b>的LVDS<b class='flag-5'>接口</b>應(yīng)用

    如何學(xué)習(xí)FPGA學(xué)習(xí)FPGA的詳細(xì)經(jīng)驗(yàn)有哪些階段

    學(xué)習(xí)FPGA我主要經(jīng)歷了這么幾個(gè)階段: ①、Verilog語言的學(xué)習(xí),熟悉Verilog語言的各種語法。 ②、FPGA學(xué)習(xí),熟悉Qua
    發(fā)表于 10-25 18:01 ?30次下載

    FPGA作為ARM的SDRAM使用的LPC3250與FPGA接口程序

    FPGA作為ARM的SDRAM使用的LPC3250與FPGA接口程序(華為嵌入式開發(fā)工程師拉勾網(wǎng))-FPGA作為ARM的SDRAM使用的LPC3250與
    發(fā)表于 08-04 12:09 ?22次下載
    <b class='flag-5'>FPGA</b>作為ARM的SDRAM使用的LPC3250與<b class='flag-5'>FPGA</b><b class='flag-5'>接口</b>程序

    Altera FPGA CPLD學(xué)習(xí)筆記

    Altera FPGA CPLD學(xué)習(xí)筆記(肇慶理士電源技術(shù)有限)-Altera FPGA CPLD學(xué)習(xí)
    發(fā)表于 09-18 10:54 ?82次下載
    Altera <b class='flag-5'>FPGA</b> CPLD<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>

    Can通信接口學(xué)習(xí)筆記

    Can通信接口學(xué)習(xí)筆記
    發(fā)表于 12-08 16:36 ?26次下載
    Can通信<b class='flag-5'>接口</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>

    INTEL FPGA學(xué)習(xí)筆記

    INTEL FPGA學(xué)習(xí)筆記第12節(jié):語法篇_Verilog基礎(chǔ)語法第13節(jié):語法篇_Verilog程序框架第14節(jié):語法篇_Verilog高級(jí)知識(shí)點(diǎn)第15節(jié):語法篇_Verilog狀態(tài)機(jī)第16節(jié)
    發(fā)表于 12-31 19:54 ?15次下載
    INTEL <b class='flag-5'>FPGA</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>