国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持

這篇具有很好參考價(jià)值的文章主要介紹了FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


FPGA高端項(xiàng)目:純verilog的 UDP 協(xié)議棧,提供11套工程源碼和技術(shù)支持

1、前言

目前網(wǎng)上的fpga實(shí)現(xiàn)udp基本生態(tài)如下:
1:verilog編寫的udp收發(fā)器,但中間的FIFO或者RAM等調(diào)用了IP,或者不帶ping功能,這樣的代碼功能正常也能用,但不帶ping功能基本就是廢物,在實(shí)際項(xiàng)目中不會(huì)用這樣的代碼,試想,多機(jī)互聯(lián),出現(xiàn)了問題,你的網(wǎng)卡都不帶ping功能,連基本的問題排查機(jī)制都不具備,這樣的代碼誰敢用?
2:帶ping功能的udp收發(fā)器,代碼優(yōu)秀也好用,但基本不開源,不會(huì)提供源碼給你,這樣的代碼也有不足,那就是出了問題不知道怎么排查,畢竟你沒有源碼,無可奈何;
3:使用了Xilinx的Tri Mode Ethernet MAC三速網(wǎng)IP實(shí)現(xiàn),這樣的代碼也很優(yōu)秀,但還是那個(gè)問題,沒有源碼,且三速網(wǎng)IP需要licence,三速網(wǎng)IP實(shí)現(xiàn)了rgmii到gmii再到axis的轉(zhuǎn)換;
4:使用FPGA的GTX資源利用SFP光口實(shí)現(xiàn)UDP,通信,這種方案不需要外接網(wǎng)絡(luò)變壓器即可完成;
5:真正意義上的verilog實(shí)現(xiàn)的UDP協(xié)議棧,真正意義上的verilog實(shí)現(xiàn)意思是UDP協(xié)議棧全部代碼均使用verilog代碼,不適用任何IP核,包括FIFO、RAM等,這樣的UDP協(xié)議棧移植性很強(qiáng),這樣的協(xié)議棧在市面上也很少,幾乎很難得到,而很設(shè)計(jì)就是這樣的協(xié)議棧,呵呵。。。

本設(shè)計(jì)使用純verilog實(shí)現(xiàn)的UDP協(xié)議棧實(shí)現(xiàn)UDP回環(huán)通信測(cè)試,之所以只用到了數(shù)據(jù)回環(huán)模式,是因?yàn)楸驹O(shè)計(jì)旨在為用戶提供一個(gè)可任意移植修改的UDP協(xié)議棧架構(gòu),用戶可通過此架構(gòu)任意創(chuàng)建自己的項(xiàng)目,自由度和開放性極強(qiáng);基于市面上主流和占有率較高的FPGA器件,創(chuàng)建了11套工程源碼,F(xiàn)PGA器件適用于Xilinx和Altera,開發(fā)工具適用于Xilinx的vivado和Altera的Quartus,網(wǎng)絡(luò)PHY芯片支持MII、GMII、RGMII、SGMII等,11套工程源碼詳情如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
本設(shè)計(jì)經(jīng)過反復(fù)大量測(cè)試穩(wěn)定可靠,可在項(xiàng)目中直接移植使用,工程代碼可綜合編譯上板調(diào)試,可直接項(xiàng)目移植,適用于在校學(xué)生、研究生項(xiàng)目開發(fā),也適用于在職工程師做項(xiàng)目開發(fā),可應(yīng)用于醫(yī)療、軍工等行業(yè)的數(shù)字通信領(lǐng)域;
提供完整的、跑通的工程源碼和技術(shù)支持;
工程源碼和技術(shù)支持的獲取方式放在了文章末尾,請(qǐng)耐心看到最后;

免責(zé)聲明

本工程及其源碼即有自己寫的一部分,也有網(wǎng)絡(luò)公開渠道獲取的一部分(包括CSDN、Xilinx官網(wǎng)、Altera官網(wǎng)等等),若大佬們覺得有所冒犯,請(qǐng)私信批評(píng)教育;基于此,本工程及其源碼僅限于讀者或粉絲個(gè)人學(xué)習(xí)和研究,禁止用于商業(yè)用途,若由于讀者或粉絲自身原因用于商業(yè)用途所導(dǎo)致的法律問題,與本博客及博主無關(guān),請(qǐng)謹(jǐn)慎使用。。。

更新說明

這個(gè)UDP協(xié)議棧是真的好用,忍不住移植了多個(gè)平臺(tái)的FPGA和多種型號(hào)的PHY,代碼層面并沒有更新,但增加了多種移植方案,數(shù)據(jù)總計(jì)多達(dá)11個(gè),后續(xù)還將繼續(xù)更新,敬請(qǐng)期待;

2、相關(guān)方案推薦

我這里已有的以太網(wǎng)方案

目前我這里有大量UDP協(xié)議的工程源碼,包括UDP數(shù)據(jù)回環(huán),視頻傳輸,AD采集傳輸?shù)龋灿蠺CP協(xié)議的工程,對(duì)網(wǎng)絡(luò)通信有需求的兄弟可以去看看:直接點(diǎn)擊前往

本協(xié)議棧的 10G-UDP版本

本UDP協(xié)議棧支持1G、10G、25G速率,本文介紹的是1G速率的應(yīng)用,之前寫過一篇博客介紹本協(xié)議棧10G速率的應(yīng)用,在10G模式下,基于市面上主流和占有率較高的FPGA器件,創(chuàng)建了7套工程源碼,F(xiàn)PGA器件適用于Xilinx,開發(fā)工具適用于Xilinx的vivado,高速接口資源使用到了GTH、GTY、10G Ethernet PCS/PMA(10GBASE-R/KR)等,對(duì)10G UDP網(wǎng)絡(luò)通信有需求的兄弟可以去看看:
直接點(diǎn)擊前往

本協(xié)議棧的 25G-UDP版本

本UDP協(xié)議棧支持1G、10G、25G速率,本文介紹的是1G速率的應(yīng)用,之前寫過一篇博客介紹本協(xié)議棧25G速率的應(yīng)用,在25G模式下,基于市面上主流和占有率較高的FPGA器件,創(chuàng)建了1套工程源碼,F(xiàn)PGA器件適用于Xilinx,開發(fā)工具適用于Xilinx的vivado,高速接口資源使用到了GTY,對(duì)25G UDP網(wǎng)絡(luò)通信有需求的兄弟可以去看看:
直接點(diǎn)擊前往

1G 千兆網(wǎng) TCP–>服務(wù)器 方案

TCP分為服務(wù)器和客戶端,兩者代碼是不一樣的,看具體需求,既然本博客介紹的是TCP客戶端,那么肯定就有TCP服務(wù)器,本來TCP服務(wù)器之前一直都有,但一直沒有調(diào)通,經(jīng)過兩年半的練習(xí)調(diào)試,總算是調(diào)通了;TCP服務(wù)器依然是4套工程源碼,我另外寫了一篇博客介紹TCP服務(wù)器,感興趣的朋友可以去看看:直接點(diǎn)擊前往

1G 千兆網(wǎng) TCP–>客戶端 方案

TCP分為服務(wù)器和客戶端,兩者代碼是不一樣的,看具體需求,既然本博客介紹的是TCP服務(wù)器,那么肯定就有TCP客戶端,本來TCP客戶端之前一直都有,但一直沒有調(diào)通,經(jīng)過兩年半的練習(xí)調(diào)試,總算是調(diào)通了;TCP客戶端依然是4套工程源碼,我另外寫了一篇博客介紹TCP客戶端,感興趣的朋友可以去看看:直接點(diǎn)擊前往

10G 萬兆網(wǎng) TCP–>服務(wù)器+客戶端 方案

