FPGA - Xilinx系列高速收发器---GTX

news2024/10/5 19:12:55

1,GTX是什么?

GT :Gigabit Transceiver千兆比特收发器;

GTX :Xilinx 7系列FPGA的高速串行收发器,硬核

xilinx的7系列FPGA根据不同的器件类型,集成了GTP、GTX、GTH、GTZ四种串行高速收发器,可以支持多种协议如PCI Express,SATA,JESD204B等。

四种收发器主要区别是支持的线速率不同,下图可以说明在7系列里面器件类型和支持的收发器类型以及最大的收发器数量:

下图是各个系列的芯片所包含的GT资源,以及它们的相关性能参数

首先需要明确的一点是,他们都是高速收发器,只是传输速率不同,速率大小为:

GTP < GPX < GTH < GTZ < GTY < GTM

可以看到不同系列收发器个数和传输速度都不一样。

        Artix-7 中的收发器类型为GTP;
        Kintex-7 中的收发器类型为GTX;
        Virtex-7 中的收发器类型为GTX/GTH/GTZ ;
        UltraScale 中的GTH、GTY;
        UltraScale+ 中的GTR、GTH、GTY;

原理图


2,高速收发器的用途

        可以把它理解为一个高速串行并行转换器,其串行速率可达几十G。它可以将输入的并行数据转换为串行输出,或者将串行数据转换为并行数据。它既可以作为独立的发送装置或接收装置,也可以同时进行发送和接收。此外,用户可以根据需要自定义协议来实现通信,与其他IP核配合使用,以实现协议通信。例如,用于实现两块板子之间的通信,如Aurora协议,可以与Xilinx提供的Aurora IP核配合使用。GTX主要负责物理层数据的发送和接收,包括串行化和解串行化、编码和解码、时钟恢复等一系列物理层任务。此外,它还支持以下协议(见下图 该图是在数据手册截取的):


3,为什么需要高速收发器

         主要是还是速率的问题,特别是在现在对于速率要求越来越高的情况下。在高速串行口之前,当数据速率开始超过1gb /s时,并行I/O方案就会达到物理限制,并且不再能够提供可靠、经济的方式来保持信号同步。

        在早期的并行I/O总线中,接口对齐问题阻碍了与外部设备的有效通信。随着更高的速度在数字设计中变得普遍,管理信号延迟成为一个问题。

        接口对齐问题是指在并行通信中,由于各个数据位可能在物理线路长度信号传播速度等方面存在不同,因此它们可能无法在完全相同的时间到达目标设备,导致数据传输过程中发生错误。简单地说,就是各个数据线的信号需要在同一时刻到达目标,对齐就是把这个时刻统一

        之前也有一些解决方案,比如利用系统时钟来同步:两个ic之间的通信,在两个ic上都应用一个公共时钟,用于数据传输和接收

看起来好像很容易就解决了时间同步的问题,但实际上的系统是这样的

        各种延误在速率低的情况下还可以忽略,因为延误相对于有效信号来说非常小。但随着速率的提高,延误的影响越来越大,甚至导致系统上的错误。随之而来的解决方法是,不依靠系统时钟,发送方在发生数据的时候,也发送一个同步的时钟

        这样可以消除部分延迟,同时由于两根线是从同一个地方发出传输距离等也很容易做的一致,所以有些延迟也可以抵消

        不过,源同步设计导致时钟域数量的显著增加。这引入了时序约束和分析的复杂性,如现场可编程设备具有有限时钟缓冲的门阵列(FPGA),以及必须定制设计每个时钟树的专用集成电路(ASIC)。这个问题在大型并行总线上更加严重,因为电路板设计的限制常常迫使每个数据总线使用多个转发时钟。因此,32位总线可能需要4个,甚至8个转发时钟

        还有一种自同步的模式:

        数据线带着时钟,相对自同步来说,它不需要那么多的时钟线了,随之而来的时钟复制也不需要。但比特率变动时需要额外的手段来纠正。如果数据包含相当多的连续零或连续一,那么可能出现失同步的情况。此外,在传输中,噪声或者干扰可能会导致误码。

        这些问题,GTX的设计都给出了解决方案。


