当前位置: 首页 > news >正文

xilinx的高速接口构成原理和连接结构

本文来源:

  1. V3学院 尤老师的培训班笔记
  2. 【高速收发器】xilinx高速收发器学习记录
  3. Xilinx-7Series-FPGA高速收发器使用学习—概述与参考时钟
  4. GT Transceiver的总体架构梳理

文章目录

    • 一、概述:
    • 二、高速收发器结构:
      • 2.1 QUAD
        • 2.1.1 时钟
        • 2.1.2 CHANNEL的内部结构:
          • 1)TX
          • 2)RX

一、概述:

Xilinx 的高速接口称之为 transceivers(高速收发器),这部分电路是专用电路,供电等都是独立的,管脚和通用管脚不通用。每个系列的高速接口略有不同,分别为:
1.A7 的GTP
2.V7的GTH
3.K7的GTX
4.少量V7的GTZ
在这里插入图片描述

它们之间的区别在于最高线速率不同,GTZ>GTH>GTX>GTP.,结构大致相同。

手上板子的芯片是xc7a100t系列的,因此需要参考的手册是ug482。

二、高速收发器结构:

在这里插入图片描述
在这里插入图片描述
上图可以看到:A7系列的高速收发器(GTP)是上下两侧分布的,而K7系列的高速收发器(GTX)则是单列放置。

2.1 QUAD

Xilinx 的高速接口是 QUAD 为单位的,意思是 4 对收发器(channel)组成一个 QUAD ,这是收发器的最小单元。
quad内部结构图如下:
在这里插入图片描述
在这里插入图片描述
可见一个quad包括:
1.4个channel,每个channel包含一对收发器
2.1个common(共享时钟资源),包含两个PLL。
3.两个REFCLK(参考时钟)。

注释:
1.GTREFFCLK0/1 是参考时钟,是给高速接口内的 PLL 提供的参考时钟用于产生 PLL 输出
时钟的。
2.GTGREFCLK 是用于测试高速接口的测试时钟,一般我们用户不需使用,比如 IBERT 这
种测试软件可以使用。
3.SouthCLK 是由相邻的上游 QUAD 提供的时钟或者给相邻下游 QUAD 提供时钟,上图是
一个独立的 QUAD。
4.NorthCLK 是由下游的 QUAD 提供时钟,或者给相邻上游的 QUAD 提供时钟。

2.1.1 时钟

因为每一个Quad有两个外部参考时钟,因此对于每一个Quad来说,可以选择两个不同的参考时钟,每一个CHANNEL的接收端和发送端都可以独立选择参考时钟,如下图所示:
在这里插入图片描述
此外,还可以使用其他Qua的参考时钟(south clk & north clk),
在这里插入图片描述

图上可以看到:REFCLK进来必须要经过一个IBUFDS_GTE,完成差分转单端。在这里插入图片描述
IBUFDS_GTE内部结构图:
在这里插入图片描述
注释:HROW是全局时钟放在水平方向还是垂直方向的节点,ODIV2是输出给用户逻辑用的,可以选二分频或者不分频或者直接拉低降低功耗。

注意CPLL和QPLL的区别:
1.QPLL,其中的Q含义就是QUAD,即一个GTX QUAD公用的PLL。
2.CPLL,即Channel PLL,含义是每一个Channel单独拥有的PLL。
3.两者支持的线速率不同CPLL的速率要小于QPLL。

2.1.2 CHANNEL的内部结构:

在这里插入图片描述

  • Transmitter的数据流大致为: FPGA用户逻辑的数据,进入FPGA TX接口,进入PCS,再经过PMA,转换为高速串行数据输出。

  • Receiver的数据流大致为:数据由PMA部分结构,转换为并行数据进入PCS,再经过RX接口输出给FPGA用户逻辑处理。

1)TX

在这里插入图片描述

其中: 用户的并行数据实际是64bit, PCS中会插入2bit数据让他变成66bit.(做64b/66b编码),但是PCSparallel clock 和PMA parallelclock之间的交互,它并不会一次将66位取走,比如他一次取走32位,两次才会取走64位。多余的两位就取不走了,怎么办?

