文章目录
- 一、设置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左右,可以减少一些打拍逻辑,可以提升一定的速率。