当前位置: 首页 > news >正文

做视频解析网站播放器和接口安装百度一下

做视频解析网站播放器和接口,安装百度一下,北京网站托管公司,个人设计师网站 青春是的,标题没有多敲一个“0”,明人不说暗话,就是在FPGA上实现100G以太网接口设计。正好参与了实验室某项目中的100G接口的调试,早想写个专栏文章了,由于调试过程中发现了一些硬件问题,导致迟迟没有往前推进&…

c6d4c378f34c08da9ecea801c68ed784.png

是的,标题没有多敲一个“0”,明人不说暗话,就是在FPGA上实现100G以太网接口设计。

正好参与了实验室某项目中的100G接口的调试,早想写个专栏文章了,由于调试过程中发现了一些硬件问题,导致迟迟没有往前推进,现在问题解决了之后可以简单分享一下100G以太网接口的调试初体验了~

(好像DDR4读写测试系列文章还没搞完 )

这篇初体验暂时不分多个章节了,基本设计流程与之前发布的“10G以太网接口”系列文章一致,忘了的可以下戳链接查看

十二点过九分:10G以太网接口(一):基本知识​zhuanlan.zhihu.com
ec85997515be665ee0b4f770aef30b34.png
十二点过九分:10G以太网接口(二):接口的基本结构​zhuanlan.zhihu.com
ec85997515be665ee0b4f770aef30b34.png
十二点过九分:10G以太网接口(三):IP核的配置​zhuanlan.zhihu.com
ec85997515be665ee0b4f770aef30b34.png
十二点过九分:10G以太网接口(四):测试与使用​zhuanlan.zhihu.com
ec85997515be665ee0b4f770aef30b34.png

本次调试中采用:FPGA硬件平台为搭载ZU19EG芯片自制板子,硬件开发平台为XIlinx的Vivado 2019.2,网络测试平台为Spirent的TestCenter。


调试内容

由于实验室某项目所设计制作的板子上有4*100G以太网接口,所以此次分享的就是测试板子上的四个100G以太网接口的功能。

调试具体内容为:

  • 利用XIlinx提供的IBERT工具测试每个100G网口对应的4路GTY收发器的收发性能,观察眼图等;
  • 利用Xilinx提供的100G以太网相关的IP核进行以太网接口的设计,简单设计一个自环工程;
  • 利用Spirent的网络测试仪(可支持100G以太网测试)对设计的接口进行打流测试,通过不断设置不同的数据包和发送速率等,观察测试仪的收发情况,以判断设计的100G以太网接口性能是否良好。

其中所使用的设计和测试方法与之前的10G以太网接口的设计与测试基本一致,可以参考其流程,IBERT测试不再说明,忘记的可以详见下面的文章 。

十二点过九分:在开始高速接口前,我们来试试IBERT测试吧!​zhuanlan.zhihu.com
3a3f1a53e896e51e8dea75e69df26de8.png

IP配置

本次100G以太网接口的调试中采用的IP为UltraScale+ 100G Ethernet Subsystem,其手册为PG203,对于IP的结构等内容可以详见手册,本部分只分享其配置部分和IP核例化后的接口信号等。

值得注意的是,在使用这个IP之前,需要先去Xilinx官网申请这个IP的License,这里默认都有License了。

新建工程不必多讲,直接到IP Catalog里找100G的Ethernet Subsystem,如下图所示。

ab44019ab58b91475f48e94aed61eb85.png
在IP Catalog 里选择“UltraScale+ 100G Ethernet Subsystem”IP Core

接下来就是该IP的各项定制界面,具体可以参考PG203,首先是General界面,如下两张图所示。

cfe80638b6d999521752bc3dde68ef6a.png
General 界面1

b8cafbf0ef99d105a5c601e6f2a9a8c2.png
General 界面2

在General界面中,值得注意的是:

  • Physical Layer中根据自身条件设置:比如是采用10*10G构成的100G则选择CAUI10、若是4*25G构成的100G则如图选择,另外收发器参考时钟与板子提供的一致,这里选择161.1328125MHz,Uer Interface选择AXIS(也可以选择LBUS,如果熟悉的话);
  • 其他选择根据需求选择,笔者是没有勾选流控制和RS-FEC(后面会说原因),没有选择AXI-Lite作为配置信号的总线协议。

接下来是Control/Pause Packet Processing 界面,如下图所示,由于前面已经勾了相关选项了,所以这里都没用到。

72c1dde8d958af3b5461cdd3ef2f0c58.png
Control/Pause Packet Processing 界面

接下来是CMAC/GT Selection and Configuration 界面1,如下两幅图所示。

e63e160eff88cc17047b093e337fc3f4.png
CMAC/GT Selection and Configuration 界面1

