我是靠谱客的博主 英俊冰棍,最近开发中收集的这篇文章主要介绍GT Transceiver的TX Buffer功能块,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

上篇文章讲了8B/10B编码功能模块,这篇文章讲的是TX Buffer,但是在正式进入主题之前,为了内容的完整性,提一下Tx Gearbox,这是个什么?

我们看下图:

TX功能模块示意

TX Gearbox和8B/10B Encoder从电路结构上看,地位相同,都是进入一个选择器。
其作用是提供64B/66B编码,一些高速数据率协议使用64B/66B编码,以减少8B/10B编码的开销,同时保留编码方案的好处。
关于其具体的功能,以及使用注意事项,一时半会也弄不清楚,这里暂时就不讲了。深入了解,请看手册。

正文

TX buffer的作用

GTX/GTH收发器的TX数据通路有两个用于PCS的内部并行时钟域:PMA并行时钟域(XCLK)和TXUSRCLK域。为了传输数据,XCLK速率必须与TXUSRCLK速率相匹配,并且必须解决两个域之间的所有相位差。下图显示了XCLK和TXUSRCLK域的情况。

TX时钟域

GTX/GTH Transmitter包括一个TX缓冲器和一个TX相位校准电路,以解决XCLK和TXUSRCLK域之间的相位差异。当TX buffer被旁路时,TX相位校正电路(phase alignment)被使用。所有的TX数据路径必须使用TX缓冲器或TX相位对准电路。

TX buffer与TX phase alignment的优缺点

下面给出缓冲区和相位对齐之间的权衡。

  1. 易用性:
  • 在可能的情况下,建议使用TX缓冲器。它很稳定,而且更容易操作。

  • 相位对齐是一个高级功能,需要额外的逻辑和对时钟源的额外限制。TXOUTCLKSEL必须选择GTX/GTH收发器参考时钟作为TXOUTCLK的来源,以驱动TXUSRCLK。

  1. 延迟
  • 如果低延迟是关键,必须绕过TX缓冲器。

  • 相位对齐在TX数据通路中使用较少的寄存器,以实现较低的和确定的延时。

  1. TX Lane-to-Lane Deskew
  • TX相位对齐电路可用于减少独立的GTX/GTH收发器之间的线路偏移(lane skew)。所有涉及的GTX/GTH收发器必须使用相同的线路速率。

Tx buffer的部分端口与属性

下面介绍一下TX buffer的端口TXBUFSTATUS[1:0]:

TX缓冲区状态。
TXBUFSTATUS[1]: TX缓冲区的溢出或下溢状态。
当TXBUFSTATUS[1]被设置为高电平时,它一直保持高电平,直到TX缓冲器被复位。
1:TX FIFO有溢出或下溢。
0:TX FIFO没有溢出或下溢错误。
TXBUFSTATUS[0]: TX缓冲区的满度。
1:TX FIFO至少满了一半。
0:TX FIFO小于半满。


再介绍两个属性:

TX_XCLK_SEL:

选择用于驱动PMA并行时钟域(XCLK)的时钟源。
TXOUT: 选择TXOUTCLK作为XCLK的来源。在使用TX缓冲器时使用。
TXUSR:选择TXUSRCLK作为XCLK的来源。在绕过TX缓冲器时使用。


TXBUF_RESET_ON_RATE_CHANGE:

GTX/GTH收发器在速率变化时内部产生的TX缓冲器复位。
TRUE: 启用速率变化时的自动TX缓冲区复位。
FALSE: 禁用速率变化时的自动TX缓冲器复位。


TX buffer的复位

每当TXBUFSTATUS表明出现溢出或下溢情况时,就应复位TX缓冲区。可以通过使用 GTTXRESET、TXPCSRESET 或当 TXBUF_RESET_ON_RATE_CHANGE = TRUE 时 GTX/GTH 收发器内部生成的 TX 缓冲器在速率变化时复位。

GTTXRESET的断言会触发一个序列,复位GTX/GTH收发器的整个发射器。

这些设置用于启用TX缓冲器,以解决XCLK和TXUSRCLK域之间的相位差异:

  • TXBUF_EN = TRUE
  • TX_XCLK_SEL = TXOUT

近期回顾

  • TX的8B/10B编码功能

  • GT Transceiver的动态重配置端口

  • GT Transceiver的回环模式

  • GT Transceiver的电源控制

  • GT Transceiver的复位与初始化(4)RX初始化和复位流程

  • GT Transceiver的复位与初始化(3)TX初始化和复位流程

  • GT Transceiver的复位与初始化(2)CPLL复位以及QPLL复位

  • GT Transceiver的复位与初始化(1)Transceiver复位的两种类型和两种模式

  • GT Transceiver中的重要时钟及其关系(10)RXOUTCLK的来源及其生成

  • GT Transceiver中的重要时钟及其关系(9)RXUSERCLK和RXUSER_CLK2的生成

  • GT Transceiver中的重要时钟及其关系(8)TXOUTCLK的来源及其产生

  • GT Transceiver中的重要时钟及其关系(7)TXUSRCLK以及TXUSRCLK2的产生

  • FPGA 核和FPGA Fabric的区别是什么?

  • GT Transceiver中的重要时钟及其关系(6)TXUSRCLK以及TXUSRCLK2的用途与关系

  • GT Transceiver中的重要时钟及其关系(5)QPLL的工作原理介绍

  • GT Transceiver中的重要时钟及其关系(4)CPLL的工作原理介绍

  • GT Transceiver中的重要时钟及其关系(3)多个外部参考时钟使用模型

  • GT Transceiver中的重要时钟及其关系(2)单个外部参考时钟使用模型

  • GT Transceiver中的重要时钟及其关系(1)GT Transceiver参考时钟

  • FPGA的设计艺术(11)FPGA的构建过程

  • FPGA的设计艺术(8)最佳的FPGA开发实践之严格遵循过程

  • GT Transceiver的总体架构梳理

  • Vivado中用于时钟操作的几个Tcl命令

  • 高速串行总线设计基础(六)揭秘SERDES高速面纱之数据包与参考时钟要求

  • 高速串行总线设计基础(八)揭秘SERDES高速面纱之CML电平标准与预加重技术

  • FPGA基础知识极简教程(1)从布尔代数到触发器

  • FPGA基础知识极简教程(7)详解亚稳态与跨时钟域传输

  • 静态时序分析中的四类时序路径

  • 时序分析中的关键术语

  • 高速串行总线设计基础(一)同步时序模型介绍

  • 高速串行总线设计基础(四)眼图的形成原理

  • FPGA设计心得(10)关于行为仿真的一点观点

  • Vivado如何计算关键路径的保持时间裕量?

  • Vivado如何计算关键路径的建立时间裕量?(实践篇)

  • Vivado如何计算关键路径的建立时间裕量?(理论分析篇)

  • TCL中Ports/Pins/Nets/Cells/Clocks之间的交互关系?

  • TCL中关于Nets的一些用法?

  • TCL中关于Cells的一些使用方法?

  • TCL中关于Pins的一些使用方法?

  • TCL中关于管脚(Ports)的一些使用方法?

  • 逻辑设计中复位的稳妥处理方法?

  • 逻辑设计中需要显式地使用IBUF以及OBUF类似的原语吗?

  • FPGA的设计艺术(1)FPGA的硬件架构

最后

以上就是英俊冰棍为你收集整理的GT Transceiver的TX Buffer功能块的全部内容,希望文章能够帮你解决GT Transceiver的TX Buffer功能块所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部