沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第一章 前言闲谈

目录在这哦~

https://blog.csdn.net/z123canghai/article/details/107700878

 

第一章 前言闲谈

唯有学到最根本的,才能明白万变不离其宗,在遇到新的内容时候,才能施展你的乾坤大挪移。

与我而言,立下对Xilinx的GTP核进行全面解读这个flag也是颇需要些勇气的,毕竟这个核还是蛮复杂的。但凡接触过的朋友都晓得,那对外接口信号叫一个多啊,先不去用说去理解了,单纯的把这些信号整利索了,也不是一时半会儿能搞定的。没辙,跳进了这么一个坑,怎么说也得研究明白了。


         本文是前言闲谈,主要内容有:

  1. GTP和GTX是孪生兄弟么?
  2. GTP的难,是难在了哪里?
  3. 为什么要研究Xilinx封装好的东西?直接用不就好了嘛?
  4. 全面解读?要解读到什么程度?

首先来说第一个问题,GTP和GTX是孪生兄弟么?

没错,是的,可以这么理解,看名字就知道,都是姓GT的。GT是Gigabit Transceiver的缩写,我们可以翻译成千兆比特收发器,至于“P”是什么意思我还真不知道。有了解的朋友还望指点一下。

Xilinx的7系列有S7、A7、K7、V7以及UltraScale系列,它们的性能依次增强。其中,S7没有高速接口,咱不考虑。A7的高速串行接口叫GTP,波特率最高可达6.6Gbps,K7系列就叫做GTX,波特率最高可达12.5Gbps,V7系列有GTX、GTH、GTZ三种,其中GTX支持最高波特率为12.5Gbps,GTH最高支持13.1Gbps,GTZ最高支持28.05Gbps,它们家的XC7VX1140T更是可支持多达96个高速串行收发器!十分的强悍。另外,xilinx的UltraScale系列还用到了GTH和GTY,但我没有接触过,所以不敢瞎说,但肯定都是一家子的。最后补充一点,例如说A7系列支持最高速率达6.6Gbps,并不是这个系列每款芯片都可以支持到这个速率,是这个系列里面最强劲的一款可支持到这个速率。

虽说速率是是这些核的一个重要区别,但它们的区别不仅限于此,例如时钟架构,一些功能的应用都略有差别,但这种差别无法改变他们是一家子的本质,所以只要学会了其中一个,其他的必然可以触类旁通。我用的是GTP,但如果你用的是GTX是几乎没有影响的。如下图从《ug482》截取的,差别很小吧。

 

接下来来看第二个问题:GTP的难,是难在了哪里?

         当然,难是相对的,对于大神来说,不值一提。对我来说,学玩意还是费了不少劲,所以在我看来它是难的。那它难在哪里呢?

1是配置复杂,当我们进行IP核配置的时候会发现咋那么多配置选项呢,一脸懵逼?参考下用户手册吧,全是英文还看不懂,那翻译下吧,字倒是认识了,但还是不明白,这就给人一种无从下手的感觉

2是例化接口信号多,上百行的接口信号,且不说要分清那些有用那些没有,就是把这些信号规整一下就得花点时间

3是担着高速的名头,一说高速接口,多多少少觉得有点高端吧,在加上前面这两个原因,没准心想,到底是高端,搞不了搞不了。

但是呢?这都是唬人的!我为了写这篇文档专门写了个测试程序,你们猜猜的测试程序写了几行?

加上好多空行,逻辑代码没超过50行!!!!而且啊,例化的IP接口信号虽说有上百行,用到的只有6个,其他的或是不理会或是直接写死。你说气人不气人,整了那么多有用的就那么点,但这也是可以理解的,而且是应该的甚至说庆幸的。为什么这么说呢?这就是第三部分内容。

为什么要研究Xilinx封装好的东西?直接用不就好了嘛?我又归纳了三个原因:

         第一、不得不学。我们可以参考别的代码或者说是xilinx提供的例子迅速的把这个核用起来,进而去开发我们的业务逻辑。但是,起初的调试,绝对不会是一帆风顺的,一旦涉及到核相关的问题,你就得去琢磨这个核是怎么干活的。

         第二、学知识要学习知识的本质。就拿这个高速串行接口来说吧,不止有GTP还有GTX、GTZ,而且还有alter的altgx,不仅这些,Rapidio、PCIE等等,或是GTP的旁系亲属,或是在GTP这家子上面进一步封装的核,所以说这是基础,唯有学到最根本的,才能明白万变不离其宗,在遇到新的内容,才能施展你的乾坤大挪移。

另外,如果你只会用核,很难称自己是搞高速接口的,因为不了解机制,吹不出来。我们学习GTP的目的就是了解xilinx是怎么实现高速串行接口的,我们可以了解到8B/10B 编码、极性控制、时钟恢复、均衡器等等等等,以及xinlinx对高速串行接口实现的一个解决方案,这才是我们要学的本质。

例如我们公司要用A7芯片AURORA接口实现一个BANK的四路不同速率,而A7封装的是GTP,比不了GTX每通道还有CPLL,只有两路QPLL。这怎么办呢?如果不了解aurora本质是对GTP封装的话,不了解GTP其内部结构的话是很难实现的,而我了解GTP的时钟架构,就可以立刻提出实施方案,还让领导小惊讶一下。

         第三、面试好忽悠。忽悠是玩笑话,如果我们可以如数家珍搬的把这核介绍清楚了,难道不能证明你的水平么?难道不利于要工资么?

         综上,这个GTP是值得学习的,学习的回报是很大的。

全面解读?要解读到什么程度?

         为了实现上面的目的,我们当然要解读到不能再解读的程度,要对所有的信号以及硬核进行全面的分析。我们看下下面这个图,这是关于GTP内部的工作机制,下面每一个小模块就是一个功能模块,这些都是由硬核实现的,虽然我们看不到具体的实现逻辑,但我们可以根据接口实现对这些模块的控制监测,我们要达到的目的就是掌握一些重要的、熟悉一些有用的、了解一些用不到的。

         当然除此之外,还有GTP核的时钟、复位等等没有包含,我也会去一一介绍。

 

  • 27
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值