Xilinx GTH 简介 ,CoaXpress FPGA PHY 部分
什么是GTH
GTH 是Xilinx UltraScale系列FPGA上高速收发器的一种类型,本质上和其它名称如GTP, GTX等只是器件类型不同、速率有差异;GTH 最低速率在500Mbps,最高在16Gbps

CoaXpress Host/Device IP 均需要用到厂商的GT收发器模块,因此这里写一篇笔记作为开发记录
GTH 的特性
physical coding sublayer (PCS) 是Xilinx 高速收发器的最顶层.
PCS(Physical Coding Sublayer)层是数据链路层中的一个子层,位于物理层和MAC(Media Access Control)层之间。它是在数据链路层中的一个组成部分,用于实现物理层与MAC层之间的接口功能。
PCS层的主要工作是将上层的数据帧转换为物理层能够传输的信号,并负责将接收到的信号解析为数据帧。它主要完成以下几个任务:
编码和解码:PCS层负责将上层数据帧进行编码,将其转换为物理层可传输的信号。这通常涉及到将数字数据转换为模拟信号,并在发送端对信号进行编码。接收端的PCS层则负责对接收到的信号进行解码,将其转换回数字数据。
时钟恢复:PCS层通过对接收到的信号进行时钟恢复操作,确保数据的准确传输。这包括识别接收信号中的时钟信息,以便正确地解析数据。
传输编码:PCS层可能会对数据进行传输编码,以增强传输的可靠性和效率。这包括添加冗余校验码、错误检测和纠正码等,以提高数据传输的可靠性,并确保数据在传输过程中不会出现错误。
对齐:PCS层负责对接收到的数据进行对齐,确保数据能够正确地被上层的MAC层处理和解析。
总的来说,PCS层在数据链路层和物理层之间起到了一个接口的作用,负责将上层的数据进行编码、时钟恢复、传输编码和对齐等操作,以实现可靠的数据传输。


由此可见,时钟恢复,数据编码,数据对齐等操作,均在PCS层完成,如果需要传输CRC校验,可以在更上一层实现,计算CRC后,将CRC结果作为正常数据进行传输
GTH 结构
下图是GTH的架构图,从图中可以得到几个信息:
1、GTH 一般是4个一组,4个channel ,1个common ,common负责时钟部分,channel 部分对应具体的serdes;
2、时钟恢复电路在PMA部分;



普通使用中需要关注的部分如下:
8B/10B 编解码,以RX为例
GTH模块内置了8b/10b编解码
对于单个channel来说,通常会选择内部40bit 位宽,用户32bit位宽模式,因为多数协议会定义用户数据为1个word == 4 bytes

8b/10b 编码的错误指示
The 8B/10B decoder performs out-of-table error detection and drives the RXCTRL3 port High when it is enabled,
but receives a 10-bit character that cannot be mapped into a valid 8B/10B character listed in Appendix A, Valid Data Characters. When this occurs, the
non-decoded 10-bit character is piped out of the decoder through the RX data interface with this format:
• The corresponding RXCTRL1 represents the 9th bit
• The corresponding RXCTRL0 represents the 8th bit
• The corresponding RXDATA byte represents the [7:0] bits
• The corresponding RXCTRL3 represents that an invalid 8B/10B character error occurred
8b/10b comma 对齐与word对齐
用K 码做对齐,常见用作对齐的K码为K28.5和K28.1,下图就实用K28.5做对齐


这只是byte对齐了,那么word怎么对齐呢?比如CoaXPress的downconnection高速传输用的都是1个word 4个字节作为一个最小单位,那么word怎么对齐呢?GTH也已经考虑了这一点,配置如下:

对应到GTWIZARD 模块,配置如下:

