前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SGMII接口调试

SGMII接口调试

作者头像
网络交换FPGA
发布2019-10-29 16:14:41
3.1K1
发布2019-10-29 16:14:41
举报
文章被收录于专栏:网络交换FPGA网络交换FPGA

SGMII接口(开启自协商)调试分为三个步骤,先测试SGMII最基本功能仿真、再测试SGMII最基本功能自回环上板、最后直接测试开启自协商功能后上板。

1、测试SGMII基本功能仿真:

(1) 打开sgmii IP,将接口选择为sgmii接口,关闭MDIO接口,其它选项默认,生成IP核;

(2) 根据IP核生成example design,将speed_is_10_100、speed_is_100设置为0(1000Mbps模式),将configuration_vector设置为5‘b00010(关闭SGMII自协商,开启PMA回环,具体参考手册63页table2-39),将userclk2作为跟GMII接口同步的时钟(用来驱动MAC GMII接口侧,也可以用来驱动其它模块);

(3) 开启仿真,测试自回环(也可以通过修改参数测试外环或2个SGMII互通),一般PMA回环要3.1ms左右才能通,外环或互通要3.5ms左右;

(4) 仿真时会发现gmii_rxd信号每隔一帧数据会少一个时钟的前导码如图1,这个不用担心,为正常现象,1G MAC仍然能正常接收数据,产生这个的具体原因不详(手册有介绍,不过内容偏向于底层编码原因,具体不太了解,手册只是简单说明了一下表面原因,手册221页说明此问题),同时有的数据帧gmii_rx_dv信号拉低后gmii_rx_er信号会拉高一个时钟(对应的gmii_rxd数据为8‘h0f),如图2,这个也不用担心,手册224页对其有说明(具体说是为帧扩展),由于gmii_rx_er拉高处gmii_rx_dv拉低,所以不是帧错误(此处需要适当修改原版1G MAC的代码,使1G MAC中gmii_rxd、gmii_rx_dv、gmii_rx_er同步打拍,原设计中没有同步打拍)。

图1

图2

注意:SGMII开启自协商后要仿真非常长时间才能互通(8.1ms),因此推荐直接上板

2、测试SGMII基本功能上板:

(1)SGMII接口的independent_clock默认是200MHZ,可以用PLL生成,也可以查阅手册修改IP内部参数来设置为其它频率,具体修改参考手册36页描述(修改后如何操作IP参考RapidIO调试手册),只需修改一个参数就可以(修改时钟频率会影响仿真通过时间),如图3;

(2)上板主要是测试PMA回环版(自带激励源),设置好约束文件,抓取关键信号,直接生成bit文件,上板测试,如果没有通,看status_vector信号,查阅手册65页table2-41,查找原因。

图3

3、测试SGMII自协商功能上板:

(1)将configuration_vector参数设置为5‘b100x0(开启自协商功能,x表示可以测PMA回环,也可指直接接PHY进行测试),自协商参数使能信号an_restart_config设置为0(该信号上升沿代表自协商参数an_adv_config_vector有效,an_restart_config为0表示使用默认参数,如果想手动配置自协商参数,可以查阅手册64页table2-40);

(2)生成bit文件并上板测试,并观察状态信号status_vector。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络交换FPGA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档