我是靠谱客的博主 畅快咖啡,最近开发中收集的这篇文章主要介绍基于FPGA的万兆网调试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、高速接口测试 用ibert
2、vivado2019.1无论如何修改片子,在例化ibert时都会报错,放弃vivado,在ise中ibert调试。
在这里插入图片描述
3、(1)
在这里插入图片描述
(2)
在这里插入图片描述
(3)
在这里插入图片描述
(4)
在这里插入图片描述
(5)
在这里插入图片描述
(6)等待生成完成后,关闭ISE.
4、打开chipscope,下载example_IBERT.bit.
5、在ibert console中可以修改属性,对gtx高速接口进行测试比如回环,眼图分析等,测试比较简单,不做过多介绍。
在这里插入图片描述
6、GTX测试,VIVADO新建GTX工程,选择 7 series FPGA Transceivers Wizard
(1)
在这里插入图片描述
(2)以为我要用万兆网,所以先速率选择10.3125G,选择正确的GTX收发器和时钟,此处正确选择后,约束文件中可直接用系统生成xdc。
在这里插入图片描述
(3)
在这里插入图片描述
(4)
在这里插入图片描述
(5)其他默认即可
(6)生成IP后,右键点击选择生成example design
(7)修改顶层,删除check后的结果指示信号。DRP接口需要时钟,例化一个时钟IP核,输出100M时钟,给DRP时钟引脚,添加一个外部按键信号,连接按键信号与数据生成模块的复位信号,功能就是当按键触发时,生成数据模块开始工作或者停止工作,方便观察信号。在生成数据和控制信号前加(* dont_touch=“true” *)防止信号被优化,其余不做更改。
(8)新建约束文件debug,并设置为目标文件,使以后的约束均在此文件中做修改。打开例程中的约束文件,添加DRP时钟来源的约束,增加按键信号的输入,删除check后的结果指示信号的约束,保存。
(9)综合,添加抓取信号,此处需要注意的是,start信号需要用自由时钟也就是上电就有的时钟去抓取,最好用drp的那个时钟去抓取,当值debug时,发生找不到时钟的问题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(10)生成bit,下载。
(11)外部环回光纤,发送端,通过gt0发送数据和COMMA码
在这里插入图片描述
(12)外部环回光纤,接收端,通过gt1接收数据和COMMA码
在这里插入图片描述
(13)GTX在工作10.3125时,也是正常的。

7、例化ten_gig_eth_pcs_pma的IP核,xilinx公司在10GBASE_R的模式下此IP是免费的,同时由于我的板子是K7,也仅仅支持此模式。xilinx 10的mac是收费的,由于是点对点传输数据,则可以不用mac中那么复杂的功能,仅仅接用物理通道,实现数据的收发即可,所以可以自行编写一个简单的mac。
8、简单mac仿真,模块gmii环回。
在这里插入图片描述
9、上板测试,光纤回环,也能正确收到数据
在这里插入图片描述

10、调试成功。

最后

以上就是畅快咖啡为你收集整理的基于FPGA的万兆网调试的全部内容,希望文章能够帮你解决基于FPGA的万兆网调试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部