ff1a3fa6aa79943b0782215fc783f37b.png
CMAC/GT Selection and Configuration 界面2

在CMAC/GT Selection and Configuration 界面中,这一页基本保持默认选项,值得注意的是:

  • Shared Logic选择Core,这里在专栏之前的文章有介绍;
  • 其他保持默认,但是也可以根据自定义勾选,如果设计的板子在信号完整上有问题的话,可以勾选RX均衡等用于改善信号等。

最后是RS-FEC Transcode Bypass 界面,如下图所示。

8bc538585e02b066917678134a2b5210.png
RS-FEC Transcode Bypass 界面

大概完成上面内容的基本配置,就直接生成IP就好了。

根据习惯不同,使用IP的方法也不大一样,如果对该IP不大熟悉的话,依旧可以在生成IP后在其上右键“Open Example Design”打开一个Xilinx提供的示例工程,然后在这个示例工程上,根据自己的需求进行修改,作为一个翻译大师连线狂魔,笔者选择自行连线。

例化这个IP可以看到诸多的信号线,便于理解和使用期间,笔者简单将其分类和注释,如下多张图所示。

eb4599541b9deef48c2a672041835734.png
100G IP 例化接口信号1

533c85965410302355f70f08eacf0034.png
100G IP 例化接口信号2

89836b83703a9f77322582efd252629d.png
100G IP 例化接口信号3

61cb08b95edfa514e00ab6cd853f81ae.png
100G IP 例化接口信号3

上面的信号中还缺少Tx端和Rx端的数据统计信号线,由于都是输出信号以及信号太多太长,并且暂时没有用到均不予以截图了,望知。

工程结构

当然,上面只是例化了IP,为了完成对4*100G接口的测试还需要在工程中完善其他部分。

首先,测试四个100G口,那么需要例化四个IP;

其次,要自环测试的话,需要把IP的Tx数据接口与Rx数据接口相连接,才能做到自发自收,鉴于二者接口略有不同,需要接一级FIFO做跨时钟域和数据缓存操作;

然后,为了设计的接口在日后能直接用于使用,还需要引出一个全局时钟作为对接收到的以太网数据做处理时钟;

最后,将上述各项内容“怼一块”,就得到了下图所示的工程结构图。

a4f4e46a0d7dbe488aee077f9ed07cc8.png
工程结构框图

之后就是写各类约束xdc了,包括引脚约束和时序约束等。

弄完上述这些之后就跑综合、布局布线和生成bit文件等,确保时序没啥问题且能生成bit后就直接下板子即可。

100G自环测试

接下来是自环测试,笔者使用的是Spirent的网络测试仪,使用的是其提供的测试模块FX3-100GQ-T2,如下图所示,最高可支持100G以太网测试。

650119c0d8b7136b06da4cb6271c10f3.png
Spirent 网络测试仪

至于TestCenter软件的使用,这里不再说明,可以详询其技术客服或者其提供的资料或help(如下图)等。

10239ec8e5f8559b897b09b456759e9d.png
Spirent TestCenter Help 界面

笔者在调试100G以太网接口前看到过一篇文章说在客制化IP时需要勾上RS-FEC选项[1],不然在使用网络测试仪连接设计的接口时连接不上,实际测试中发现,其实配置IP时不勾上也没关系,只要在使用TestCenter软件时设置网络测试仪100G端口时也去掉就行了,如下图所示,去掉这两个选项后,就会发现有Link(绿灯亮了)。不过,两者都勾上也可以,毕竟这个IP支持这个纠错码也有利于降低连接器件的成本等。

f22a5cec73965d009ba2412e36237f51.png
测试仪100G端口设置

测试部分其实没啥好讲的了,就是使用TestCenter的软件编辑各类测试的数据流,设置好数据发送各项模式速率后,直接打流到FPGA板子上即可,笔者对于测试仪的使用也仅限于此,更高级的功能也没怎么使用过了。

那怎么知道设计的接口的性能呢?

首先,在TestCenter上观察是否有Link(亮灯),如果能连接上,那么就已经成功一大半了,之前由于调试的板子的硬件问题搞了好久才Link;

其次,对FPGA板子打流操作后,可以观察TestCenter的首发情况,比如收发的以太网数据帧帧数是否一致,是否有错帧,错帧的类型是什么,捕捉接收到的数据帧(可以是TestCenter上的,也可以是Vivado加Debug信号触发的)是否和想要的一致;

最后,可以尝试一些更严苛的测试,比如长时间测试其稳定性和准确性等(当然,这是我瞎测试的,不一定要这么做)。