4,GTX IP核配置

基础知识

        GT又称之为Gigabit Transceiver 千兆比特收发器,是嵌入在FPAG芯片里面 的一种硬核

         一条lane包含一对tx和rx;

        一对tx、rx、加上cpll称之为一条通道channel;

        一个bank有4对tx和rx、两对差分时钟,也被称之为quad。

        ①参考时钟不仅可以驱动当前 bank 的上面的通道,还可以驱动相临近的 bank。 上面的bank的被称之为北North,下面的bank被称之为南South。

        ②一对外部参考时钟,最多驱动三组相邻的 bank,( quad 不超过不超过三 个),驱动的通道不超过12个


IP核配置

(1)创建工程

IP Catalog中搜索GT

(2)第一页配置

(3)第二页配置

(4)第三页配置

(5)第四页配置

(6)第五页配置

(7)第六页配置

(8)第七页 总结界面

(9)IP核生成完成

打开官方Example Design


代码框架

(1)gtwizard_0_exdes.v为整体工程的TOP文件

输入输出端口分别为:

        Q0_CLK1_GTREFCLK_PAD_N/P_IN:外部差分输入参考时钟

        DRP_CLK_IN_P/N:系统时钟

        TXP/N_OUT:发送1bit差分输出

        RXP/N_IN:接收1bit差分输入

(2)gtwizard_0_support.v

该文件主要例化了GT高速收发器的IP核,并对时钟进行了配置

例如FPGA与GT的接口:32bit的待发送数据gt0_txdata_in:

32bit的接收数据gt0_rxdata_out

(3) gtwizard_0_GT_FRAME_GEN.v

该文件用于产生发送数据的来源,本质上是从ROM中读取数据。

(4)gtwizard_0_GT_FRAME_CHECK.v

该文件用于接收到数据后,与文件中的数据源进行比对,并且记录下错误的数据个数。

(5)gtwizard_0_TB.v

        GTX收发的测试文件,在此之前,应该先了解一下LOOPBACK

        从手册中得知收发器有专门的回环模式进行测试,即进行自发自收,如下图所示有四个通道。

测试的时候选择哪种呢?

查看top文件,即gtwizard_0_exdes.v文件,LOOPBACL设置的是0,即Normal 模式,并没有进行回环测试,如下图

观察TB文件,这里是直接在仿真中把发送端和接收端用线连在一起实现回环测试


仿真波形

由于此仿真是自收发,因此我们需要关注的信号只有四个,gtwizard_0_support.v中的:

/gtwizard_0_TB/gtwizard_0_exdes_i/gtwizard_0_support_i/gt0_txdata_in
/gtwizard_0_TB/gtwizard_0_exdes_i/gtwizard_0_support_i/gt0_txcharisk_in
/gtwizard_0_TB/gtwizard_0_exdes_i/gtwizard_0_support_i/gt0_rxdata_out
/gtwizard_0_TB/gtwizard_0_exdes_i/gtwizard_0_support_i/gt0_rxcharisk_out

发送端

gt0_txcharisk_in为1时发送数据060504bc,然后gt0_txcharisk_in为0后数据gt0_txdata_in依次为0a090807,0e0d0c0b……

接收端

gt0_txcharisk_in为1时发送数据060504bc,然后gt0_txcharisk_in为0后数据gt0_rxdata_out依次为0a090807,0e0d0c0b……  

接受数据和发送端一致,测试正确!


总结:

GT高速收发器的IP Example已经具有相当完备的功能,但是GT IP 核端口信号非常多,乱七八糟的信号也多,可以使用官方的文件封装 一个非常简洁明了、看着非常舒服的用户端信号出来

