功能描述
该模块位于TX架构中的位置:TX clock dividers
TX架构框图
TX时钟分频器控制块有两个主要部分:串行时钟分频器控制和并行时钟分频器和选择器控制。
下图说明了时钟分频器和选择器的详细情况。
TX Serial and Parallel Clock Divider
- TXOUTCLKPCS和TXOUTCLKFABRIC是多余的输出。在新设计中使用TXOUTCLK。
- REFCLK_CTRL选项由软件自动控制,用户不能选择。用户只能将IBUFDS_GTE2的O或ODIV2输出中的一个通过CMT(PLL、MMCM或BUFMRCE)、BUFH或BUFG布线到FPGA逻辑。
- IBUFDS_GTE2是一个冗余输出,用于增加时钟方案的灵活性。
- GTXE2_CHANNEL/GTHE2_CHANNEL中只有一个CPLL。GTXE2_COMMON/GTHE2_COMMON的QPLL也可以在适用时使用。
- /2或/4分频器块的选择由GTXE2_CHANNEL/GTHE2_CHANNEL原语中的TX_INT_DATAWIDTH属性控制。当TX_INT_DATAWIDTH=0(2字节内部数据通路)时选择/2,当TX_INT_DATAWIDTH=1(4字节内部数据通路)时选择/4。
- /4或/5分频器块的选择由GTXE2_CHANNEL/GTHE2_CHANNEL原语的TX_DATA_WIDTH属性控制。当TX_DATA_WIDTH=16、32或64时,选择/4。当TX_DATA_WIDTH=20、40或80时,选择/5。
串行时钟分频器
每个发射器PMA模块都有一个D分频器,将来自PLL的时钟向下分频,以支持较低的线速。这个串行时钟分频器D可以为固定线速的应用进行静态设置,也可以为多线速的协议进行动态改变。
要在固定线速应用中使用D分频器,TXOUT_DIV属性必须设置为适当的值,TXRATE端口需要绑定到3'b000。
TX PLL Output Divider Setting
为了在多线速应用中使用D分频器,TXRATE端口被用来动态地选择D分频器的值。在设备配置时,TXOUT_DIV属性和TXRATE端口必须选择相同的D分频器值。在设备配置后,TXRATE被用来动态改变D分频器的值。见上表。串行分频器的控制如上表。关于每个速度等级的线速范围的细节,请参考相应的数据表。
并行时钟分频器和选择器
来自TX时钟分频器控制块的并行时钟输出可以作为Fabric逻辑时钟,这取决于线速要求。建议结构的时钟是来自GTX/GTH收发器之一的TXOUTCLK。也可以把MGTREFCLK直接带到FPGA逻辑中,作为结构时钟使用。TXOUTCLK是一般应用的首选,因为它有一个输出延迟控制,用于旁路TX buffer的输出通道纠偏或恒定数据路径延迟的应用。TXOUTCLKSEL端口控制输入选择器,允许这些时钟通过TXOUTCLK端口输出。
- TXOUTCLKSEL = 3'b001:不建议使用TXOUTCLKPCS路径,因为它产生了来自PCS块的额外延迟。
- TXOUTCLKSEL = 3'b010。TXOUTCLKPMA是TX相位插值器之后的分频PLL时钟,由TX PCS块使用。当PLL被一个相关的复位信号复位时,这个时钟会被中断。
- TXOUTCLKSEL = 3'b011 或 3'b100:TXPLLREFCLK_DIV1 或 TXPLLREFCLK_DIV2 是 CPLL 或 QPLL 的输入参考时钟,取决于 TXSYSCLKSEL[1]的设置。TXPLLREFCLK是一般使用的推荐时钟,在TX缓冲器旁路模式下需要。
近期回顾
- TX Pattern Generator功能块
- GT Transceiver的TX Buffer功能块
- 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的硬件架构
- END -