本文開源一個FPGA項目:UDP萬兆光通信。該項目實現(xiàn)了萬兆光纖以太網(wǎng)數(shù)據(jù)回環(huán)傳輸功能。Vivado工程代碼結(jié)構(gòu)和之前開源的《UDP RGMII千兆以太網(wǎng)》類似,只不過萬兆以太網(wǎng)是調(diào)用了Xilinx的10G Ethernet Subsystem IP核實現(xiàn)。由于該IP核需要付費使用,本文提供完整工程源碼。
下面圍繞該IP核的使用、用戶接口,以及數(shù)據(jù)傳輸方案展開介紹。
01軟硬件平臺
- 軟件平臺:Vivado 2017.4;
- 硬件平臺:XC7Z035FFG676-2;
02IP核參數(shù)配置
AXI4-Stream數(shù)據(jù)位寬 : 選擇64bits。對應(yīng)的用戶接口時鐘頻率為156.25MHZ。
MAC Options : 選擇使用AXI-Lite接口對IP核寄存器進行配置,同時需要設(shè)置時鐘頻率,這里設(shè)置為100MHZ(該設(shè)置僅對IP核out-of-context模式的綜合有效);不使用參數(shù)統(tǒng)計和優(yōu)先級流量控制功能。
PCS/PMA Options: 配置GTX動態(tài)重配置端口DRP時鐘為100MHZ(該設(shè)置同樣僅對IP核out-of-context模式的綜合有效);不使用Transceiver Debug功能。
IEEE1588 Options: IEEE1588功能一般用于某些需要進行網(wǎng)絡(luò)時間同步的場合,例如音(視)頻傳輸。在本項目中只是進行數(shù)據(jù)傳輸,因此可以不選擇使用。
Shared Logic: 由于在此項目Vivado工程中只需例化一個該IP核,因此這里選擇Include Shared Logic in core,將共享資源包含在IP內(nèi)部即可。如果需要例化多個該IP核,只需將其中一個IP核配置為Include Shared Logic in core,其余的都配置為Include Shared Logic in example design。
03用戶接口
- AXI-Stream發(fā)送接口
用戶通過該接口將要發(fā)送的以太網(wǎng)數(shù)據(jù)包寫入IP核。另外,由tx_ifg_delay接口控制發(fā)送間隔,將其配置為0即可。AXI-Stream發(fā)送接口時序如下圖所示。
- AXI-Stream接收接口
用戶通過該接口讀取IP核輸出的以太網(wǎng)數(shù)據(jù)包。AXI-Stream接收接口時序如下圖所示。
- Pcspma-Status接口
該接口用于輸出IP核內(nèi)部PCS PMA部分工作狀態(tài),在該工程中只有第0bit有效,用于指示PCS Block Lock。
- Sim-Speed-Up接口
該接口只在仿真時會用到,用于加快仿真速度,在該工程中將其設(shè)置為0即可。
- Optical模塊接口
signal_detect:光模塊狀態(tài)指示信號,配置為1;
tx_fault:光模塊狀態(tài)指示信號,配置為0;
tx_disable:輸出光模塊控制信號。
- Flow-Control接口
在高帶寬、大負荷傳輸場合,一般需要流量控制功能。在該工程不需要發(fā)送暫停幀,因此將以下兩個信號設(shè)置為0。
s_axis_pause_tvalid & s_axis_pause_tdata。
- AXI-Lite接口
該接口用于讀寫IP核內(nèi)部寄存器,通過對IP核各參數(shù)進行配置,以實現(xiàn)基本的以太網(wǎng)數(shù)據(jù)包收發(fā)功能。
04數(shù)據(jù)傳輸方案及測試
該項目的功能主要用于實現(xiàn)萬兆以太網(wǎng)光纖數(shù)據(jù)回環(huán)傳輸,在電腦端通過網(wǎng)絡(luò)調(diào)試助手向FPGA發(fā)送數(shù)據(jù)包,F(xiàn)PGA端接收、緩存數(shù)據(jù)包后回傳給上位機。以太網(wǎng)數(shù)據(jù)回環(huán)傳輸方案如下圖所示。
其中,時鐘為156.25MHZ,數(shù)據(jù)位寬為64bits。在UDP IP核和10G Ethernet Subsystem IP核之間,通過插入FIFO實現(xiàn)對每包以太網(wǎng)數(shù)據(jù)流的緩存功能。
利用wireshark軟件抓取PC端和FPGA端之間以太網(wǎng)雙向傳輸數(shù)據(jù)包,結(jié)果如下圖所示。
-
FPGA
+關(guān)注
關(guān)注
1620文章
21510瀏覽量
598906 -
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5288瀏覽量
169653 -
UDP
+關(guān)注
關(guān)注
0文章
317瀏覽量
33801 -
光通信
+關(guān)注
關(guān)注
19文章
848瀏覽量
33879 -
IP核
+關(guān)注
關(guān)注
4文章
318瀏覽量
49268
發(fā)布評論請先 登錄
相關(guān)推薦
評論