测试结果如下图所示,多番测试下,大概最高可到99.999Gbps收发情况下无丢帧错帧,单口跑不满100Gbps,其他一些文章所推测是由于时钟有一定的偏差所导致的,不过基本影响不大,一般使用能用满100Gbps?

a9482d1a602eb104ebbae127ae6e6f5d.png
Spirent TestCenter 测试结果

6f51775067b5eea739276ceb2927d23c.png
Vivado ILA抓取的Rx数据

注意事项

  • 需要财力雄厚,因为既需要有支持100G以太网接口的FPGA板子(具有4个GTY或10个GTX收发器以上),又需要有支持100G以太网测试的网络测试仪(国产或者洋货都无所谓);
  • 使用IP设计前需要申请该IP的License,具体申请方法可详见网上教程;
  • 对于AXIS数据接口熟悉的可使用Vivado 2019以上的进行开发,因为Vivado之前版本的数据接口只有LBUS总线接口(对于不熟悉的人来说可能比较复杂);
  • 该IP较为复杂,各类信号线很多,如果有更高需求要详细翻阅手册
  • 如果有一块板子(比如KCU116)只有四个25G(4*SFP28)的接口,也可以设计100G接口,前提是有一根100G(QSFP28)转4*25G(4*SFP28)的转接线,然后在FPGA端使用上述同样的IP设计,引脚根据顺序约束好即可,不过切记转接线连接要按照顺序连,不然会没有Link;
  • 网络测试仪与FPGA板上的100G以太网接口的连接可以使用100G光模块(稍微有点贵),也可以使用电缆(省钱),反正能插得上能连接就行;
  • 如果硬件板在设计过程中,100G使用的四组收发器收与发的顺序不对应的话(例如Rx为1234,而Tx为1324或者其他),只要在引脚约束时按照Rx正确顺序对应的引脚约束就好,不用管Vivado自动根据Rx进行Tx的引脚约束(这个可能讲的有点乱,大概是这个意思),实测这么操作是可以成功使用接口的。
  • 其他注意事项想到再说

作为初体验也就简单的分享上面这么多了,总结就是无论是10G的还是100G以太网,接口设计这东西就这么回事,拿个IP Core一搭就完事了,如果要再做更上层协议上的东西,那就各凭本事了。

当然,我还是个蔡鸡,还要继续学习一个。如果有老哥也做这方面东西的可以交流研究 ,如果文中有啥不足之处还望指正~

参考

  1. ^100G以太网光口的FPGA测试实例 https://mp.weixin.qq.com/s/PqaZt487zU0LmJ05U_ZHsQ
http://www.lbrq.cn/news/2514457.html

相关文章:

  • 做网站的是什么专业网站推广的全过程
  • 网站建设方案服务器推广网站软文
  • 学生做兼职去哪个网站军事新闻最新消息
  • seo优化软件免费版seo的优点和缺点
  • 做标书的任务网站赣州seo公司
  • 电影采集网站怎么做中小型企业网站设计与开发
  • 企业建设网站对客户的好处做app的网站
  • 关于加强政府网站建设和管理工作的意见填写电话的广告
  • pc端网站生成wap版网络推广费用计入什么科目
  • 宁波外贸网站推广优化网页加速器
  • 网站开发团队奖惩成都网站seo技巧
  • 免费seo推广软件百度seo详解
  • 房地产项目网站建设中国企业500强排行榜
  • wordpress加载模板文件路径seo线下培训班
  • 做网站流程、网络营销和传统营销的区别有哪些
  • 惠州外包网站建设宁波seo自然优化技术
  • 求推荐专门做借条的网站开一个免费网站
  • 包头网站建设熊掌号网页设计制作网站html代码大全
  • 怎样免费做书画网站市场推广方案怎么做
  • 中国建设银行网站属于什么机构独立网站和平台网站
  • 如何代做网站引流推广神器
  • 做瞹瞹瞹视频网站网络营销的五大优势
  • 一品威客做任务要给网站钱吗seo团队管理系统
  • 有哪些做网站好的公司seo排名赚下载
  • wordpress网站底部导航代码培训心得总结怎么写
  • 如何开发手机版网站百度排行榜
  • 大淘客官网做的网站打不开金昌网站seo
  • 国外用tornado做的网站seo推广视频隐迅推专业
  • 建网站教程如何免费创建自己的平台
  • 网站建设图片怎么做合肥做网站哪家好
  • BT131-800-ASEMI家电领域专用BT131-800
  • Linux - 权限的理解(深入浅出,详细细微)
  • 信创国产Linux操作系统汇总:从桌面到服务器,百花齐放
  • Golang语言如何高效使用字符串
  • 天学网面试 —— 中级前端开发岗位
  • 数分思维10:用户增长