如下图:

修改gtwizard_0_exdes.v文件,加入用户端接受和发送相关信号就实现上述框架!

参考:https://blog.csdn.net/weixin_44253012/article/details/136401477

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1677244.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ARM机密计算组件

安全之安全(security)博客目录导读 目录 ​一、硬件架构 1、RME 二、软件和固件架构 1、RMM 2、其他固件标准&#xff08;例如PSCI&#xff09; 三、开源实现 1、TF-A 2、Veraison 3、工具链 四、动态TrustZone技术 Arm机密计算架构(Arm CCA)引入了一系列硬件和软件…

信息化总体架构方法_2.信息化工程建设方法

1.信息化架构模式 信息化架构一般有两种模式&#xff0c;一种是数据导向架构&#xff0c;一种是流程导向架构。对于数据导向架构重点是在数据中心&#xff0c;BI商业智能等建设中使用较多&#xff0c;关注数据模型和数据质量&#xff1b;对于流程导向架构&#xff0c;SOA本身就…

如何利用3D可视化大屏提升信息展示效果?

老子云3D可视化平台https://www.laozicloud.com/ 引言 在信息爆炸的时代&#xff0c;如何有效地传达和展示信息成为了各行各业的一大挑战。传统的平面展示方式已经无法满足人们对信息展示的需求&#xff0c;3D可视化大屏应运而生&#xff0c;成为了提升信息展示效果的利器。本…

二分法的时间复杂度是logN

对数函数&#xff1a; &#xff08;a>0, a≠1&#xff0c; x>0&#xff09; 当αe时&#xff0c;记为yln x 当α10时&#xff0c;记为ylg x 当α2时&#xff0c;记为ylog x 其中x是自变量&#xff0c;函数的定义域是&#xff08;0&#xff0c;∞&#xff09;&#xff0c;…

数智转型 聚创未来 | 2024达索系统企业转型智造论坛汽车零部件专场

报名链接&#xff1a; 数智转型 聚创未来https://3ds.tbh5.com/3ds/ureg.aspx?fwbestway

Adaboost集成学习 | Matlab实现基于CNN-BiLSTM-Adaboost集成学习时间序列预测(股票价格预测)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Adaboost集成学习 | Matlab实现基于CNN-BiLSTM-Adaboost集成学习时间序列预测(股票价格预测) 模型设计 融合Adaboost的CNN-BiLSTM模型的时间序列预测,下面是一个基本的框架。 数据准备: 收集并整理用于时…

环境光遮蔽技术在AI去衣应用中的创新探索

引言&#xff1a; 随着计算机视觉和人工智能技术的飞速发展&#xff0c;AI去衣技术逐渐走进公众视野。这一技术以其独特的应用前景和技术挑战引起了广泛的关注。在实现衣物去除的同时保持图像质量的关键技术之一&#xff0c;便是环境光遮蔽技术。本文将深入探讨环境光遮蔽技术在…

“Linux”的vi / vim目录编辑器

在前面中我们了解到Linux中的基础命令&#xff0c;20多个命令每个记住格式是&#xff1a;命令 选项 参数或者文件名&#xff0c;下面在了解一下最后两个命令&#xff1a;tree命令和find命令 一、补充的命令 &#xff08;1&#xff09;tree 作用&#xff1a;以竖状显示文件…

什么是BI看板?选择BI看板制作工具时一定要考虑这些方面

BI看板也称为商业智能仪表板&#xff0c;是一种直观的数据可视化工具&#xff0c;它将关键业务指标&#xff08;KPIs&#xff09;和数据以图表、图形和表格的形式集中展示&#xff0c;使用户能够快速获取企业运营的实时概览。 这种数据可视化方式不仅使得复杂的数据信息易于理…

【环境安装】nodejs 国内源下载与安装以及 npm 国内源配置