我這里也有10G 萬兆網(wǎng) TCP 方案,該方案有服務(wù)器和客戶端兩套代碼,在Xilinx KU和KUP等平臺(tái)測(cè)試通過并很穩(wěn)定,對(duì)10G 萬兆網(wǎng) TCP 方案感興趣的朋友可以去看看:直接點(diǎn)擊前往

3、該UDP協(xié)議棧性能

1:純verilog實(shí)現(xiàn),沒有用到任何一個(gè)IP核;
2:移植性天花板,該協(xié)議??稍赬ilinx、Altera等各大FPGA型號(hào)之間任意移植,因?yàn)槭菦]有任何IP,源語也有參數(shù)可選擇;
3:適應(yīng)性強(qiáng),目前已在RTL8211、B50610、88E1518等多款phy上成功測(cè)試,也可以用GT資源的SFP接口實(shí)現(xiàn)UDP協(xié)議的以太網(wǎng)通信;支持MII、GMII、RGMII、SGMII等PHY接口;
4:時(shí)序收斂很到位;
5:動(dòng)態(tài)ARP功能;
6:不帶ping功能;
7:MAC層RGMII轉(zhuǎn)GMII后由AXIS接口輸出,完全可以替代Xilinx的Tri Mode Ethernet MAC IP核;
8:最高支持25G速率,本設(shè)計(jì)使用1G;

4、詳細(xì)設(shè)計(jì)方案

設(shè)計(jì)架構(gòu)框圖

詳細(xì)設(shè)計(jì)方案如下框圖:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
這只是一個(gè)總體架構(gòu),不同的工程可能在框圖中并不一致,具體參考代碼;

網(wǎng)絡(luò)調(diào)試助手

這只是一個(gè)回環(huán)測(cè)試工具,常用的Win軟件,用來測(cè)試UDP數(shù)據(jù)收發(fā);無需多言;

網(wǎng)絡(luò)PHY

本設(shè)計(jì)一共設(shè)計(jì)了11套工程,以適應(yīng)不同的網(wǎng)絡(luò)PHY芯片型號(hào)以及對(duì)應(yīng)的接口模式,詳情如下:
RTL8211E、RTL8211FD:有RGMII接口的工程;
88E1111:有RGMII、GMII、SGMII接口的工程;
88E1518:有RGMII接口的工程;
B50610:有RGMII接口的工程;
PEF7071:有RGMII接口的工程;
DP83848J:有MII接口的工程;

IDELAYE源語

這是Xilinx系列FPGA特有的功能模塊,目的是為接收的PHY數(shù)據(jù)進(jìn)行延時(shí)和對(duì)齊,采用了 IDELAYE源語,該源語在不同的FPGA器件上略有差異,本設(shè)計(jì)中的A7、K7、Zynq用的是IDELAYE2;IDELAYE2源語需要與IDELAYCTRL一起搭配使用,需要參考時(shí)鐘200M;代碼部分如下:例化位置在fpga.v;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

MAC層

MAC層由verilog代碼實(shí)現(xiàn),沒有使用任何IP,但是用到了相關(guān)源語,Xilinx系列FPGA為IDDR、ODDR;Altera系列FPGA為
altddio_in、altddio_out;MAC層實(shí)現(xiàn)的功能有兩個(gè),一是對(duì)PHY側(cè)的數(shù)據(jù)進(jìn)行處理,接收端為雙時(shí)鐘沿?cái)?shù)據(jù)解為單時(shí)鐘沿?cái)?shù)據(jù)并對(duì)齊,發(fā)送則相反;二是實(shí)現(xiàn)PHY側(cè)和用戶側(cè)的數(shù)據(jù)格式轉(zhuǎn)換并進(jìn)行CRC8校驗(yàn),接收端為將PHY側(cè)的并行數(shù)據(jù)轉(zhuǎn)換為用戶側(cè)的AXI4-Stream數(shù)據(jù)流,發(fā)送則相反;代碼位置如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

AXI4-Stream FIFO

