详解Xilinx JESD204B PHY层端口信号含义及动态切换线速率(JESD204B五)
点击进入高速收发器系列文章导航界面
Xilinx官方提供了两个用于开发JESD204B的IP,其中一个完成PHY层设计,另一个完成传输层的逻辑,两个IP必须一起使用才能正常工作。
7系列FPGA只能使用最多12通道的JESD204B协议,线速率为1.0至12.5 Gb/s;而UltraScale和UltraScale+系列FPGA还可以使用最多8通道的JESD204C协议,线速率为1.0至32 Gb/s。
PHY层的IP是在GTX/H的基础上封装得到的,因此GTX/H的很多原理在该IP中依旧可以使用,包含共享逻辑的内核框图如下所示。
下图是该IP的一个使用场景,包含三路JESD204B的收发通道,此处使用了三个PHY IP,其实可以只使用一个三通道的PHY,通过AXI接口调节各个通道的线速率。
1、端口信号
手册对该IP的讲解比较简单,没有其内部详细的框图,因此从端口信号出发,分析其功能。图1是包含三个收发器通道的端口信号框图,端口信号的含义如下表所示:
信号 | I/O | 含义 |
---|---|---|
txoutclk | O | 收发器的输出时钟,该时钟来自TX主通道,一般不会使用。 |
rxoutclk | O | 收发器的输出时钟,该时钟来自RX主通道,一般不会使用。 |
tx_core_clk | I | 用于驱动收发器txusrclk2的内核时钟,频率为发送通道线速率/40。 |
rx_core_clk | I | 用于驱动收发器rxusrclk2的内核时钟,频率为接收通道线速率/40。 |
drp_clk | I | 动态重新配置端口(DRP)时钟。 |
cpll_refclk | I | 收发器通道PLL的参考时钟。 |
qpll_refclk | I | 7系列四通道QPLL的参考时钟。 |
tx_reset_gt | I | TX通道复位信号。 |
rx_reset_gt | I | RX通道复位信号。 |
tx_reset_done | O | TX通道复位完成指示信号。 |
rx_reset_done | O | RX通道复位完成指示信号。 |
tx_sys_reset | I | TX通道收发器及PLL复位信号。 |
rx_sys_reset | I | RX通道收发器及PLL复位信号。 |
gtN_txdata[31:0] | I | 发送通道的用户数据接口,N取值范围[0,lane-1]。 |
gtN_txcharisk[3:0] | I | 发送通道的K码指示信号,N取值范围[0,lane-1]。 |
gt_prbssel[2:0] | I | 设置发送通道的PRBS模式。 |
gtN_rxdata[31:0] | O | 接收通道的用户数据接口,N取值范围[0,lane-1]。 |
gtN_rxcharisk[3:0] | O | 接收通道的K码指示信号,N取值范围[0,lane-1]。 |
rxencommalign | I | 逗号对齐指示信号,高电平有效。 |
txp_out[N:0] | O | 正差分串行数据输出, N取值范围[0,lane-1]。 |
txn_out[N:0] | O | 负差分串行数据输出, N取值范围[0,lane-1]。 |
rxp_in[N:0] | I | 正差分串行数据输入, N取值范围[0,lane-1]。 |
rxn_in[N:0] | I | 负差分串行数据输入, N取值范围[0,lane-1]。 |
我在网上发现很多人对tx_core_clk的频率为什么是线速率除以40不理解,一些博主给出的答案是手册上这么写的,手册确实是这么写的,没有什么毛病。
但是前面我们已经详细分析了GTX的时钟架构,要知道这个原因还不是易如反掌吗?
首先JESD204B的PHY是在GTX/H的基础上封装得到的,并且tx_core_clk就是GTX/H的txusrclk2,那只需要知道txusrclk2的频率计算方式即可。
JESD204B采用8B10B编码,则如下图可知,输入数据为32位,编码后的数据位宽为40,则txusrclk2的频率为线速率除以40。不管PCS内部并行数据位宽是20位还是40位,都不会影响txusrclk2的频率,这个参数只会影响txusrclk的频率。
7系列FPGA该IP的复位框图如下所示,sys_reset和reset_gt两个复位的范围不一样,reset_gt只对GTX/H进行复位,而sys_reset会同时复位QPLL、CPLL以及内部的逻辑部分,范围更大。
其余端口信号都比较简单,是GTX的8B10B编码方式的简化端口信号,不再赘述其含义。该IP还可以通过一组axi_lite端口去配置其内部的寄存器,这部分信号上表并没有列出。还可以把调试接口引出,调试接口相关信号也与GTX的信号基本一致,所以不再赘述。
2、寄存器
该IP内部提供了很多寄存器,用户可以通过axi_lite总线进行配置,如下图所示,很多只读寄存器,通过这些寄存器可以获取IP的一些配置参数。
内部还有很多配置GTX/H的寄存器,比如回环模式、预加重、去加重、均衡器等等,如下图所示。
上述这些寄存器要么在GTX/H中经常出现,要么就是一些只读的状态寄存器,用户一般会使用到的其实是更改线速率的相关寄存器,其实就是更改QPLL/CPLL的分频系数。
2.1、更改QPLL参数配置线速率
QPLL内部框图如下所示,首先外部时钟信号从5处输入,经过M倍分频后到达4处,4和3一起输入鉴相器,然后经过环路滤波器,当3和4的相位频率相同时,QPLL输出锁定。
GTX的压控振荡器VCO可以输出两种频率范围,Lower Band的范围是5.93~8GHz,Upper Band的范围是9.8~12.5GHz。而GTH QPLL的VCO频率范围是8~13.1GHz。
上图2处是输出时钟信号,1处是VCO输出信号,3处是VCO输出信号经过N分频后的反馈信号。
因为QPLL锁定的条件是鉴相器输入信号频率相位保持一致,因此会有如下公式fPLLClkin / M = fPLLClkout * 2 / N,最终计算得到fPLLClkout = (fPLLClkin * N) / (2 * M)。
如下图所示,QPLL或者CPLL的输出时钟经过数据选择器作为CDR的参考时钟信号,CDR调整该时钟和接收数据的相位后,经过D分频后作为串并转换(SIPO)的串行时钟信号。
在前文分析GTX内部时钟架构的时候推测出SIPO和ISPO模块是双沿传输数据的,因此可以计算得到线速率为f(LineRate)=f(pllClkOut)*2/D。
因此可以通过设置M、N、D和VCO的输出频段等几个参数达到更改线速率的效果,比如参数M与QPLL_REFCLK_DIV寄存器的值对应。
上图中M和N参数对应的寄存器地址和设置如下所示,QPLL需要注意VCO的频段设置,超出范围则无法得到正确的输出时钟频率。
由于参数D是位于PMA内部,与QPLL和CPLL没有关系,因此不管使用QPLL还是CPLL,分频系数D的寄存器均如下所示,因为两个通道均有该结构,因此都需要设置该参数。
2.2、更改CPLL参数配置线速率
CPLL比QPLL会简单一点,GTX的VCO输出频率范围1.63.3GHz,GTH的VCO输出频率范围1.65.16GHz。
CPLL锁定条件为鉴相器的两个输入频率和相位保持一致,最终得到如下公式:
QPLL和CPLL的输出时钟与线速率关系是一样的,因此不再赘述;最终也只需要配置N1、N2、M、D这几个参数,就可以改变线速率。CPLL这几个参数对应的寄存器名和取值范围如下图所示。
参数D的配置与图11一致,一般情况下不需要去修改这些参数,在配置IP时vivado会自动计算出这些寄存器的数值。但是如果在系统运行时,想要去更改某路收发器的线速率,就必须了解这些寄存器的配置原理。
配置这些参数时,首先要考虑VCO的频率范围,如果存在多组参数能够满足要求的情况,则选中数值较小的分频参数那一组。
上述通过axi_lite配置高速收发器内部的参数,因为该IP可以包含多个高速收发器通道。因此在配置具体的高速收发器之前,需要通过地址为0x24的寄存器写入后续需要配置的高速收发器通道。否则将会对默认的高速收发器通道进行配置,导致其余收发器的参数没有配置。
该IP其实比较简单,只是对GTX/H进行了简单封装,接收端连对齐都没有实现,必须配合JESD204B的发送或接收模块一起使用才行。后面先单独仿真一下该模块,在与上层IP一起使用。
该手册可以在公众号后台回复“xilinx手册”(不包括引号),在其的JESD204B文件夹中获取。
相关文章:

详解Xilinx JESD204B PHY层端口信号含义及动态切换线速率(JESD204B五)
点击进入高速收发器系列文章导航界面 Xilinx官方提供了两个用于开发JESD204B的IP,其中一个完成PHY层设计,另一个完成传输层的逻辑,两个IP必须一起使用才能正常工作。 7系列FPGA只能使用最多12通道的JESD204B协议,线速率为1.0至12.…...
Java面试——场景题
1.如何分批处理数据? 1.使用LIMIT和OFFSET子句: 这是最常用的分批查询方法。例如,你可以使用以下SQL语句来分批查询数据: SELECT * FROM your_table LIMIT 1000 OFFSET 0; 分批查询到的数据在后端进行处理,达到分批…...

xss-labs靶场第一关测试报告
目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、注入点寻找 2、使用hackbar进行payload测试 3、绕过结果 四、源代码分析 五、结论 一、测试环境 1、系统环境 渗透机:本机(127.0.0.1) 靶 机:本机(127.0.0.…...

微软PowerBI认证!数据分析师入门级证书备考攻略来啦
#微软PowerBI认证!数据分析师入门级证书! 😃Power BI是一种强大的数据可视化和分析工具,学习Power BI,能提高数据的分析能力,将数据转化为有意义的见解,并支持数据驱动的决策制定。 ㅤ ✨微软P…...

上海AI Lab视频生成大模型书生.筑梦环境搭建推理测试
引子 最近视频生成大模型层出不穷,上海AI Lab推出新一代视频生成大模型 “书生・筑梦 2.0”(Vchitect 2.0)。根据官方介绍,书生・筑梦 2.0 是集文生视频、图生视频、插帧超分、训练系统一体化的视频生成大模型。OK,那就让我们开始吧。 一、模…...

3D看车如何实现?有哪些功能特点和优势?
3D看车是一种创新的汽车展示方式,它利用三维建模和虚拟现实技术,将汽车以更真实、更立体的形式呈现在消费者面前。 一、3D看车的实现方式 1、三维建模: 通过三维建模技术,按照1:1的比例还原汽车外观,包括车身线条、细…...
Pytorch中不会自动传播梯度的操作有哪些?
在 PyTorch 中,某些生成张量的操作本身不会创建与计算图相关联的梯度信息。这些操作通常用于初始化张量,并且默认情况下不需要进行梯度计算。以下是一些常见的不会自动传播梯度的张量生成操作: 数值初始化操作: torch.linspace():…...

【设计模式】软件设计原则——开闭原则里氏替换单一职责
开闭原则内容引出 开闭原则 定义:一个软件实体,类,函数,模块;对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。可以提高软件的可复用性和可维护性。 开发新功能时,尽量不修…...

项目完整开发的流程
流程 1.设计产品 2.写需求文档 2.1需求分析,后端设计数据库,建表,客户沟通,说完签字,留证据,防止后面扯皮,和防止后续变需求重新写业务 3.画原型图,也就是草图,初始的…...

性能测试学习6:jmeter安装与基本配置/元件/线程组介绍
一.JDK安装 官网:https://www.oracle.com/ 二.Jmeter安装 官网:http://jmeter.apache.org/download_jmeter.cgi 下载zip包,zip后缀那个才是Windows系统的jmeter 三.Jmeter工作目录介绍 四.Jmeter功能 1)修改默认配置-汉化 2&am…...

大数据ETL数据提取转换和加载处理
什么是 ETL? 提取转换加载(英语:Extract, transform, load,简称ETL),用来描述将资料从来源端经过抽取、转置、加载至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。 ETL&…...
物理与环境安全技术
目录 物理安全 环境安全 物理安全 物理安全是指通过实施一系列的防护措施,以保护人员、设备、设施和信息资源免受物理上的威胁、损坏或非法入侵。 访问控制:限制对数据中心、机房等关键设施的物理访问。通常采用的措施有门禁系统(使用门禁…...

手把手教你如何配置好VS Code的WEB基础开发环境(保姆级)
1. VS Code介绍 微软旗下的多场景开发环境软件,支持JAVA、C、C#、C、WEB、VUE、CSS、HTML、Python等等等 如果你刚刚开始编程或者准备学习WEB,那么我强烈建议你使用这款软件 缺点:(针对初学者) 需要安装各种各样的插…...
高性能、编译器编写语言、编程语言的高低贵贱
高性能 高性能是一个通用名词,可在服务器、客户端甚至浏览器实现高性能。对于大型网站、服务器后端、游戏后端,高性能是一个不可绕过的槛。 高性能技术 池机制 静态分配:就像编译型语言对代码的预处理,不像解释型语言动态解析。可…...
Python安装库时使用国内源pip install -i
普通 安装方式会从国外站点下载, 首先是慢,再有可能会下载失败 所以一般指定国内源 示例 正常情况下,安装pandas这个模块 pip install pandas指定源命令如下: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pan…...

Linux 再入门整理:详解 /etc/fstab 文件
目录 1. 什么是 /etc/fstab2. /etc/fstab 文件的格式2.1 设备文件 (Device)2.2 挂载点 (Mount Point)2.3 文件系统类型 (File System Type)2.4 挂载选项 (Mount Options)2.5 Backup Operation(dump 参数)2.6 Pass Order (fsck 参数)2.6.1 参数设置2.6.2 …...

2.8 双绞线、同轴电缆、光纤与无线传输介质
传输介质及分类 传输介质也称为传输媒体,它是发送设备和接收设备之间的物理通路。 传输介质可分为导向传输介质和非导向传输介质。在导向传输介质中,电磁波被导向沿着固体媒介(铜线或光纤)传播,而非导向传输介质可以…...

OBOO鸥柏:布局于为无人机展厅行产业提供LCD液晶显示终端
新华网快讯,于10月9日消息,有投资者在互动平台向OBOO鸥柏公司提问:您好!目前有哪些工业/商用显示产品应用于无人机展厅展馆场景?能否着重介绍下贵司屏幕主要应用哪些品牌无人机数字化展厅展馆做保障? 鸥柏…...

win10状态栏中 “音量” 符号丢失,而在“打开或关闭系统图标”中音量开关无法调节的解决方法
最近在使用电脑需要调节音量时,突然发现电脑右下角的音量图标不见了,在网上搜索了,测试了许多种方法,都没有解决这个问题。 后面想想,使用其他途径,或许可以解决了我的这个问题,终于功夫不负有心…...

Mysql 学习——项目实战
MySQL 学习——项目实战 项目出处 博主:Asmywishi Linux-Ubuntu启动Mysql sudo mysqlData preparation Create Database and Table Create database : create database mysql_example1;Start database : use mysql_example1;Create Student table : # 学生表…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...