答:一个周期剩余2bit数据,等到16个周期之后,就满32位了,此时TX Sync Gearbox缓存了32位了,就会告诉用户端,让他停一拍,此时TX Sync Gearbox就把积累的32位传递给PMA parallelclock这边了。

2)RX

在这里插入图片描述
其中比较重要的是:Rx-PMA中有CDR(时钟恢复模块),依赖refclk,从数据中将时钟恢复出来。

相关文章:

xilinx的高速接口构成原理和连接结构

本文来源: V3学院 尤老师的培训班笔记【高速收发器】xilinx高速收发器学习记录Xilinx-7Series-FPGA高速收发器使用学习—概述与参考时钟GT Transceiver的总体架构梳理 文章目录 一、概述:二、高速收发器结构:2.1 QUAD2.1.1 时钟2.1.2 CHANNEL…...

git 上传文件夹至远端仓库的方法

上传的远端git可以是gitlab、github、gitee、gitblit或者gitCode等等 以下以GitHub为例说明: 1、登录GitHub网站(账户/密码) 2、创建一个新的空白项目(或者已有的项目)hello-world 分支是master ,这里默认即…...

【鸿蒙系统】 ---OpenHarmony加快本地编译(二)

💌 所属专栏:【鸿蒙系统】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢…...

centos配置natapp 自动配置

下载配置文件 centos 这里 我用的 natapp_autostart-master\natapp_autostart-master\systemd 文件夹下的 natapp.service 上传natapp 运行natapp客户端 在 https://natapp.cn 官网 下载客户端. 放在目录 /usr/natapp/ 运行 sudo chmod ax /usr/natapp/natapp给予可执行权…...

sell脚本多行合成一行

awk {ORS",\n"}{print $2} 120w-3-ws | awk {if(NR%10!0)ORS"";else ORS"\n"}{print $1 >> "newRefundIds.txt"}RS是awk读取文件时的行分隔符 ORS则是awk输出时的行结束符 FS是awk读入记录时的列分隔符 OFS则是awk输出时的列…...

部署prometheus 监控k8s集群

目录 1、主机清单 2、拉取镜像 3、服务安装 4、安装prometheus-operator 5、查看custom metrics api 6、获取prometheus端口 7、将 alertmanager-main 、grafana、prometheus-k8s的端口暴露出来 8、再次查看prometheus端口 9、浏览器访问IP:31940 部署k8集群…...

两个基本功不足导致的bug

作为程序员&#xff0c;基本功不好&#xff0c;可能会在工作中经常碰到一些看起来很隐蔽的 bug&#xff0c;乍看没毛病&#xff0c;自己半天还找不到问题所在。 但是&#xff0c;如果基本功扎实的同学可能一眼就能看出来。 一、HashMap 取不到值 Map<Integer, Integer>…...

【算法每日一练]-图论(保姆级教程篇16 树的重心 树的直径)#树的直径 #会议 #医院设置

目录 树的直径 题目&#xff1a;树的直径 &#xff08;两种解法&#xff09; 做法一&#xff1a; 做法二&#xff1a; 树的重心&#xff1a; 题目&#xff1a; 会议 思路&#xff1a; 题目&#xff1a;医院设置 思路&#xff1a; 树的直径 定义&#xff1a;树中距离最…...

Qt播放音乐代码示例

主界面 点击play按钮播放或暂停音乐&#xff0c;拖动进度条&#xff0c;音乐对应播放。 QWidget window;QPushButton* playButton new QPushButton("Play");// Qt 播放音乐// 创建 QMediaPlayer 对象QMediaPlayer* player new QMediaPlayer;// 指定音频文件的路径…...

多线程应用中的性能优化:创建合适的线程数

多线程应用中的性能优化&#xff1a;创建合适的线程数 在多线程应用中&#xff0c;为了降低延迟和提高吞吐量&#xff0c;我们可以采取两种主要策略&#xff1a;优化算法或者充分利用硬件性能。要发挥硬件的极致性能&#xff0c;就需要使用多线程来提高CPU或I/O的利用率。 由于…...