網(wǎng)絡(luò)數(shù)據(jù)經(jīng)過MAC層以后,輸出的是AXI4-Stream數(shù)據(jù)流,如果直接將數(shù)據(jù)送入U(xiǎn)DP協(xié)議棧,有數(shù)據(jù)沖突的風(fēng)險(xiǎn),為了降低這種風(fēng)險(xiǎn),使用純verilog實(shí)現(xiàn)的AXI4-Stream FIFO作為緩沖,在MAC層與UDP協(xié)議棧之間建立“橋梁”,MAC層解析出來的例如原MAC地址、目的MAC地址等信息也通過AXI4-Stream FIFO轉(zhuǎn)發(fā);AXI4-Stream FIFO代碼位置如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

UDP協(xié)議棧

UDP協(xié)議棧的功能就是用verilog硬件描述語言完成標(biāo)準(zhǔn)UDP協(xié)議;它由動(dòng)態(tài)ARP層、IP層、UDP層構(gòu)成,動(dòng)態(tài)ARP層完成ARP協(xié)議內(nèi)容的數(shù)據(jù)收發(fā),對(duì)于接收端來說是數(shù)據(jù)幀解包,從以太網(wǎng)數(shù)據(jù)幀中提取ARP數(shù)據(jù)段的有效數(shù)據(jù),對(duì)于發(fā)送端來說是數(shù)據(jù)幀組包,將用戶端發(fā)來的有效數(shù)據(jù)封裝成ARP協(xié)議的數(shù)據(jù)幀,作為以太網(wǎng)數(shù)據(jù)幀的ARP數(shù)據(jù)段;代碼中設(shè)置了ARP動(dòng)態(tài)緩存,即arp_cache,收發(fā)兩端都進(jìn)行crc校驗(yàn);

IP層完成IP協(xié)議內(nèi)容的數(shù)據(jù)收發(fā),對(duì)于接收端來說是數(shù)據(jù)幀解包,從以太網(wǎng)數(shù)據(jù)幀中提取IP數(shù)據(jù)段的有效數(shù)據(jù),對(duì)于發(fā)送端來說是數(shù)據(jù)幀組包,將用戶端發(fā)來的有效數(shù)據(jù)封裝成IP協(xié)議的數(shù)據(jù)幀,作為以太網(wǎng)數(shù)據(jù)幀的IP數(shù)據(jù)段;IP層與動(dòng)態(tài)ARP層是數(shù)據(jù)交互的,模塊相互包含,代碼架構(gòu)無法明顯劃分;

UDP層完成UDP協(xié)議內(nèi)容的數(shù)據(jù)收發(fā),對(duì)于接收端來說是數(shù)據(jù)幀解包,從以太網(wǎng)數(shù)據(jù)幀中提取UDP數(shù)據(jù)段的有效數(shù)據(jù),對(duì)于發(fā)送端來說是數(shù)據(jù)幀組包,將用戶端發(fā)來的有效數(shù)據(jù)封裝成UDP協(xié)議的數(shù)據(jù)幀,作為以太網(wǎng)數(shù)據(jù)幀的UDP數(shù)據(jù)段;IP層與動(dòng)態(tài)ARP層是數(shù)據(jù)交互的,模塊相互包含,代碼架構(gòu)無法明顯劃分;UDP層會(huì)對(duì)UDP數(shù)據(jù)做前后檢驗(yàn);

