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

本文来源:

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

一、概述:

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,从数据中将时钟恢复出来。

相关推荐

  1. 数据库连接概念原理

    2024-03-24 08:12:02       7 阅读
  2. gpt构造原理

    2024-03-24 08:12:02       13 阅读
  3. 接口构成

    2024-03-24 08:12:02       17 阅读
  4. MySQL—数据页结构原理

    2024-03-24 08:12:02       16 阅读
  5. C++完成Connect连接数据接口测试

    2024-03-24 08:12:02       43 阅读
  6. Vivado link synplify edf xilinx ip或者原语

    2024-03-24 08:12:02       41 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-24 08:12:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-24 08:12:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-24 08:12:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-24 08:12:02       20 阅读

热门阅读

  1. Ubuntu 22.04 安装配置时间同步服务器

    2024-03-24 08:12:02       19 阅读
  2. Eureka和Nacos的关系

    2024-03-24 08:12:02       18 阅读
  3. Python学习笔记06

    2024-03-24 08:12:02       18 阅读
  4. B3626 跳跃机器人

    2024-03-24 08:12:02       21 阅读
  5. 第二十七章:Docker Nginx 部署

    2024-03-24 08:12:02       15 阅读
  6. P9240 [蓝桥杯 2023 省 B] 冶炼金属 Python

    2024-03-24 08:12:02       16 阅读
  7. Spring MVC的<mvc:view-controller>标签

    2024-03-24 08:12:02       14 阅读
  8. Github 2024-03-23 开源项目日报 Top10

    2024-03-24 08:12:02       16 阅读
  9. arm核的DMPIS是如何计算的

    2024-03-24 08:12:02       18 阅读
  10. 使用 AWS CloudWatch 全面监控 SQS 队列

    2024-03-24 08:12:02       20 阅读
  11. 基于AWS云服务构建智能家居系统的最佳实践

    2024-03-24 08:12:02       17 阅读
  12. Redis 教程系列之Redis 安全(六)

    2024-03-24 08:12:02       22 阅读
  13. xss漏洞总结

    2024-03-24 08:12:02       15 阅读