根据上述配置,CoaXpress协议对应的word数据就能正确的对齐并输出
(A word consists of 4 consecutive 8B/10B characters labeled P0, P1, P2 and P3 and are transmitted in the stated order (i.e. P0 first). The receiver shall perform word alignment in order to successfully decode the packets.)
Xilinx GTH 简介 ,CoaXpress FPGA PHY 部分的更多相关文章
- xilinx和altera的fpga的不同之处!----如果不知道,你将为之付出代价! --转载
本人从2004年接触fpga开始,至今已经8年了.开发过altera的flex系列和cyclone3系列:开发过xilinx的vii和v5系列.下面谈谈本人对二者的一些不同,以便引起开发者对一些细节上 ...
- 270-VC709E 增强版 基于FMC接口的Xilinx Vertex-7 FPGA V7 XC7VX690T PCIeX8 接口卡
VC709E 增强版 基于FMC接口的Xilinx Vertex-7 FPGA V7 XC7VX690T PCIeX8 接口卡 一.板卡概述 本板卡基于Xilinx公司的FPGA XC7V ...
- Xilinx FPGA结构
FPGA是什么?FPGA是现场可编程逻辑阵列,由可编程逻辑资源(LUT和 REG),可编程连线,可编程I/O构成.Xilinx的FPGA的基本结构是一样的,但随着半导体工艺的发展,FPGA的逻辑容量越 ...
- Xilinx Altera FPGA中的逻辑资源(Slices VS LE)比较
前言 经常有朋友会问我,“我这个方案是用A家的FPGA还是X家的FPGA呢?他们的容量够不够呢?他们的容量怎么比较呢?”当然,在大部分时候,我在给客户做设计的时候,直接会用到最高容量的产品,因为我们的 ...
- Lattice系列FPGA入门相关0(Lattice与Altera、Xilinx对比及入门)
需求说明:Lattice系统FPGA入门 内容 :Lattice与Altera.Xilinx对比 来自 :时间的诗 1.Lattice与Altera.Xilinx对比 latt ...
- 202-基于TI DSP TMS320C6678、Xilinx K7 FPGA XC7K325T的高速数据处理核心板
该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP TMS320C6678和一片Xilinx FPGA K7 XC72K325T-1ffg900.包含1个千兆网口,1个FMC ...
- 基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纤卡
基于Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 四路光纤卡 1. 板卡概述 板卡主芯片采用Xilinx公司的XC7K325T-2FFG900 FPGA,pin_ ...
- 202-基于TI DSP TMS320C6678、Xilinx K7 FPGA XC72K325T的高速数据处理核心板
基于TI DSP TMS320C6678.Xilinx K7 FPGA XC72K325T的高速数据处理核心板 一.板卡概述 该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP ...
- 175-基于TI DSP TMS320C6455、Xilinx V5 FPGA XC5VSX95T的高速数据处理核心板
基于TI DSP TMS320C6455.Xilinx V5 FPGA XC5VSX95T的高速数据处理核心板 一.板卡概述 该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP ...
- Xilinx FPGA全局介绍
Xilinx FPGA全局介绍 现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产:许多设计人员并不熟悉 FPGA,亦不清楚如何将这类器件整合到设 ...
随机推荐
- CentOS7 安装Oracle11g的过程.
1. 安装preinstall https://www.cnblogs.com/mjiu/ 里面有一个简单方法: cd /etc/yum.repos.d wget http://yum.oracle. ...
- antv-x6 使用及总结
1 简介 AntV是一个数据可视化(https://so.csdn.net/so/search?q=数据可视化&spm=1001.2101.3001.7020 )的工具(https://ant ...
- bug的分类
bug的分类 语法上的问题: 在循环的时候, 1.一定要注意这个循环的对象是否是空对象:空对象就不需要进行循环了, 判断一下,空对象就不需要进行循环了: 2.在XXX.a属性的时候,要注意这个对象是否 ...
- KPlayer无人直播
KPlayer文档 其实就看这个教程就可以了: KPlayer文档 启动阿里云或者腾讯云的服务器进行这个步骤 服务器的购买链接: 腾讯云618 夏日盛惠_腾讯云年中优惠活动-腾讯云 域名特惠活动_域名 ...
- 学科知识图谱学习平台项目 :技术栈Java、Neo4j、MySQL等超详细教学
学科知识图谱学习平台项目 :技术栈Java.Neo4j.MySQL等超详细教学 0.效果展示 1.安装教程 安装Java SDK 11,下载前需要登录Oracle账号,下载链接,安装教程,测试是否能在 ...
- 从嘉手札<2024-1-2>
最近看了很多这样的文案,某音有,某扑也有很多,出于infp的被动,莫名的觉得悲伤. 悲伤的是一颗真心没有得到珍惜, 而更令我觉得悲伤的是, 人们往往会把自己炽烈如山海一样的情感倾泻给自己心仪的对象, ...
- centos7安装protobuf|序列化和反序列化工具
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总https://blog.cs ...
- Nebula Siwi:基于图数据库的智能问答助手思路分析
本文重点分析 Nebula Siwi 智能问答思路,具体代码可参考[2],使用的数据集为 Basketballplayer[3].部分数据和 schema 如下所示: 一.智能问答可实现的功能 1 ...
- ElasticSearch7.3学习(三)----采用restful风格 批量(bulk)增删改
Bulk 操作是将文档的增删改查一些列操作,通过一次请求全都做完.目的是减少网络传输次数. 语法: POST /_bulk {"action": {"metadata&q ...
- 视觉slam十四讲 ch3 三维刚体运动
视觉slam十四讲 ---CH3 三维刚体运动 三维刚体运动,即三维空间下的刚体的运动.刚体,是指在运动中和受力作用后,形状和大小不变,而且内部各点的相对位置不变的物体.在运动过程中,机器人或者飞机和 ...