UDP協(xié)議棧架構(gòu)封裝后代碼位置如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
UDP協(xié)議棧是直接與用戶邏輯數(shù)據(jù)對(duì)接的接口,所以對(duì)于FPGAS開發(fā)者而言,只要知道了UDP協(xié)議棧的數(shù)據(jù)接口,就能在用戶側(cè)編寫與之對(duì)接的時(shí)序來控制數(shù)據(jù)收發(fā),UDP協(xié)議棧的接口時(shí)序?yàn)锳XI4-Stream,時(shí)序如下:

   發(fā)送端時(shí)序如下:
                                __    __    __    __    __    __    __
    clk                      __/  \__/  \__/  \__/  \__/  \__/  \__/  \__
                             ______________                    ___________
    s_eth_hdr_valid                         \_________________/
                                       _____ 
    s_eth_hdr_ready           ________/     \_____________________________
                                       _____
    s_eth_dest_mac            XXXXXXXXX_DMAC_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                       _____
    s_eth_dest_mac            XXXXXXXXX_SMAC_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                                       ___________ _____ _____
    s_eth_payload_axis_tdata  XXXXXXXXX_A0________X_A1__X_A2__XXXXXXXXXXXX
                                       _______________________
    s_eth_payload_axis_tvalid ________/                       \___________
                                             _________________
    s_eth_payload_axis_tready ______________/                 \___________
                                                         _____
    s_eth_payload_axis_tlast  __________________________/     \___________

    s_eth_payload_axis_tuser  ____________________________________________
	
	接收端時(shí)序與發(fā)送端一樣;

IP地址修改

FPGA與PC通信而言,F(xiàn)PGA作為UDP服務(wù)器,PC作為UDP客戶端,需要在FPGA代碼里設(shè)置MAC、IP等配置信息,這是UDP通信的重要信息,開發(fā)者至少需要知道該部分代碼的位置,甚至根據(jù)自己的需要修改,代碼的位置如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
可以看到,我這里的配置如下:
FPGA開發(fā)板MAC地址:02-00-00-00-00-00;
FPGA開發(fā)板IP地址:192.168.1.128;
FPGA開發(fā)板網(wǎng)關(guān):192.168.1.1;
FPGA開發(fā)板子網(wǎng)掩碼:255.255.255.0;
那么PC端的IP地址應(yīng)該設(shè)為多少呢?
因?yàn)樵诨丨h(huán)代碼里寫成了發(fā)送的目的IP=接收到的目的IP,所以只需要在PC端設(shè)置與192.168.1.128網(wǎng)段一樣的IP地址即可,比如我在測(cè)試時(shí)設(shè)置PC端IP地址為:192.168.1.10;如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
當(dāng)然,你也可以配置為192.168.1.11、192.168.1.12、192.168.1.100等等;
默認(rèn)的FPGA開發(fā)板和PC端的端口號(hào)都是1234;代碼的位置如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
這部分代碼位于fpga_core.v;

UDP數(shù)據(jù)回環(huán)

之所以只用到了數(shù)據(jù)回環(huán)模式,是因?yàn)楸驹O(shè)計(jì)旨在為用戶提供一個(gè)可任意一直修改的UDP協(xié)議棧架構(gòu),用戶可通過此架構(gòu)任意創(chuàng)建自己的項(xiàng)目,自由度和開放性極強(qiáng);使用一個(gè)純verilog實(shí)現(xiàn)的AXI4-Stream FIFO來做數(shù)據(jù)回環(huán)操作,因?yàn)閁DP協(xié)議棧的用戶數(shù)據(jù)接口正是AXI4-Stream數(shù)據(jù)流,代碼的位置如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
代碼里直接用assign語句將AXI4-Stream FIFO的收發(fā)兩端連接,如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
AXI4-Stream FIFO配置為了8192,如果你的FPGA邏輯資源較小,配置為1024就可以了;
這部分代碼位于fpga_core.v;

總體代碼架構(gòu)

以XilinxFPGA的RGMII接口工程為例,代碼架構(gòu)如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
不同的工程與代碼架構(gòu)對(duì)應(yīng)時(shí)可能略有差異,但總體而言差不多,具體工程要看具體代碼;

5、工程源碼-1 詳解

開發(fā)板FPGA型號(hào):Xilinx Artix7 XC7A35T–xc7a35ticsg324-1L;
開發(fā)環(huán)境:Vivado 2022.2;
網(wǎng)絡(luò)PHY:DP83848J,MII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
工程代碼架構(gòu)參考第4章節(jié)的“總體代碼架構(gòu)”小節(jié);
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

6、工程源碼-2 詳解