本地运行环境工具UPUPWANK(win)和Navicat数据库管理工具

UPUPWANK安装地址&#xff1a;https://www.upupw.net 1.进入UPUPWANK后点击一键开启 2.新增项目 这里请千万注意80端口&#xff0c;如果80端口被占用了&#xff0c;请记住去任务管理器关闭占用80端口的进程。不然就不会成功显示。&#xff08;笔者含泪警告&#xff0c;一晚上的…...

LeetCode 每日一题 2024/3/18-2024/3/24

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 3/18 303. 区域和检索 - 数组不可变3/19 1793. 好子数组的最大分数3/20 1969. 数组元素的最小非零乘积3/21 2671. 频率跟踪器3/22 2617. 网格图中最少访问的格子数3/23 254…...

Unity 鼠标拖拽3D物体跟随移动的方法

之前我们研究过UI拖拽跟随鼠标移动的方法&#xff1a;https://blog.csdn.net/mr_five55/article/details/135562325 但是该方法不适合3D场景。 假如我们要通过鼠标拖拽3D物体移动&#xff0c;那么可以使用以下控制方法&#xff1a; using System.Collections; using System.…...

数据分析-Pandas分类数据的类别排序和顺序

数据分析-Pandas类别的排序和顺序 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表&…...

利用 Claude 3 on Amazon Bedrock 和 Streamlit 的“终极组合”,开发智能对话体验

概述 通过本文&#xff0c;您将学会如何利用 Streamlit 框架快速搭建前端交互界面。该界面将集成图像上传功能&#xff0c;让用户可以方便地提交待处理图片。在后端&#xff0c;我们将借助 Amazon Bedrock 的 Message API&#xff0c;调用 Claude 3 家族中的 Sonnet 模型对图像…...

Golang基础 Label标签与goto跳转

使用方法 Label 和goto是必须的 Label可以声明再函数体的任何地方 Label的作用范围是在函数体中 Label在嵌套函数(闭包)是不可用的. 不管是在闭包里调用闭包外的Label, 还是在闭包外调用闭包里的Label 变量的声明必须在goto之前 示例 package mainimport "fmt"…...

二进制王国(蓝桥杯备赛)【sort/cmp的灵活应用】

二进制王国 题目链接 https://www.lanqiao.cn/problems/17035/learning/?contest_id177 题目描述 思路 这里就要灵活理解字典序排列&#xff0c;虽然string内置可以直接比较字符串字典序&#xff0c;但是在拼接时比较特殊&#xff0c;比如 11的字典序小于110&#xff0c;但…...

活用C语言之宏定义应用大全

零、C语言宏定义知多少 C语言的编程过程中经常会用到宏定义&#xff0c;然而如果你只是使用宏定义做一些常量的定义&#xff0c;那么你不是OUT了就是C语言小白。 那么我们在编程过程中&#xff0c;宏定义都有哪些作用呢? 常量定义 可以作为功能代码的开关 防止头文件被重复…...

【源码】I.MX6ULL移植OpenCV

编译完成的源码&#xff1a; git clone https://gitee.com/wangyoujie11/atkboard_-linux_-driver.git 1.下载源码放在自己的opecv源码目录下 2.QTOpenCV工程代码放置的位置 3.更改.pro工程文件的opencv地址 4.使用命令行编译 前提是自己环境中已经配置好arm-qt的交叉编译…...

pytorch深度学习——dataset(附数据集下载)

在学习深度学习的时候&#xff0c;我们需要考虑如何去处理数据去训练我们的模型&#xff0c;pytorch为我们提供了Dataset和DataLoader两个类来对数据进行处理&#xff0c;前者作用是提供了一种方式来获取数据及其label&#xff0c;后者的作用是为网络提供不同的数据形式。本文主…...

知识点1:ROS文件系统

学习资源为Autolabor教程一、ROS文件系统指ROS源码文件存储在硬盘中的形式。相当于文件结构WorkSpace --- 自定义的工作空间|--- build:编译空间&#xff0c;用于存放CMake和catkin的缓存信息、配置信息和其他中间文件。|--- devel:开发空间&#xff0c;用于存放编译后生成的目…...