前言 Node.js 是一个基于 Chrome V8 引擎构建的 JavaScript 运行时环境&#xff0c;它能够使 JavaScript 在服务器端运行。它拥有强大的包管理器 npm&#xff0c;使开发者能够轻松管理和共享 JavaScript 代码包。 在中国&#xff0c;由于众所周知的原因&#xff0c;我们可能会…

Salesforce AI研究: 从奖励建模到在线RLHF工作流

摘要 该研究在本技术报告中介绍了在线迭代基于人类反馈的强化学习(Online Iterative Reinforcement Learning from Human Feedback, RLHF)的工作流程,在最近的大语言模型(Large Language Model, LLM)文献中,这被广泛报道为大幅优于其离线对应方法。然而,现有的开源RLHF项目仍然…

【微信小程序开发(从零到一)【婚礼邀请函】制作】——任务分析和效果实现的前期准备(1)

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

第188题|幂级数的展开的常规方法(一)|武忠祥老师每日一题

解题思路&#xff1a;求幂级数有两种方法&#xff0c;一种是直接法&#xff0c;这里显然不太好求&#xff0c;还有一种是利用现有展开式展开&#xff0c;我们看到分母 可以分解因式成(x6)(x-1),进而拆解成一次式。拆解成一次式的目的是为了使用一下两个展开式。 第一步&#xf…

51单片机小车制造过程记录

首先感谢B站up主好家伙vcc的资料。 这次小车做出来虽然资料挺全的&#xff0c;但中间还是犯了很多不该犯的错误。 第一个&#xff0c;物料这次我们搞错了挺多&#xff0c;最离谱的应该是最小系统板都错了。 资料里用的stm32f103c8t6&#xff0c;我们开始买成了stm32f103c8t6。…

深度学习:光流估计新范式

0.概述 在这篇文章中&#xff0c;我们将讨论两种基于深度学习的光流运动估计方法。FlowNet是第一个用于计算光流的CNN方法&#xff0c;RAFT是当前最先进的估计光流的方法。我们还将看到如何使用作者提供的经过训练的模型来使用PyTorch对新数据进行推断。 1. FlowNet FlowNet…

银行核心业务详解

银行的核心业务是其运营和盈利的基础&#xff0c;下面我将详细介绍这些核心业务&#xff1a; 存款业务&#xff1a;存款业务是银行最基本的资金来源之一。银行通过吸收公众的存款&#xff0c;为贷款和投资活动提供资金。存款业务分为活期存款、定期存款、储蓄存款等多种形式。…

DDoS攻击揭秘与网站防护策略

DDoS攻击&#xff08;分布式拒绝服务攻击&#xff09;是一种利用大量被控制的计算机或智能设备&#xff08;如僵尸网络&#xff09;对目标网站或服务器发起大量无效请求或数据流量&#xff0c;从而导致目标系统资源耗尽、服务崩溃或无法处理正常请求的攻击方式。这种攻击通常是…

深入解析Linux逻辑卷管理器(LVM)

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Linux &#xff1a;从菜鸟到飞鸟的逆袭》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、前言 1、Linux的起源与发展 2、什么是逻辑卷管理器&…

考研数学|李林《880》PK李永乐《660》,你用对了吗?

建议先在强化之前做660&#xff0c;然后在强化的时候再做880。 660整体难度属于基础阶段到强化阶段。而且是选填部分的题目&#xff0c;所以还是要做一些其他题 然后说一下推荐的习题册&#xff1a;基础不好先做1800、强化之前660&#xff0c;强化可选880/1000题。但是传统习题…

ABAP ALSM_EXCEL_TO_INTERNAL_TABLE 导入Excel的几个问题

1、没有办法多页签 2、单元格50个字符限制&#xff0c;每个单元格仅读取50个字符 3、Excel单元格总不能有不可见字符换 eg 回车&#xff0c;换行 # 等否则读取的结果会加上引号