開發(fā)板FPGA型號(hào):Xilinx Artix7 XC7A35T–xc7a35tfgg484-2;
開發(fā)環(huán)境:Vivado 2022.2;
網(wǎng)絡(luò)PHY:RTL8211FD,RGMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
工程代碼架構(gòu)參考第4章節(jié)的“總體代碼架構(gòu)”小節(jié);
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

7、工程源碼-3 詳解

開發(fā)板FPGA型號(hào):Xilinx Artix 7 XC7A200T–xc7a200tsbg484-1;
開發(fā)環(huán)境:Vivado 2022.2;
網(wǎng)絡(luò)PHY:RTL8211E,RGMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
工程代碼架構(gòu)參考第4章節(jié)的“總體代碼架構(gòu)”小節(jié);
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

8、工程源碼-4 詳解

開發(fā)板FPGA型號(hào):Xilinx Kintex 7 XC7K325–xc7k325tffg900-2;
開發(fā)環(huán)境:Vivado 2022.2;
網(wǎng)絡(luò)PHY:88E1111,RGMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
工程代碼架構(gòu)參考第4章節(jié)的“總體代碼架構(gòu)”小節(jié);
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

9、工程源碼-5 詳解

開發(fā)板FPGA型號(hào):Xilinx Kintex 7 XC7K325–xc7k325tffg900-2;
開發(fā)環(huán)境:Vivado 2022.2;
網(wǎng)絡(luò)PHY:88E1111,GMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
工程代碼架構(gòu)參考第4章節(jié)的“總體代碼架構(gòu)”小節(jié);
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

10、工程源碼-6 詳解

開發(fā)板FPGA型號(hào):Xilinx Kintex 7 XC7K325–xc7k325tffg900-2;
開發(fā)環(huán)境:Vivado 2022.2;
網(wǎng)絡(luò)PHY:88E1111,SGMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
88E1111在SGMII接口模式下,已經(jīng)不需要我們前面講過的MAC層了,而是直接調(diào)用Xilinx官方的1G/2.5G Ethernet PCS/PMA or SGMII IP核當(dāng)做MAC,該IP需要去Xilinx官網(wǎng)申請(qǐng)Licence才能使用,在1G線速率模式下對(duì)GTX的參考時(shí)鐘固定位125M,IP配置如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
工程代碼架構(gòu)如下:可以參考第4章節(jié)的“總體代碼架構(gòu)”小節(jié)作比較;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

11、工程源碼-7 詳解

開發(fā)板FPGA型號(hào):Xilinx Kintex 7 XC7K325–xc7k325tffg676-2;
開發(fā)環(huán)境:Vivado 2022.2;
網(wǎng)絡(luò)PHY:B50610,RGMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
工程代碼架構(gòu)參考第4章節(jié)的“總體代碼架構(gòu)”小節(jié);
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

12、工程源碼-8 詳解

開發(fā)板FPGA型號(hào):Xilinx Kintex 7 XC7K325–xc7k325tffg676-2;
開發(fā)環(huán)境:Vivado 2022.2;
網(wǎng)絡(luò)PHY:88E1518,RGMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
工程代碼架構(gòu)參考第4章節(jié)的“總體代碼架構(gòu)”小節(jié);
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

13、工程源碼-9 詳解

開發(fā)板FPGA型號(hào):Altera Cyclone IV–EP4CE115F29C7;
開發(fā)環(huán)境:Quartus 18.1;
網(wǎng)絡(luò)PHY:88E1111,RGMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
工程代碼架構(gòu)如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

14、工程源碼-10 詳解

開發(fā)板FPGA型號(hào):Altera Cyclone 10–5SGXEA7N2F45C2;
開發(fā)環(huán)境:Quartus 18.1;
網(wǎng)絡(luò)PHY:PEF7071,RGMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
需要注意的是,Quartus 18.1標(biāo)準(zhǔn)版本不支持Cyclone 10器件,需要到Altera官網(wǎng)下載Cyclone 10的器件庫,并在Quartus 18.1中安裝庫文件,然后重啟Quartus 18.1后才能使用;
工程代碼架構(gòu)如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

