GT收发器基础(一)

本文介绍了GT收发器的基础概念,包括Serdes的串行/解串行功能,Auroraip核的分层结构,以及在Vivado中的example工程示例。重点讲解了用户层、链路层和物理层的工作原理及在Aurora协议中的应用。
摘要由CSDN通过智能技术生成

GT收发器基础(一)
目录

1、什么是Serdes
2、基于GT收发器的Aurora ip核分层结构
3、对一个Aurora ip核的example工程进行简单分层说明

1)什么是Serdes
第一步解释一下Serdes:SERializer(串行器)/DESerializer(解串器);
第二步什么是SERializer(串行器):简单来说就是把并行数据转成串行数据,这么一想GT不就是需要把用户侧FPGA的并行数据转成串行数据以后才能发送吗?对了,GT就是应用了Serdes的这个特性。
第三步什么是DESerializer(解串器):发送端需要所谓的channel partner也就是对侧的GT发来的数据,这个数据刚过来的时候是串行的,那接收端要处理,就需要把数据并行化。当然这些过程中还有加扰解扰,8b/10b编解码以及64b/66b编解码等等操作,后续再展开,这里者在建立一个完整的GT拓扑图,不作深层次的技术说明。

2)基于GT收发器的Aurora ip核分层结构
这个部分个人认为才是GT收发器学习重中之重,从宏观上理解GT收发器,才能真正做到一览众山小。以下是从我个人的角度做出的分层。
a.用户层:该部分主要是处理时钟输入后的单端化,然后是时钟的分配;后面就是数据的打包以及校验处理了,因为GT传输的数据需要一个所谓的起始结束标志以及一些空闲码等等,关于起始结束标志很好理解,就像我们经常用的Uart就会有起始位和停止位一样。关于空闲码,就是在没有任何程序需要发送的数据时候插入空闲码让GT继续发送,但是为什么不能让GT通道停下来呢?我个人认为一个很重要的原因就是,空闲码可以维护线路状态,避免由于长时间没有数据传输而导致线路状态不稳定。所以一旦建立链路后就会一直发送数据,没有有效数据就发送IDLE空闲码。
b.链路层:所谓链路层就是要建立数据发送的路径,在Aurora协议中,链路层主要处理数据的打包,通道的绑定,数据的校验等等工作。
c.物理层:这里的物理层包含PCS和PMA,PCS是物理编码子层,顾名思义就是用来做编码的,大名鼎鼎的8b/10b编码就是在这里完成的,PMA就是物理媒介适配层,说白了就是在PCS和数据发送通道之间建立一个适配层,大名鼎鼎的Serdes特性就是在这里使用的。

3)对一个Aurora ip核的example工程进行简单分层说明
在Vivado中建立Aurora ip核的时候选择将逻辑分享到example project中的后生产ip核,生成完ip核后右键ip核就可以看到一个open example project的选项,点击这个选项便可以打开一个Vivado为初学者准备的一个demo,初学者可以在这个demo中学习到以下知识:1、官方人员写的高质量代码以及代码风格,提升自身编码能力。2、对照之前说的各种分层结构以及功能,学习各种模块并理解其作用。3、建立复杂通讯中分层传输的思想,学好Aurora ip核以后或许可以更好地理解以太网七层协议。
那在整个example工程中IP核以外主要处理几个问题:1、时钟与复位;2、用户数据接口;
在ip核以内主要完成:1、数据的编解码(8b/10b,64b/66b…)以及校验功能(CRC32);2、帧头帧尾空闲码生产,控制码生成;3、数据的加扰解绕。
//
/
/
//
/
/
后续再更:1、vivado中Aurora ip核的配置以及7 serial gtp ip核的配置,并对比说明;2、example工程中每一个.v文件的作用;3、ip核的时钟框架;4、数据的处理以及编码逻辑分析;5、国产紫光高速口HSST评测。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值