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

解密GTH时钟架构:一网打尽收发器时钟之谜

背景:在学习高速接口协议中,往往容易被GTH架构的时钟结果混淆。为什么会有这么多时钟?这些时钟分别是干什么的?

资料:UltraScale Architecture GTH Transceivers UG576 (v1.7.1) August 18, 2021

本文为UG576的学习记录。以下内容全部在官方文档中有介绍。

参考时钟输入输出结构

GTH 收发器中的基准时钟结构支持两种工作模式:输入模式和输出模式。

输入模式

基准时钟输入模式的结构如下图所示。输入端在每个支路均采用内部 50Ω 端接,具体连接如下:

输出模式

可以将内部恢复时钟以差分信号的形式稳定输出到外部专用基准时钟I/O引脚。

一个quad里面有四个独立通道,每个通道都有恢复出的独立的恢复时钟。可以用专用的原语输出这四个通道的任意一个时钟到专用的引脚。

参考时钟选择和分配

UltraScale系列GTH提供多种参考时钟输入。在一个quad中,包含四个GTH收发器通道,每个通道可以使用的参考时钟为6种。参考时钟根据速率的不同选择输入到QPLL或者CPLL。包含本地参考时钟GTREFCLK00/10和GTGREFCLK1。为了实现跨通道的时钟传输,XLINX还支持南向SOUTH和北向NORTH时钟。GTNORTHREFCLK00/10和GTSOUTHREFCLK00/10。

下图是参考时钟接入QPLL0和QPLL1两个。

下图是参考时钟接入CPLL。

单路外部参考时钟模式

一个quad包含两对专用差分基准时钟输入引脚。MGTREFCLKP/MGTREFCLKN。要使用这个必须要例化IBUFDS_GTE3/4原语,这个是xilinx专用的一个时钟输入模块。内部拥有50Ω的端接电阻,确保时钟稳定传入芯片内部。

单路外部参考时钟可以同时为一个quad内的收发器提供统一标准。GTHE3/4_COMMON 原语:QPLL参考。GTHE3/4_CHANNEL 原语:CPLL参考。用户设计中需要将通过IBUFDS_GTE3/4输出端口的O的时钟连接到GTHE3/4_COMMON 原语和GTHE3/4_CHANNEL 原语的GTREFCLK0端口。

一个参考也可以连接到内部多个quad的参考时钟端口。使用这种模式是xilinx工具会自动完成必要的调整,包括,南北时钟布线资源配置。这种设计模式大大简化了跨组时钟路由的复杂度。

多路外部参考时钟使用模型

一个quad里面包含两对专用差分时钟输入引脚。MGTREFCLK0P/N和MGTREFCLK1P/MGTREFCLK1N。都可以连接到外部时钟源。使用过程中必须要遵循以下规则,每对引脚都必须实例化对应IBUFDS_GTE3/4原语。内部需要将外部的参考基准时钟MGTREFCLK0P/N连接到GTHE3/4_COMMON和GTHE3/4_CHANNEL的GTREFCLK0端口。第二路参考时钟MGTREFCLK1P/N连接到GTHE3/4_COMMON和GTHE3/4_CHANNEL的GTREFCLK1端口。

多路时钟跨通道配置

当外部接入两组参考时钟,对于同一通道组quad内的每个收发器,均可访问其正上方和正下方各一个quad的专用时钟。如下图所示,上方通道quad的MGTREFCLK0P/N可以连接到下方quad的GTSOUTHREFCLK0。MGTREFCLK1P/N可以连接到下方quad的GTSOUTHREFCLK1。下图是使用CPLL的参考时钟连接方法。

下图是使用QPLL的参考时钟连接方法。使用QPLL时,南北参考时钟变为GTSOUTHREFCLK00/01和GTSOUTHREFCLK10/GTSOUTHREFCLK11。

CPLL

每个GTH收发器通道均包含一个环形振荡器的通道锁相环CPLL。其时钟架构如图所示。