15、工程源碼-11 詳解

開發(fā)板FPGA型號(hào):Xilinx Zynq7020–xc7z020clg400-2;
開發(fā)環(huán)境:Vivado 2022.2;
網(wǎng)絡(luò)PHY:B50610,RGMII接口,千兆網(wǎng);
輸入\輸出:UDP 網(wǎng)絡(luò)通信;
測(cè)試項(xiàng):數(shù)據(jù)回環(huán)收發(fā);
工程代碼架構(gòu)參考第4章節(jié)的“總體代碼架構(gòu)”小節(jié);
FPGA資源消耗和功耗預(yù)估如下;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

16、工程移植說明

vivado版本不一致處理

1:如果你的vivado版本與本工程vivado版本一致,則直接打開工程;
2:如果你的vivado版本低于本工程vivado版本,則需要打開工程后,點(diǎn)擊文件–>另存為;但此方法并不保險(xiǎn),最保險(xiǎn)的方法是將你的vivado版本升級(jí)到本工程vivado的版本或者更高版本;
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
3:如果你的vivado版本高于本工程vivado版本,解決如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
打開工程后會(huì)發(fā)現(xiàn)IP都被鎖住了,如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
此時(shí)需要升級(jí)IP,操作如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

FPGA型號(hào)不一致處理

如果你的FPGA型號(hào)與我的不一致,則需要更改FPGA型號(hào),操作如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
更改FPGA型號(hào)后還需要升級(jí)IP,升級(jí)IP的方法前面已經(jīng)講述了;

其他注意事項(xiàng)

1:由于每個(gè)板子的DDR不一定完全一樣,所以MIG IP需要根據(jù)你自己的原理圖進(jìn)行配置,甚至可以直接刪掉我這里原工程的MIG并重新添加IP,重新配置;
2:根據(jù)你自己的原理圖修改引腳約束,在xdc文件中修改即可;
3:純FPGA移植到Zynq需要在工程中添加zynq軟核;

17、上板調(diào)試驗(yàn)證并演示

準(zhǔn)備工作

需要準(zhǔn)備以下物品:
1:FPGA開發(fā)板;
2:網(wǎng)線;
3:上位機(jī)電腦,臺(tái)式或筆記本;
4:網(wǎng)絡(luò)調(diào)試助手;
以vivado工程7為例進(jìn)行上板調(diào)試;
連接如下,然后上電下載bit:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
首先設(shè)置電腦端IP如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
開發(fā)板的IP地址在代碼中的設(shè)置如下,在fpga_core.v里,可以自由修改:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

查看ARP

打開cmd,輸入 arp -a查看電腦的arp緩存表,如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

UDP數(shù)據(jù)回環(huán)測(cè)試

打開網(wǎng)絡(luò)調(diào)試助手并配置,如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
單次發(fā)送數(shù)據(jù)測(cè)試結(jié)果如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
循環(huán)發(fā)送數(shù)據(jù)測(cè)試結(jié)果如下,1秒時(shí)間間隔循環(huán):
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信

18、福利:工程代碼的獲取

福利:工程代碼的獲取
代碼太大,無法郵箱發(fā)送,以某度網(wǎng)盤鏈接方式發(fā)送,
資料獲取方式:私,或者文章末尾的V名片。
網(wǎng)盤資料如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
Xilinx系列FPGA工程文件夾如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信
Altera系列FPGA工程文件夾如下:
FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持,菜鳥FPGA以太網(wǎng)專題,fpga開發(fā),udp,verilog,網(wǎng)絡(luò)通信文章來源地址http://www.zghlxwxcb.cn/news/detail-546224.html

到了這里,關(guān)于FPGA純verilog實(shí)現(xiàn)UDP協(xié)議棧 AXIS用戶接口,可替代Tri Mode Ethernet MAC,提供三套工程源碼和技術(shù)支持的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包