当前位置: 首页 > news >正文

万兆以太网MAC设计(12)万兆UDP协议栈上板与主机网卡通信

文章目录

  • 一、设置IP以及MAC
  • 二、上板效果
    • 2.1、板卡与主机数据回环测试
    • 2.2、板卡满带宽发送数据

一、设置IP以及MAC

顶层模块设置源MAC地址

module XC7Z100_Top#(parameter       P_SRC_MAC = 48'h01_02_03_04_05_06,parameter       P_DST_MAC = 48'hff_ff_ff_ff_ff_ff
)(input           i_sys_clk_p     ,input           i_sys_clk_n     ,input           i_gt_refclk_p   ,input           i_gt_refclk_n   ,input           i_gt_rxp        ,input           i_gt_rxn        ,output          o_gt_txp        ,output          o_gt_txn        ,output          o_tx_disable
);

在UDP协议栈当中设置IP地址和UDP端口。

然后数据进行回环测试和板卡满带宽发数据,主机向板卡发送数据然后板卡向主机返回相同的数据。

UDP_10G_Stack#(.P_SRC_MAC        (P_SRC_MAC                    ),.P_DST_MAC        (P_DST_MAC                    ),.P_SRC_IP_ADDR    ({8'd192,8'd168,8'd100,8'd100} ),.P_DST_IP_ADDR    ({8'd192,8'd168,8'd100,8'd90}),.P_SRC_UDP_PORT   (16'h8080                     ),.P_DST_UDP_PORT   (16'h8080                     ))UDP_10G_Stack_u0(.i_xgmii_clk                (w_xgmii_clk        ),.i_xgmii_rst                (w_xgmii_rst || (!w_block_sync)),.i_xgmii_rxd                (w_xgmii_rxd        ),.i_xgmii_rxc                (w_xgmii_rxc        ),.o_xgmii_txd                (w_xgmii_txd        ),.o_xgmii_txc                (w_xgmii_txc        ),.i_dynamic_src_mac          (48'd0),.i_dynamic_src_mac_valid    (0),.i_dynamic_dst_mac          (48'd0),.i_dynamic_dst_mac_valid    (0),.i_dymanic_src_port         (0),.i_dymanic_src_port_valid   (0),.i_dymanic_dst_port         (0),.i_dymanic_dst_port_valid   (0),.i_dynamic_src_ip           (0),.i_dynamic_src_ip_valid     (0),.i_dynamic_dst_ip           (0),.i_dynamic_dst_ip_valid     (0),.i_arp_active               (0),.i_arp_active_dst_ip        (0),/****user data****/.m_axis_user_data           (wm_axis_user_data  ),.m_axis_user_user           (wm_axis_user_user  ),.m_axis_user_keep           (wm_axis_user_keep  ),.m_axis_user_last           (wm_axis_user_last  ),.m_axis_user_valid          (wm_axis_user_valid ),.s_axis_user_data           (wm_axis_user_data  ),.s_axis_user_user           (wm_axis_user_user  ),.s_axis_user_keep           (wm_axis_user_keep  ),.s_axis_user_last           (wm_axis_user_last  ),.s_axis_user_valid          (wm_axis_user_valid ),.s_axis_user_ready          ( ) 
);

二、上板效果

2.1、板卡与主机数据回环测试

通过网口调试助手发送数据,可以看到数据正确被回环。
在这里插入图片描述
通过wireshark可以看到发送数据过程,首先是主机发送一个ARP请求,然后板卡会返回ARP回复包,然后主机即可获取板卡的MAC地址信息,我们设置的正是01020040506,接下来主机向板卡发送数据,板卡接收到数据后返回给主机,一发一收全部正常。
在这里插入图片描述

2.2、板卡满带宽发送数据

带宽满速率下9.7G左右,可以减少一些打拍逻辑,可以提升一定的速率。
在这里插入图片描述

http://www.lryc.cn/news/342648.html

相关文章:

  • 2024年4月17日华为春招实习试题【三题】-题目+题解+在线评测,2024.4.17,华为机试
  • 展开说说:Android线程池解析
  • Selenium自动化测试面试题全家桶
  • Docker 容器日志占用空间过大解决办法
  • update_min_vruntime()流程图
  • 十进制转任意进制(以及任意进制来回转换<了解>)
  • postcss-px-to-viewport 从入坑到放弃 (nuxt3搭建响应式官网解决方案 )
  • C语言从入门到入门
  • Java基础教程 - 4 流程控制
  • 大厂Java面试题:MyBatis中有几种加载映射器(Mapper.xml)的方式?
  • Flutter笔记:Widgets Easier组件库(10)快速处理承若型对话
  • 10_Linux中的计划任务
  • Google Play开发者账号为什么会被封?如何解决关联账号问题?
  • (第12天)【leetcode题解】151、反转字符串中的单词
  • 如何处理多模态数据噪声不均衡动态?天大等最新《低质量数据的多模态融合》综述
  • Autosar NvM配置-手动配置Nvblock及使用-基于ETAS软件
  • 【c++算法篇】双指针(下)
  • 微图乐 多种装B截图一键制作工具(仅供娱乐交流)
  • 基于Springboot的点餐平台
  • C# 获取一个字符串中非数字部分?
  • 今日总结2024/5/7
  • 爬虫学习(3)豆瓣电影
  • GNU Radio创建FFT、IFFT C++ OOT块
  • 125.两两交换链表中的节点(力扣)
  • APP精准推送广告是怎么做到的?
  • RapidJSON介绍
  • 大型企业总分支多区域数据传输,效率为先还是安全为先?
  • C语言例题35、反向输出字符串(指针方式),例如:输入abcde,输出edcba
  • 场景文本检测识别学习 day09(Swin Transformer论文精读)
  • 抖音小店个人店和个体店有什么不同?区别问题,新手必须了解!