目录
- 1、前言
- 2、相关方案推荐
-
- 我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目
- 我这里已有的以太网方案
- 本设计用到的UDP协议栈在RGMII接口PHY芯片上的应用方案
- [本设计用在1G/2.5G Ethernet PCS/PMA or SGMII中的1G应用](#本设计用在1G/2.5G Ethernet PCS/PMA or SGMII中的1G应用)
- 3、详细设计方案
-
- 设计原理框图
- 电脑端网络调试助手
- PHY(SGMII)或SFP光口转RJ45电口
- [1G/2.5G Ethernet PCS/PMA or SGMII 简介](#1G/2.5G Ethernet PCS/PMA or SGMII 简介)
- [1G/2.5G Ethernet PCS/PMA or SGMII 配置](#1G/2.5G Ethernet PCS/PMA or SGMII 配置)
- [多个1G/2.5G Ethernet PCS/PMA or SGMII 主从级联使用](#多个1G/2.5G Ethernet PCS/PMA or SGMII 主从级联使用)
- [2.5G UDP协议栈](#2.5G UDP协议栈)
- [2.5G UDP数据回环+测速](#2.5G UDP数据回环+测速)
- IP地址、端口号的修改
- 工程源码架构
- [4、vivado工程1详解:Artix7-35T,单核2.5G Ethernet架构](#4、vivado工程1详解:Artix7-35T,单核2.5G Ethernet架构)
- [5、vivado工程2详解:Artix7-35T,双核2.5G Ethernet主从级联架构](#5、vivado工程2详解:Artix7-35T,双核2.5G Ethernet主从级联架构)
- [6、vivado工程3详解:Kintex7-325T,单核2.5G Ethernet架构](#6、vivado工程3详解:Kintex7-325T,单核2.5G Ethernet架构)
- [7、vivado工程4详解:Kintex7-325T,双核2.5G Ethernet主从级联架构](#7、vivado工程4详解:Kintex7-325T,双核2.5G Ethernet主从级联架构)
- [8、vivado工程5详解:Zynq7100,单核2.5G Ethernet架构](#8、vivado工程5详解:Zynq7100,单核2.5G Ethernet架构)
- [9、vivado工程6详解:Zynq7100,双核2.5G Ethernet主从级联架构](#9、vivado工程6详解:Zynq7100,双核2.5G Ethernet主从级联架构)
- [10、vivado工程7详解:Virtex7-690T,单核2.5G Ethernet架构](#10、vivado工程7详解:Virtex7-690T,单核2.5G Ethernet架构)
- [11、vivado工程8详解:Virtex7-690T,双核2.5G Ethernet主从级联架构](#11、vivado工程8详解:Virtex7-690T,双核2.5G Ethernet主从级联架构)
- [12、vivado工程9详解:KU060,单核2.5G Ethernet架构](#12、vivado工程9详解:KU060,单核2.5G Ethernet架构)
- [13、vivado工程10详解:KU060,双核2.5G Ethernet主从级联架构](#13、vivado工程10详解:KU060,双核2.5G Ethernet主从级联架构)
- [14、vivado工程11详解:KU5P,单核2.5G Ethernet架构](#14、vivado工程11详解:KU5P,单核2.5G Ethernet架构)
- [15、vivado工程12详解:KU5P,双核2.5G Ethernet主从级联架构](#15、vivado工程12详解:KU5P,双核2.5G Ethernet主从级联架构)
- [15、vivado工程13详解:ZU9EG,单核2.5G Ethernet架构](#15、vivado工程13详解:ZU9EG,单核2.5G Ethernet架构)
- [16、vivado工程14详解:ZU9EG,双核2.5G Ethernet主从级联架构](#16、vivado工程14详解:ZU9EG,双核2.5G Ethernet主从级联架构)
- 17、工程移植说明
- 18、上板调试验证并演示
- 19、福利:工程代码的获取
FPGA纯verilog实现 2.5G UDP协议栈,基于1G/2.5G Ethernet PCS/PMA or SGMII,提供14套工程源码和技术支持
FPGA-2.5G-UDP
1、前言
目前网上的FPGA实现UDP基本生态如下:
1:verilog编写的精简版udp收发器,不带ping功能,这样的代码功能正常也能用,但不带ping功能基本就是废物,在实际项目中不会用这样的代码,试想,多机互联,出现了问题,你的网卡都不带ping功能,连基本的问题排查机制都不具备,这样的代码谁敢用?
2:带ping功能的完整版udp收发器,代码优秀也好用,但基本不开源,不会提供源码给你,这样的代码也有不足,那就是出了问题不知道怎么排查,毕竟你没有源码,无可奈何;
FPGA实现UDP网络通信现状如下:
Xilinx系列FPGA实现UDP网络通信主要有两种方案,其一是使用PHY芯片实现物理层功能,比如常见的RTL8211、B50610等芯片,UDP协议栈部分很简单,可使用verilog代码直接实现;其二是使用Xilinx官方的IP核实现物理层功能,比如常见的1G/2.5G Ethernet PCS/PMA or SGMII、AXI 1G/2.5G Ethernet Subsystem、10G/25G Ethernet Subsystem、10G Ethernet Subsystem等,UDP协议栈部分很简单,可使用verilog代码直接实现;本设计使用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能;
工程概述
本设计FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现2.5G UDP以太网通信,能实现电脑端网卡与FPGA开发板之间的双向通信,为了方便测试,设计了UDP数据回环和网络测速两个功能;
UDP数据回环功能如下:
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
网络测速功能如下:
PGA自动循环产生从0开始的累加数作为UDP用户发送数据,发送数据然后进入UDP协议栈实现以太网帧组包,即加上各种头部信息和校验,每包数据长度为1472;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;然后打开电脑端的资源管理器,查看网卡,即可看到通信速率;
针对目前市面上主流的FPGA应用,本工程共移植了14套工程,具体如下:

现对上述14套工程源码解释如下:
工程源码1
开发板FPGA型号为Xilinx--Artix7--35T--xc7a35tfgg484-2;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用1路1G/2.5G Ethernet PCS/PMA or SGMII IP核,使用1路SFP光口,在FPGA内部实现了1路2.5G UDP网卡,适用于Xilinx 7系列FPGA实现以太网应用;
工程源码2
开发板FPGA型号为Xilinx--Artix7--35T--xc7a35tfgg484-2;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用2路1G/2.5G Ethernet PCS/PMA or SGMII IP核,形成1主+1从的级联使用,2路IP核共享GT BANK参考时钟,使用2路SFP光口,在FPGA内部实现了2路2.5G UDP网卡,以此技术方案可扩展至多路,适用于Xilinx 7系列FPGA实现多路以太网应用;
工程源码3
开发板FPGA型号为Xilinx--Kintex7--325T-xc7k325tffg900-2;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用1路1G/2.5G Ethernet PCS/PMA or SGMII IP核,使用1路SFP光口,在FPGA内部实现了1路2.5G UDP网卡,适用于Xilinx 7系列FPGA实现以太网应用;
工程源码4
开发板FPGA型号为Xilinx--Kintex7--325T-xc7k325tffg900-2;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用2路1G/2.5G Ethernet PCS/PMA or SGMII IP核,形成1主+1从的级联使用,2路IP核共享GT BANK参考时钟,使用2路SFP光口,在FPGA内部实现了2路2.5G UDP网卡,以此技术方案可扩展至多路,适用于Xilinx 7系列FPGA实现多路以太网应用;
工程源码5
开发板FPGA型号为Xilinx-->Zynq7100---xc7z100ffg900-2;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用1路1G/2.5G Ethernet PCS/PMA or SGMII IP核,使用1路SFP光口,在FPGA内部实现了1路2.5G UDP网卡,适用于Xilinx Zynq7000系列FPGA实现以太网应用;
工程源码6
开发板FPGA型号为Xilinx-->Zynq7100---xc7z100ffg900-2;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用2路1G/2.5G Ethernet PCS/PMA or SGMII IP核,形成1主+1从的级联使用,2路IP核共享GT BANK参考时钟,使用2路SFP光口,在FPGA内部实现了2路2.5G UDP网卡,以此技术方案可扩展至多路,适用于Xilinx Zynq7000系列FPGA实现多路以太网应用;
工程源码7
开发板FPGA型号为Xilinx--Virtex7--xc7vx690tffg1761-3;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用1路1G/2.5G Ethernet PCS/PMA or SGMII IP核,使用1路SFP光口,在FPGA内部实现了1路2.5G UDP网卡,适用于Xilinx 7系列FPGA实现以太网应用;
工程源码8
开发板FPGA型号为Xilinx--Virtex7--xc7vx690tffg1761-3;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用2路1G/2.5G Ethernet PCS/PMA or SGMII IP核,形成1主+1从的级联使用,2路IP核共享GT BANK参考时钟,使用2路SFP光口,在FPGA内部实现了2路2.5G UDP网卡,以此技术方案可扩展至多路,适用于Xilinx 7系列FPGA实现多路以太网应用;
工程源码9
开发板FPGA型号为Xilinx-- Kintex UltraScale--xcku060-ffva1156-2-i;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用1路1G/2.5G Ethernet PCS/PMA or SGMII IP核,使用1路SFP光口,在FPGA内部实现了1路2.5G UDP网卡,适用于Xilinx UltraScale系列FPGA实现以太网应用;
工程源码10
开发板FPGA型号为Xilinx-- Kintex UltraScale--xcku060-ffva1156-2-i;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用2路1G/2.5G Ethernet PCS/PMA or SGMII IP核,形成1主+1从的级联使用,2路IP核共享GT BANK参考时钟,使用2路SFP光口,在FPGA内部实现了2路2.5G UDP网卡,以此技术方案可扩展至多路,适用于Xilinx UltraScale系列FPGA实现多路以太网应用;
工程源码11
开发板FPGA型号为Xilinx-- Kintex UltraScale±-xcku5p-ffvb676-1-i;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用1路1G/2.5G Ethernet PCS/PMA or SGMII IP核,使用1路SFP光口,在FPGA内部实现了1路2.5G UDP网卡,适用于Xilinx UltraScale+系列FPGA实现以太网应用;
工程源码12
开发板FPGA型号为Xilinx-- Kintex UltraScale±-xcku5p-ffvb676-1-i;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用2路1G/2.5G Ethernet PCS/PMA or SGMII IP核,形成1主+1从的级联使用,2路IP核共享GT BANK参考时钟,使用2路SFP光口,在FPGA内部实现了2路2.5G UDP网卡,以此技术方案可扩展至多路,适用于Xilinx UltraScale+系列FPGA实现多路以太网应用;
工程源码13
开发板FPGA型号为Xilinx-- Zynq UltraScale±xczu9eg-ffvb1156-2-i;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用1路1G/2.5G Ethernet PCS/PMA or SGMII IP核,使用1路SFP光口,在FPGA内部实现了1路2.5G UDP网卡,适用于Xilinx UltraScale+MPSoCs系列FPGA实现以太网应用;
工程源码14
开发板FPGA型号为Xilinx-- Zynq UltraScale±xczu9eg-ffvb1156-2-i;
电脑端网络调试助手发送测试数据,然后电脑端操作系统的Socket实现发送数据的以太网帧组包,然后发送给电脑端网卡后通过网线连接到FPGA开发板的RJ45网口;然后差分网络数据进入FPGA开发板板载的SFP光口或PHY芯片后进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现高速串行接口到GMII接口的转换;然后数据进入UDP协议栈实现以太网帧解包,解析各种头部信息,并提取输出UDP报文的有效数据段;有效数据再经过回环FIFO后回灌到UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入高速收发器BANK,调用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII方案实现物理层功能,即实现GMII接口到高速串行接口的转换;然后数据进入板载SFP光口或PHY芯片输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给网络调试助手显示;网络调试助手同时显示发送和接收数据,以此观察UDP数据回环的正确性;
本设计调用2路1G/2.5G Ethernet PCS/PMA or SGMII IP核,形成1主+1从的级联使用,2路IP核共享GT BANK参考时钟,使用2路SFP光口,在FPGA内部实现了2路2.5G UDP网卡,以此技术方案可扩展至多路,适用于Xilinx UltraScale+MPSoCs系列FPGA实现多路以太网应用;
本文详细描述了FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现2.5G UDP以太网通信的设计方案,经过反复大量测试稳定可靠,可在项目中直接移植使用,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的数字通信领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;
免责声明
本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所冒犯,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。
2、相关方案推荐
我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目
其实一直有朋友反馈,说我的博客文章太多了,乱花渐欲迷人,自己看得一头雾水,不方便快速定位找到自己想要的项目,所以本博文置顶,列出我目前已有的所有项目,并给出总目录,每个项目的文章链接,当然,本博文实时更新。。。以下是博客地址:
点击直接前往
我这里已有的以太网方案
目前我这里有大量UDP协议的工程源码,包括UDP数据回环,视频传输,AD采集传输等,也有TCP协议的工程,还有RDMA的NIC 10G 25G 100G网卡工程源码,对网络通信有需求的兄弟可以去看看:
直接点击前往
本设计用到的UDP协议栈在RGMII接口PHY芯片上的应用方案
本设计用Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII实现物理层,或者针对于直连FPGA GT高速收发器BANK的SGMII接口的PHY,其中用到的UDP协议栈,在RGMII接口的PHY芯片上也有应用,之前写过一篇博客,对RGMII接口的PHY芯片上使用本博客UDP协议栈有需求的兄弟可以去看看:
直接点击前往
本设计用在1G/2.5G Ethernet PCS/PMA or SGMII中的1G应用
本设计基于Xilinx的1G/2.5G Ethernet PCS/PMA or SGMII实现2.5G UDP协议栈,但1G/2.5G Ethernet PCS/PMA or SGMII也可以配置为1G模式,对1G模式有应用需求的用户,可以参考我之前的博客,链接如下:
直接点击前往
3、详细设计方案
设计原理框图
设计原理框图如下:

电脑端网络调试助手
电脑端网络调试助手很简单,几乎干这一行的都用过,为Windows版本.exe文件,无需安装直接使用,界面如下:

这个软件使用教程可自行百度,如果连这个都不会用,说明。。。
PHY(SGMII)或SFP光口转RJ45电口
在准备SFP光口转RJ45电口前,请确认你的电脑网卡支持2.5G速率,如下:

本设计适用于以下两种物理接口:
1:、FPGA开发板无需网络PHY芯片,而使用光口做UDP以太网通信,此时的物理接口为SFP光口,进而需要SFP光口转RJ45电口实现与PC的网络连接,SFP光口转RJ45电口某宝几十块钱很便宜,大概长这样:

光电转换口必须要支持2.5G,如下:

2、FPGA开发板有网络PHY芯片,且PHY必须为SGMII模式且必须连接到了FPGA高速收发器BANK,典型的PHY芯片有88E1111、DP83867ISRGZ、RTL8211B等型号,此时直接用网线即可实现与PC的网络连接。
1G/2.5G Ethernet PCS/PMA or SGMII 简介
1G/2.5G Ethernet PCS/PMA or SGMII实现了类似于网络PHY芯片的功能,其功能框图如下:

接收端:
数据首先经过GT资源解串,将串行数据解为并行数据;然后经过弹性Buffer做数据缓冲处理,主要是为了去频偏,使板与板之间的数据稳定,然后进行8b/10b解码,恢复正常数据;然后经过PCS接收同步器,对数据进行跨时钟处理,同步到GMII时序下;最后将数据放入GMII总线下输出;
发送端:
发送端则简单得多,输入时序为GMII;然后进入PCS发送引擎;然后对数据进行8b/10b编码;最后放入GT串化后输出;
1G/2.5G Ethernet PCS/PMA or SGMII 配置
1G/2.5G Ethernet PCS/PMA or SGMII配置为2.5G,其与MAC的接口为GMII,配置如下:

核心配置如下:

无PHY,使用光口做网络通信时,配置为2500BASEX;
有PHY、且为SGMII接口、且直连FPGA 高速收发器BANK时,配置为2.5G SGMII模式;
1G/2.5G Ethernet PCS/PMA or SGMII可运行于1G和2.5G线速率,对GT时钟有严格研究,按照官方数据手册,对于Xilinx 7系列FPGA而言,运行1G线速率时,GT差分时钟必须为125M,运行2.5G线速率时,GT差分时钟必须为312.5M,如下:

对于Xilinx UltraScale和UltraScale+系列FPGA而言,无论配置为1G或2.5G模式,GT差分时钟没有特性要求,可以使125M或者156.25M等等。
多个1G/2.5G Ethernet PCS/PMA or SGMII 主从级联使用
多个1G/2.5G Ethernet PCS/PMA or SGMII 的主从搭配使用的应用场景是FPGA开发板充当多光口的网卡使用,即一个FPGA挂载多个光口,每一个光口相当于一个独立的网卡,有独立的IP地址和MAC地址,类似于交换机;主从搭配使用框架如下:

主从级联使用时,多个1G/2.5G Ethernet PCS/PMA or SGMIIIP核共享1路GT BANK参考时钟;
2.5G UDP协议栈
2.5G UDP协议栈是以太网的协议层,由纯verilog代码实现,具有动态ARP、ICMP功能,占用逻辑资源少,性能不错,设计精简等特点,代码有详细中文注释,这里就不过多赘述,模块代码架构如下:

2.5G UDP数据回环+测速
2.5G UDP数据回环使用FIFO缓存用户接收数据后转发给发送接口,功能简单,不多赘述
测速则是FPGA向PC端单向发送数据,PGA自动循环产生从0开始的累加数作为UDP用户发送数据
代码架构如下:

IP地址、端口号的修改
工程留出了IP地址、端口号的修改端口供用户自由修改,位置在顶层模块如下:

多路网卡工程时如下:

工程源码架构
提供14套工程源码,以工程源码1为例,工程源码架构如下,此工程仅用1路Ethernet:

提供14套工程源码,以工程源码2为例,工程源码架构如下,此工程使用2路Ethernet:

4、vivado工程1详解:Artix7-35T,单核2.5G Ethernet架构
开发板FPGA型号:Xilinx-->Artix7-->xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
以太网物理接口:1路SFP光口;
以太网物理层方案:Xilinx官方1G/2.5G Ethernet PCS/PMA or SGMII IP核;
使用高速收发器类型:GTP;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

5、vivado工程2详解:Artix7-35T,双核2.5G Ethernet主从级联架构
开发板FPGA型号:Xilinx-->Artix7-->xc7a35tfgg484-2;
FPGA开发环境:Vivado2019.1;
以太网物理接口:2路SFP光口;
以太网物理层方案:2路1G/2.5G Ethernet PCS/PMA or SGMII IP核主从级联方案;
使用高速收发器类型:GTP;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

6、vivado工程3详解:Kintex7-325T,单核2.5G Ethernet架构
开发板FPGA型号:Xilinx-->Kintex7-->xc7k325tffg900-2;
FPGA开发环境:Vivado2019.1;
以太网物理接口:1路SFP光口;
以太网物理层方案:Xilinx官方1G/2.5G Ethernet PCS/PMA or SGMII IP核;
使用高速收发器类型:GTX;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

7、vivado工程4详解:Kintex7-325T,双核2.5G Ethernet主从级联架构
开发板FPGA型号:Xilinx-->Kintex7-->xc7k325tffg900-2;
FPGA开发环境:Vivado2019.1;
以太网物理接口:2路SFP光口;
以太网物理层方案:2路1G/2.5G Ethernet PCS/PMA or SGMII IP核主从级联方案;
使用高速收发器类型:GTX;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

8、vivado工程5详解:Zynq7100,单核2.5G Ethernet架构
开发板FPGA型号:Xilinx--Zynq7100--xc7z100ffg900-2;
FPGA开发环境:Vivado2019.1;
以太网物理接口:1路SFP光口;
以太网物理层方案:Xilinx官方1G/2.5G Ethernet PCS/PMA or SGMII IP核;
使用高速收发器类型:GTX;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

9、vivado工程6详解:Zynq7100,双核2.5G Ethernet主从级联架构
开发板FPGA型号:Xilinx--Zynq7100--xc7z100ffg900-2;
FPGA开发环境:Vivado2019.1;
以太网物理接口:2路SFP光口;
以太网物理层方案:2路1G/2.5G Ethernet PCS/PMA or SGMII IP核主从级联方案;
使用高速收发器类型:GTX;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

10、vivado工程7详解:Virtex7-690T,单核2.5G Ethernet架构
开发板FPGA型号:Xilinx--Virtex7--xc7vx690tffg1761-3;
FPGA开发环境:Vivado2019.1;
以太网物理接口:1路SFP光口;
以太网物理层方案:Xilinx官方1G/2.5G Ethernet PCS/PMA or SGMII IP核;
使用高速收发器类型:GTH;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

11、vivado工程8详解:Virtex7-690T,双核2.5G Ethernet主从级联架构
开发板FPGA型号:Xilinx--Virtex7--xc7vx690tffg1761-3;
FPGA开发环境:Vivado2019.1;
以太网物理接口:2路SFP光口;
以太网物理层方案:2路1G/2.5G Ethernet PCS/PMA or SGMII IP核主从级联方案;
使用高速收发器类型:GTH;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

12、vivado工程9详解:KU060,单核2.5G Ethernet架构
开发板FPGA型号:Xilinx-- Kintex UltraScale--xcku060-ffva1156-2-i;
FPGA开发环境:Vivado2019.1;
以太网物理接口:1路SFP光口;
以太网物理层方案:Xilinx官方1G/2.5G Ethernet PCS/PMA or SGMII IP核;
使用高速收发器类型:GTH;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

13、vivado工程10详解:KU060,双核2.5G Ethernet主从级联架构
开发板FPGA型号:Xilinx-- Kintex UltraScale--xcku060-ffva1156-2-i;
FPGA开发环境:Vivado2019.1;
以太网物理接口:2路SFP光口;
以太网物理层方案:2路1G/2.5G Ethernet PCS/PMA or SGMII IP核主从级联方案;
使用高速收发器类型:GTH;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

14、vivado工程11详解:KU5P,单核2.5G Ethernet架构
开发板FPGA型号:Xilinx-- Kintex UltraScale±-xcku5p-ffvb676-1-i;
FPGA开发环境:Vivado2019.1;
以太网物理接口:1路SFP光口;
以太网物理层方案:Xilinx官方1G/2.5G Ethernet PCS/PMA or SGMII IP核;
使用高速收发器类型:GTY;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

15、vivado工程12详解:KU5P,双核2.5G Ethernet主从级联架构
开发板FPGA型号:Xilinx-- Kintex UltraScale±-xcku5p-ffvb676-1-i;
FPGA开发环境:Vivado2019.1;
以太网物理接口:2路SFP光口;
以太网物理层方案:2路1G/2.5G Ethernet PCS/PMA or SGMII IP核主从级联方案;
使用高速收发器类型:GTY;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

15、vivado工程13详解:ZU9EG,单核2.5G Ethernet架构
开发板FPGA型号:Xilinx-- Zynq UltraScale±xczu9eg-ffvb1156-2-i;
FPGA开发环境:Vivado2019.1;
以太网物理接口:1路SFP光口;
以太网物理层方案:Xilinx官方1G/2.5G Ethernet PCS/PMA or SGMII IP核;
使用高速收发器类型:GTH;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

16、vivado工程14详解:ZU9EG,双核2.5G Ethernet主从级联架构
开发板FPGA型号:Xilinx-- Zynq UltraScale±xczu9eg-ffvb1156-2-i;
FPGA开发环境:Vivado2019.1;
以太网物理接口:2路SFP光口;
以太网物理层方案:2路1G/2.5G Ethernet PCS/PMA or SGMII IP核主从级联方案;
使用高速收发器类型:GTH;
以太网MAC方案:纯verilog方案;
以太网协议层方案:纯verilog的UDP/IP协议栈,2.5G 网速率;
以太网测试功能:数据收发回环测试+FPGA向PC单发测速;
工程目的:让读者掌握FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信的设计能力,以便能够移植和设计自己的项目;
工程代码架构请参考第3章节的《工程源码架构》小节内容;
工程的资源消耗和功耗如下:

17、工程移植说明
vivado版本不一致处理
1:如果你的vivado版本与本工程vivado版本一致,则直接打开工程;
2:如果你的vivado版本低于本工程vivado版本,则需要打开工程后,点击文件-->另存为;但此方法并不保险,最保险的方法是将你的vivado版本升级到本工程vivado的版本或者更高版本;

3:如果你的vivado版本高于本工程vivado版本,解决如下:

打开工程后会发现IP都被锁住了,如下:

此时需要升级IP,操作如下:


FPGA型号不一致处理
如果你的FPGA型号与我的不一致,则需要更改FPGA型号,操作如下:



更改FPGA型号后还需要升级IP,升级IP的方法前面已经讲述了;
其他注意事项
1:由于每个板子的DDR不一定完全一样,所以MIG IP需要根据你自己的原理图进行配置,甚至可以直接删掉我这里原工程的MIG并重新添加IP,重新配置;
2:根据你自己的原理图修改引脚约束,在xdc文件中修改即可;
3:纯FPGA移植到Zynq需要在工程中添加zynq软核;
18、上板调试验证并演示
准备工作
试验需要准备以下设备:
FPGA开发板,可以自行购买,也可以找本博主购买同款开发板;
测试电脑;
2.5GSFP转RJ45电口,2.5G网线;
网络调试助手;
以工程源码1的开发板为例进行上板调试;
连接如下:

然后将电脑端IP地址设置为如下:

然后下载bit或者固化bin文件,即可开始测试;
ping测试
打开电脑CMD,输入ping指令;
单次ping测试如下:

连续ping测试如下:

ARP测试
打开电脑CMD,输入ARP指令;如下:

UDP数据回环测试
打开电脑端网络调试助手,测试如下:


网络测速
首先关闭网络调试助手;
然后配置电脑网卡,开启巨型帧之类的,把网卡配置为最佳性能;
然后打开vivado加载的VIO,然后将VIO设置为1,开启数据发送,如下:

然后在电脑的任务栏右击鼠标-->任务管理器-->性能,找到网卡,如下:

注意,这个测速只代表可能的最高的速度,不代表电脑真实的不丢包速度,UDP 的点到点不丢包速度和电脑的网卡、CPU 速度、内存速度、操作系统都有关系。。。
综合测试效果演示
综合测试效果演示如下:
FPGA-2.5G-UDP
19、福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:

此外,有很多朋友给本博主提了很多意见和建议,希望能丰富服务内容和选项,因为不同朋友的需求不一样,所以本博主还提供以下服务:
