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

2024-04-30 12:44

本文主要是介绍万兆以太网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左右,可以减少一些打拍逻辑,可以提升一定的速率。
在这里插入图片描述

这篇关于万兆以太网MAC设计(12)万兆UDP协议栈上板与主机网卡通信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/948893

相关文章

mac安装redis全过程

《mac安装redis全过程》文章内容主要介绍了如何从官网下载指定版本的Redis,以及如何在自定义目录下安装和启动Redis,还提到了如何修改Redis的密码和配置文件,以及使用RedisInsig... 目录MAC安装Redis安装启动redis 配置redis 常用命令总结mac安装redis官网下

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |