赞
踩
前面关于U+系列的10G、40G以太网我们都了解了,本文将开始使用100G以太网 IP核。需要额外使用俩个100G的光模块。
和40G以太网差不多,100G也是使用了4个GTchannel,当然还有许多其他方式,还有通过10个channel的。
所有模块与40G还有10G都类似,不做赘述。
上板时候发现链路是没有办法建立的,但是仿真一切正常,时钟和复位是没有问题的,最后问题被定位到了光模块上面。
我所使用的光模块不支持高功耗模式,所以需要修改QSFP的LPMode,该信号默认为高,我们需要人为控制拉低。
注
ModselL:为了使得I2C总线上可以挂载多个设备,使用此引脚选择是否响应总线通信请求。
ResetL:信号拉低会启动完整模块复位,默认内部将其上拉至VCC。
LPMode:低功耗模式,内部默认上拉至VCC。
Modprs:检测模块是否存在。
IntL:故障输出指示。
module VCU128_100g_eth_top#( parameter P_CHANNEL_NUM = 2 )( input i_gt0_refclk_p , input i_gt0_refclk_n , input i_gt1_refclk_p , input i_gt1_refclk_n , input i_sys_clk_p , input i_sys_clk_n , output [1:0] o_status_led , output QSFP1_MODSKLL_LS, output QSFP1_RESETL_LS , output QSFP1_MODPRSL_LS, output QSFP1_LPMODE_LS , output QSFP2_MODSKLL_LS, output QSFP2_RESETL_LS , output QSFP2_MODPRSL_LS, output QSFP2_LPMODE_LS , output [P_CHANNEL_NUM*4 - 1: 0] o_gt_txp , output [P_CHANNEL_NUM*4 - 1: 0] o_gt_txn , input [P_CHANNEL_NUM*4 - 1: 0] i_gt_rxp , input [P_CHANNEL_NUM*4 - 1: 0] i_gt_rxn ); assign QSFP1_MODSKLL_LS = 0; assign QSFP1_RESETL_LS = 1; assign QSFP1_MODPRSL_LS = 0; assign QSFP1_LPMODE_LS = 0; assign QSFP2_MODSKLL_LS = 0; assign QSFP2_RESETL_LS = 1; assign QSFP2_MODPRSL_LS = 0; assign QSFP2_LPMODE_LS = 0;
接收数据正常,抓不到tuser信号拉高的情况。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。