当前位置:   article > 正文

沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第二章 GTP/GTX概述_赛灵思gtp介绍

赛灵思gtp介绍

目录在这哦~

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


第二章   GTP/GTX概述


上一章是个引子,涉及到GTP的少之又少,这章算是正式踏上我们对GTP的征途。本章的主要解决如下三个问题

  1. 为什么!为什么?接口信号那么多???
  2. GTP的硬核长什么模样?
  3. GTP核的程序是个什么样的架构?

第一部分:为什么!为什么?接口信号那么多???

         看下图是我对GTP核的例化,为了不让截图太长,我中间还隐藏了些,大概有100多行吧。而且啊,这还只是一通道,我们可以最多例化四通道呢,那代码长度可想而知。

我上章说了,直接控制6个信号就可以实现数据收发了,为什么要整这么多?因为通用和特制是一对矛盾。我们在写代码的时候也应该有过这样的经验,如果一个模块不具备通用性,那么可以写得很精简,如果要考虑诸多场合,具备广泛的适用性,那么就会加很多内容来满足需求。这原本就是一堆矛盾,问题就在于如何取舍。

GTP核就是在追求极致的通用性,具有广泛的适用性。因为通用,所以繁杂。它就好比一块猪肉,原汁原味的呈现给你,你可以红烧、可以炒菜、可以卤肉、可以腌制,随你之心,如你所愿,怎么着都行。GTP也是,你可以自定义协议直接用它,也可以在它基础上开发PCIE、开发SRIO、开发SATA等等等。所以还是那句话,因为通用,所以繁杂。

另外,我们在开发一个功能模块时候,接口会有什么信号呢?时钟、复位、配置、状态监测、数据的输入输出。GTP亦是如此,那么多的信号无外乎这几种,而之所以多,也是因为他并不是如ram那般一个简单的核,它要做的事是实现高速串行通讯,是在并行通讯遇到瓶颈后新的解决方案,是提高数据吞吐量的依靠,其复杂程度可不一个串并转换可以概况的。

综上,一个兼复杂与通用与一身的核,自然接口显得不友好,但只要静下心来去研究,就会发现,眼睛欺骗了你。


第二部分:GTP的硬核长什么模样?

         第一部分有用没用的扯了一堆,接下来就说一下GTP的硬核。一般我们把IP核分为软核、固核和硬核,硬核可以说嵌入在FPGA内部的ASIC,我们对他的使用是不占用查找表、触发器等逻辑资源的,而且有专门的资源统计,如下图所示,我用的芯片是ZYNQ系列的7015,一共有4个GT,就是四路串行高速接口,这我用了一个,故资源占用25%。

当然,硬核不占用其它资源不代表GTP这个IP核不占用其它资源,芯片厂家会对这个硬核封装,封装是耗费资源的。如下图所示,其中左1是一个整体,包括了4个名为左2的“GTPE2_CHANNEL”,右1是左1图中间的那部分,叫做“GTPE2_COMMON”。

         我们再放大看引脚可以发现,那四个“GTPE2_CHANNEL”是高速串行收发引脚,“GTPE2_COMMON”两组时钟,称之为“QPLL”,这就是xilinx的GTP硬核的组织形式,我们把这一组称之为一个“Quad” ,这在我们画原理图时也会有所体现。

         但这样做的目的是什么呢?我认为这样做的目的是“好聚好散”,极大的提高应用的灵活性,对于PCIE、SRIO等协议,可能就是多通道,这样实现起来就更方便更灵活,因为我们不是说用四个就需要例化四个这样的IP核,他们是当做一组形成一个IP核。接下来看IP核的程序结构就可以发现这个现象。

第三部分 GTP核的程序是个什么样的架构

         这个就需要看程序了,可以打开我提供的例程看一下。

  1. 这部分是动态配置相关的,忽略掉,初学没啥用
  2. 这部分是产生用户时钟,根据“GTPE2_CHANNEL”原语送进来的时钟产生用户时钟,我们给核发送数据和接收数据用的时钟就从这里来的,这里也耗费了我们的MMCM资源
  3. 这部分是对“GTPE2_COMMON”这个硬核或者说原语的封装和配置,用来产生“GTPE2_CHANNEL”工作所需的时钟,其中线速率就是跟这来的
  4. 这部分是对“GTPE2_CHANNEL”原语的封装,也是GTP的核心部件,将来介绍的重点
  5. 这部分是关于“GTPE2_CHANNEL”以及“GTPE2_COMMON”的复位初始化相关逻辑,分为发送部分和接收部分,这两个模块的复位工作完成了,GTP才能进入正常工作状态,这也是要着重介绍的。

以上就是简单的了解下GTP核的内容,由于我例化了一个GTP,如果例化多个的话,上述的4和5就会呈现多个,这也有第二部分所说吻合,如下图所示就是用了四个。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/993439
推荐阅读
相关标签
  

闽ICP备14008679号