发送端和接收端时钟分频器可以独立选择时钟源。即可以从QPLL0/1获取时钟,也可以从本通道CPLL获取时钟。这种独立选择机制使得TX数据通路与RX数据通路可使用不同的基准时钟输入,从而实现异步频率运行。如上图所示,CPLL时钟为发送接收端的时钟分频器提供了时钟,为后续的PMA和PCS部分提供时钟。(注:感觉这地方也和transceiver输出的时钟分为TX和RX的userclk相关)

CPLL架构概念图

输入时钟在进入phase frequency Detector之前,可以被M进行分频。同时输出时钟VCO会被N1和N2进行分频反馈给phase frequency Detector。PLL锁定指示会根据M分频器和N1/N2分频器来判断时钟是否锁定。

另外CPLL收发器时钟工作频率范围为2.0GHZ到6.25GHZ。

CPLL输出频率计算公式

F_{pllClkout}=F_{pllClkin}*\frac{N1*N2}{M}

线速率计算公式

F_{lanerate}=\frac{F_{pllclkout}*2}{D}

D为分频系数。代表TX or RX clock divider block的分频值。下表是CPLL的分频参数。

另外xilinx还支持动态配置CPLL。

QPLL

每个Quad包含两个基于LC结构的锁相环,称为QPLL0和QPLL1。当工作线速率超出CPLL的工作范围时,必须使用QPLL0/1。QPLL0/1的输出会送至Quad内每个串行收发器发送和接收端的分频器模块。用于控制后续的硬核PMA部分以及软核的PCS部分。与CPLL的时钟架构类似,如下图。

QPLL架构概念图

不同的是QPLL的VCO支持的时钟频率范围不一致。大致的频率范围如下表。但是由于不同的器件存在差异,需要自行查阅相关器件数据。当选择低频段VCO时,高频段VCO会自动断电。(这个软件会自动根据应用需求调整)

QPLL输出频率计算公式

F_{pllClkout}=F_{pllClkin}*\frac{N}{M*2}

线速率计算公式

F_{lanerate}=\frac{F_{pllclkout}*2}{D}

下表是QPLL参数。

Xilinx的transceiver的时钟架构学习完毕。

http://www.dtcms.com/a/362761.html

相关文章:

  • 火语言 RPA 界面应用生成:低代码逻辑下的功能设计与场景适配
  • PowerPoint和WPS演示如何循环放映PPT
  • 想找Gamma的平替?这几款AI PPT工具值得试试
  • 从技术架构到经济价值:低代码在企业开发中的成本节约潜力
  • LeetCode 925.长按键入
  • 哈希表-面试题01.02.判定是否互为字符重排-力扣(LeetCode)
  • 趣味学RUST基础篇(HashMap)
  • 二叉树的非递归遍历 | 秋招面试必备
  • Spring Bean
  • LLM面试50问:NLP/RAG/部署/对齐/安全/多模态全覆盖
  • R语言根据经纬度获得对应样本的省份
  • WPF依赖属性和依赖属性的包装器:
  • iOS混淆工具实战 视频流媒体类 App 的版权与播放安全保护
  • 安卓学习 之 gradle下载失败的解决方法
  • Elasticsearch面试精讲 Day 5:倒排索引原理与实现
  • 跨越产业技术障碍、创新制造模式的智慧工业开源了
  • 【开题答辩全过程】以宠物生活社区为例,包含答辩的问题和答案
  • 扩散模型驱动的智能设计与制造:下一场工业革命?
  • 最新!阿里财报电话会蒋凡与吴泳铭透露重要信息:淘宝闪购成绩斐然;零售与AI双轮驱动;阿里云推出“Agent Bay”新产品···
  • 物联网为何离不开天硕工业级SSD固态硬盘?
  • maven 常用指令
  • Corona渲染噪点终结指南:3ds Max高效去噪全攻略
  • 【3D 入门-3】常见 3D 格式对比,.glb / .obj / .stl / .ply
  • 通信中FDD和TDD的区别
  • 【SpringBootWeb开发】《一篇带你入门Web后端开发》
  • 242. 有效的字母异位词| 349. 两个数组的交集
  • 框架-SpringMVC-1
  • 手写Muduo网络库核心代码1-- noncopyable、Timestamp、InetAddress、Channel 最详细讲解
  • hive udf 执行一次调用多次问题
  • 算法 --- 模拟