Verilog 实现千兆网UDP协议 基于88E1111--板级验证--增加ARP
增加ARP后,Board通过电脑端的APR请求获取PC端MAC地址及IP,所以宏定义内不定义Destination_MAC、Destination_IP。提取到顶层文件用以寄存器存储。
`define Leading_code 64'h55_55_55_55_55_55_55_D5
`define Source_MAC 48'h00_11_22_33_44_08
//`define Destination_MAC 48'h11_22_33_44_55_02
`define IP_TYPE 16'h08_00
`define IP_TYPE_ARP 16'h08_06
`define Source_IP 32'hC0_A8_00_04 //192.168.0.4 //BOARD
`define Source_Gateway 32'hC0_A8_00_01 //192.168.0.1
//`define Destination_IP 32'hC0_A8_00_03 //192.168.0.3
`define Source_Port 16'd8001 //BOARD
`define Destination_Port 16'd8000 //PC
ARP数据更新进程。接收进程接收到ARP包后,将数据复制给reg,并通知接收进程收取完毕(ARP_addr_Get )进程回到正常接收模式。
/*ARP_PROCESS*/
always @(posedge Rx_Clk_i or negedge ETH_RESET_n)
beginif(!ETH_RESET_n)beginARP_addr_Get <= 1'b0;Eth_Command[2] <= 1'b0;endelse if (ARP_addr_en)beginARP_addr_Get <= 1'b1;Destination_MAC <= ARP_addr_data[79:32];Destination_IP <= ARP_addr_data[31: 0];Eth_Command[2] <= 1'b1;endelse beginARP_addr_Get <= 1'b0;Eth_Command[2] <= 1'b0;end
end
Board APR回复数据,需要增加16byte的padding,以太网数据传输有最小包要求。
ARP_Code <= {`Leading_code, Destination_MAC,`Source_MAC,`IP_TYPE_ARP, // 8 + 6 + 6 + 2 = 2216'h00_01 , 16'h08_00 ,16'h06_04 ,16'h00_02 , // 2 + 2 + 2 + 2 = 8`Source_MAC , `Source_IP , // 6 + 4 = 10Destination_MAC,Destination_IP, // 6 + 4 = 10{18{8'h00}} //padding};
wireshark实时捕获:
Py测试数据源代码:
from scapy.all import *
pkt = ARP()
pkt.psrc = "192.168.0.35"
pkt.pdst = "192.168.0.4"
for n in range(10):aaa = send(pkt)print(aaa)
板级调试
Verilog 实现千兆网UDP协议 基于88E1111--板级验证--增加ARP相关推荐
- Verilog 实现千兆网UDP协议 基于88E1111--数据发送
Verilog 实现千兆网UDP协议 基于88E1111–数据发送 注:此版本没有添加ARP PING 等,未完待续. 注:项目采用Verilog开发,基于Vivado编译器. UDP(User Da ...
- Verilog 实现千兆网UDP协议 基于88E1111--数据接收
注:此版本没有添加ARP PING 等,未完待续. 注:项目采用Verilog开发,基于Vivado编译器. 注:本版本没有计算校验 与上一篇相同开发环境,采用三段式状态机. 同样,接收后将数据写入F ...
- 一个udp用户数据报的数据字段为8192_基于FPGA的千兆网UDP通信分析
千兆网UDP通信 以太网帧格式 图8‑12 以太网帧格式 表8‑5 以太网帧格式说明 UDP协议分析 为什么UDP协议在FPGA实现时很受欢迎,最主要一个原因就是简单,简答到什么地步呢?UDP协议只是 ...
- 基于zynq的千兆网udp项目_基于FPGA的千兆网UDP通信分析
千兆网UDP通信 以太网帧格式 图8‑12 以太网帧格式 表8‑5 以太网帧格式说明 UDP协议分析 为什么UDP协议在FPGA实现时很受欢迎,最主要一个原因就是简单,简答到什么地步呢?UDP协议只是 ...
- 基于zynq的千兆网udp项目_米联客 ZYNQ/SOC 精品教程 S05-CH05 PS 千兆 UDP 加速
软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛:www.osrc.cn答疑解惑专栏开通,欢迎大家给我提问!! ...
- FPGA基于SFP光口实现1G千兆网UDP通信 1G/2.5G Ethernet PCS/PMA or SGMII替代网络PHY芯片 提供工程源码和技术支持
目录 1.前言 2.我这里已有的UDP方案 3.详细设计方案 4.vivado工程详解 5.上板调试验证并演示 6.福利:工程代码的获取 1.前言 目前网上的fpga实现udp基本生态如下: 1:ve ...
- 千兆以太网PHY芯片调试-88E1111(RGMII接口-数据收发ECHO测试) Verilog实现python测试
千兆以太网PHY芯片调试-基于RGMII接口的88E1111(数据收发ECHO测试) 先放结果: Py测试代码: import socket #网络通信 TCP,UDP DST_IP = '192.1 ...
- 基于zynq的千兆网udp项目_一种基于ZYNQ的四路万兆以太网安全交换机的制作方法...
本实用新型涉及网络安全.网络通信技术领域,尤其是一种基于ZYNQ的四路万兆以太网安全交换机,适用于大中型企业的交换网络. 背景技术: 随着互联网的高速发展,传统的以太网交换机在功能和性能上已不能满足要 ...
- 基于zynq的千兆网udp项目_随时随地感受“沉浸式千兆体验”!海南互联网络迈入“三千兆”时代...
海口网6月18日消息(记者刘杰)18日,海南电信在海口友谊阳光城举办"电信三千兆 智享新生活"发布会."电信三千兆"的发布标志着海南互联网络建设进入一个全新的发 ...
最新文章
- vim中tab键8空格换4空格
- poj_2762,弱连通
- aopaspect区别_面试官:什么是AOP?Spring AOP和AspectJ的区别是什么?
- OpenCASCADE:形状愈合之修复
- Mac或者Linux安装RabbitMQ
- Java的深拷贝的例子
- MVC4发布到IIS7报404错误
- Mycat分库分表的简单实践 / 用Mycat,学会数据库读写分离、分表分库
- FlexSIM.ED v4.0 1CD(生产排程,虚拟管理,能力平衡软件)
- 通过CN3口直接控制台达伺服电机A2-M(一)
- gaster字体转换器_Galas字体转换器 Galas在线生成器-万字网
- 多媒体计算机主机系统,多媒体计算机系统的组成
- [系统安全] 二十.PE数字签名之(上)什么是数字签名及Signtool签名工具详解
- Python人工智能学习路线(长篇干货)
- idea 去掉author波浪线
- 墨卡托坐标转GPS坐标
- IBM-kmeans-坏盘预测
- vb.net 同时给多个属性赋值_C++程序入门之——赋值操作符
- 通过Windows防火墙禁止某程序(或软件)联网
- 用pyecharts画地图(世界地图、中国省级地图、市级地图、某省市级地图、某市县级地图)
热门文章
- 入手一年,再谈HiFi耳机的“白月光”——飞利浦Fidelio X3
- 发明计算机的人的名人名言,16句关于科学家的名言
- java 实现EME2000(国家大地坐标系)转ECEF坐标系(地心地固坐标系)
- matlab 双曲正割脉冲,matlab画双曲正割(急)!!!!!!!!!!!!!!!!!!!!!!...
- 20.3. texi2html
- java解析Excel日期格式转换问题
- [足式机器人]Part1 运动控制的替代方法Ch06——【Legged Robots that Balance 读书笔记】
- 393高校毕业设计选题
- USB小票打印解决办法
- 网络抖动多少ms算正常_网络延迟多少ms正常 - 卡饭网