10G/25G Ethernet Subsystem(一)(内回环)

版权声明:本文为CSDN博主「Y__Yshans」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Y__Yshans/article/details/121955869

使用软件:vivado2020.1、仿真用vivado自带的仿真

摘要: 在Xilinx官方文档中(PG210-25G-ethernet)找到自己要的信息,几乎没有去动IP核什么参数,主要是通过这个IP去完成内回环以及外回环的仿真以及上板调试(另一篇文章),通过实现这个去了解整个FPGA开发流程。

内回环:PMA回环

外回环:通过SFP光模块口回环

IP核参数只改了BASE-R以及Include AXI4-Lie

 

目录

1.从Xilinx文档中找到有用信息

2.顶层

3.仿真

 3.1 IP核仿真

 3.2内回环仿真

4.约束文件

5.生成比特流、时序        ​

6.总结

1.从Xilinx文档中找到有用信息

 打开Ethernet ip核的example design之后,看一下官方给的IP核仿真(仿真之前记得按照文档提示来)。不难发现,通过几个信号就能够观察IP核在什么情况下才是正常使用的。那么在PG210-25G-ethernet中可以找到这些信号,User Interface是我们比较关注的地方还有就是tx和rx信号。

2.顶层

        要把example design直接用到工程里面去,需要做一点点改动。比如最终我要在xczu27dr-fsve1156-2-i这个芯片板子上跑通内回环和外回环,可以把官方的example design放到顶层里面去。顶层的信号只需要用到gt连接芯片端口的信号、gt时钟差分信号、clk差分信号以及SFP光模块信号。restsrt_tx_rx 和 send_continous_pkts直接给0,gt时钟给的是368.64MHz,dclk是100MHz(dclk这里用clk wizard IP核生成的),直接给复位,EXDES0这个模块就能够运行。那么用ILA在调试板上抓信号的时候,可以只用看看 restart_tx_rx_0、rx_gt_locked_led_0、rx_block_lock_led_0、completion_status、stat_reg_compare 这几个信号就可以了。

 

3.仿真

 3.1 IP核仿真

        从example design仿真里面可以看到,50us前,两个lock已经locked住了;100多us的时候开始发包,200多us的时候结束,completion_status在完成后变成1。

 3.2内回环仿真

        内回环仿真与上面基本差不多,不过可以通过改变sys_reset或者restart_tx_rx信号(这个信号值可以在completion_status为1后进行改变),去多观察一下会有什么变化,这对理解IP核有帮助。

4.约束文件

        约束文件注意格式,电平、端口、引脚注意一下,一般不会有什么问题,下图举例:

 

5.生成比特流、时序 

        这一套完成下来,对FPGA开发流程了解了不少,也基本对Ethernet内外回环清楚一些了,生成比特流后发现时序很糟糕,感觉是因为ILA抓信号引起的,不过可以对时序进行优化,多加一些约束,但是这个时序问题好像不太会影响对内外回环的测试。 

6.总结

X​​​​​​ilinx文档搜索

Xilinx官方文档,PG210-25G-ethernet(英文版),c_pg210-25g-ethernet(中文版)

代码已经上传:1025G_Ethernet_Subsystem-1.7z-硬件开发文档类资源-CSDN下载

PMA回环

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值