RX初始化与复位
GTX/GTH收发器RX使用一个复位状态机来控制复位过程。由于其复杂性,GTX/GTH收发器RX被划分为比GTX/GTH收发器TX更多的复位区域。如图所示,该分区允许RX的初始化和复位以顺序模式或单一模式运行。
顺序模式下的RX
要初始化GTX/GTH收发器的RX,必须在顺序模式下使用GTRXRESET。激活GTRXRESET输入可以自动触发一个完全异步的 RX复位。复位状态机执行的复位顺序上图所示。覆盖整个RX PMA和RX PCS。在正常操作期间,顺序模式 也允许用户通过激活这些复位中的任何一个来启动复位,包括 RXPMARESET, RXDFELPMRESET, EYESCANRESET, RXPCSRESET, 和 RXBUFRESET,并继续复位状态机,直到RXRESETDONE从低电平转换为高电平。
单一模式下的RX
当GTX/GTH收发器RX处于单一模式时,复位序列中的RXPMARESET、RXDFELPMRESET、EYESCANRESET、RXPCSRESET和RXBUFRESET可以单独独立执行,不会触发其他复位区域的复位。
在顺序模式或单一模式下,RX复位状态机在RXUSERRDY变为高电平之前不会复位PCS。用户应在满足这些条件后将RXUSERRDY驱动为高电平。
- 当使用PLL或MMCM时,应用程序使用的所有时钟,包括RXUSRCLK和RXUSRCLK2,都显示为稳定或锁定。
- 用户接口准备好从GTX/GTH收发器接收数据。
单独介绍下
当RXUSRCLK和RXUSRCLK2稳定时,该端口由用户的应用驱动为高电平。例如,如果一个MMCM被用来产生RXUSRCLK和RXUSRCLK2,那么MMCM的锁定信号就可以用在这里。
当有效时,这个高电平有效信号表明GTX/GTH收发器RX已经完成复位,可以使用了。在顺序模式下,当GTRXRESET被驱动为高电平时,该端口被驱动为低电平。在RXUSERRDY变成高电平之前,该信号不会被驱动为高电平。在单一模式下,当任何一个RX复位有效时,该端口被驱动为低电平。直到所有的RX复位无效,并且RXUSERRDY有效,该信号才会被驱动为高。
GTX/GTH收发器在配置完成后进行RX复位
上图中RX复位顺序不会自动启动,以跟随全局GSR(全局复位/置位)。
要启动上述RX复位流程,续满足如下条件:
- GTRESETSEL必须被驱动为低电平以使用顺序模式。
- 必须使用GTRXRESET。
- 所有单一复位输入,包括RXPMARESET、RXCDRRESET、RXCDRFREQRESET、RXDFELPMRESET、EYESCANRESET、RXPCSRESET和RXBUFRESET,在整个复位过程中,在RXRESETDONE变为高电平之前必须持续保持低电平。
- GTRXRESET不能被驱动为低电平,直到相关的PLL被锁定。
如果复位模式在配置时被默认为顺序模式,那么C/QPLLRESET和GTRXRESET可以在配置完成后等待至少500 ns后有效。
如果复位模式被默认为单一模式,那么用户必须
- 在配置完成后至少等待500 ns。
- 将复位模式改为顺序模式。
- 再等待300-500 ns。
- 断言C/QPLLRESET和GTRXRESET。
建议使用CPLL或QPLL的相关PLLLOCK将GTRXRESET从高电平释放到低电平,如下图所示。RX复位状态机在GTRXRESET为高电平时等待,直到GTRXRESET被释放为低电平,开始复位流程。
RX复位总结
下表总结了GTX/GTH收发器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的硬件架构