matlab anybody opensim包括人机耦合建模、缩放、运动学_逆动力学分析,以及自由度扩建、肌肉重建、RRA_CMC仿真,从理论到代码手把手教会运动生物力学数据代处理

matlab anybody opensim包括人机耦合建模、缩放、运动学/逆动力学分析&#xff0c;以及自由度扩建、肌肉重建、RRA/CMC仿真&#xff0c;从理论到代码手把手教会运动生物力学数据代处理、辅导 paper 包含运动学动力学分析&#xff0c;肌电数据处理由于 OpenSim 的核心算法&#…...

IDM 下载管理器 下载安装

链接: https://pan.baidu.com/s/1IJ4LrAAZCfVvPyZl9VVg8g 提取码: j9c9解压前请退出所有杀毒软件或添加排除项&#xff01;&#xff01;&#xff01;此文件无毒&#xff0c;可放心使用&#xff01;&#xff01;&#xff01;此文件为免费开源绿色软件&#xff0c;请勿利用于商业…...

网络资源捕获神器:res-downloader全方位应用指南

网络资源捕获神器&#xff1a;res-downloader全方位应用指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 在数字内容日益丰…...

杨氏矩阵找第N大(小)的O(N)线性算法 LeetCode 378. Kth Smallest Element in a Sorted Matrix 373. Find K Pairs 钓鱼问题

杨氏矩阵&#xff1a;一个N*N的矩阵&#xff0c;它的每行每列都单调递增(或者宽松一些,单调不减)&#xff0c;即a[i][j]<a[i1][j], a[i][j]<a[i][j1]。遇到的两道面试题&#xff1a; 1. 输出杨氏矩阵中最小的N个数。 2. 两个升序数组A和B&#xff0c;长度都是N。从两个数…...

C++ 与 推理流水线:基于 C++ 协程实现预处理、模型计算与后处理的高并发异步编排架构

尊敬的各位技术同行&#xff0c;大家好。今天&#xff0c;我们聚焦一个在现代人工智能应用中至关重要的议题&#xff1a;如何构建高性能、高并发的推理流水线。随着深度学习模型在各行各业的广泛部署&#xff0c;将这些模型高效地集成到生产系统中&#xff0c;实现低延迟、高吞…...

2025届必备的AI辅助论文平台解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术写作范畴之内&#xff0c;AI工具已然明显地提升了研究效率&#xff0c;目前主流的论文…...

研发效能工具选型:8 款主流敏捷研发管理平台优缺点

本文将深入对比8款敏捷研发管理工具&#xff1a;PingCode、Worktile、LigaAI、飞项、码云 Gitee Enterprise、进度猫、事井然、tita项目管理 在研发效能&#xff08;DevOps&#xff09;日益受重视的今天&#xff0c;选择一款合适的敏捷管理工具已成为企业提升竞争力的关键。随着…...

淘宝 API 技术架构与实战指南:从实时数据流到 AIGC 融合的电商开发新范式

在数字经济加速渗透的今天&#xff0c;淘宝开放平台 API 已从简单的数据交互工具进化为支撑电商创新的核心基础设施。2025 年&#xff0c;淘宝 API 体系迎来重大技术跃迁&#xff0c;实时数据流、GraphQL 接口与隐私合规构成新的技术三角&#xff0c;推动电商开发进入 "毫…...

为什么你的医疗3D体绘制在NVIDIA A100上仍掉帧?——解析CUDA流同步、纹理缓存对齐与HIP-Clang跨编译器ABI兼容性三大致命盲区

第一章&#xff1a;医疗3D体绘制性能瓶颈的临床级认知 在手术导航、放射治疗计划与介入影像诊断等临床场景中&#xff0c;3D体绘制&#xff08;Volume Rendering&#xff09;并非仅关乎视觉保真度&#xff0c;而是直接关联决策时效性与操作安全性。当CT或MRI体数据分辨率超过51…...