回环模式是transceiver数据通路的专门配置,其中数据流被折返到源头。通常情况下,传输一个特定的数据流,然后进行比较以检查错误。下图说明了一个具有四种不同回环模式的回环测试配置。
回环测试
回环测试模式可分为两大类:
回环测试可以在开发过程中使用,也可以在实际工程中用于故障隔离。使用的traffic类型可以是application traffic pattern 或专门的伪随机比特序列。每个GTX/GTH收发器都有一个内置的PRBS发生器和检查器。
注:这里的traffic指的是用于环回的数据类型,一般是PRBS数据,怎么准确翻译,我也拿不准。
每个GTX/GTH收发器都有几种回环模式,以方便测试。
如上图的路径1,即表示近端PCS回环。
RX弹性buffer必须被启用,RX_XCLK_SEL必须被设置为RXREC,以便近端PCS环回功能正常。在近端PCS环回时,RX XCLK域由TX PMA并行时钟(TX XCLK)提供时钟。如果RXOUTCLK用于为FPGA逻辑提供时钟,并且在正常操作期间将RXOUTCLKSEL设置为RXOUTCLKPMA,那么在将GTX/GTH收发器放入近端PCS环回时,必须改变这两项中的一项。
上述对于回环模式的介绍中,几个属性参数需要介绍,例如:RX_XCLK_SEL,RXREC,对于二者的介绍如下:
RX_XCLK_SEL选择用于驱动RX并行时钟域(XCLK)的时钟源。
RXREC: 选择RX恢复的时钟作为XCLK的来源。在使用RX弹性缓冲器时使用。
RXUSR: 选择RXUSRCLK作为XCLK的来源。在绕过RX弹性缓冲器时使用。
这时就能理解近端PCS回环,为什么该属性要设置为RXREC了,因为近端PCS回环需要使用弹性Buffer,那就需选择RX恢复时钟作为XCLK的来源。
至于RXOUTCLKSEL也该忘得差不多了,我们在RXOUTCLK的来源时讲过这个信号,用来选择RXOUTCLK的来源:
RXOUTCLK回顾
如上述路径2,在进入和退出近端PMA环回后,需要进行GTRXRESET。
如上述路径3,为了使远端PMA环回功能正常,TX buffer必须被启用,TX_XCLK_SEL必须被设置为TXOUT。在远端PMA环回时,TX缓冲器的写入端由RX PMA并行时钟(RX XCLK)提供时钟。必须通过将TXPIPPMEN端口设置为1'b0和TXPIPPMSEL端口设置为1'b0来禁用TX相位插补器PPM控制器。在进入和退出远端PMA环回后,需要进行GTTXRESET。
如上述路径4,如果不使用时钟校正,远端PCS环回中的收发器必须使用作为环回数据来源的收发器所使用的相同参考时钟。无论是否使用时钟校正,TXUSRCLK和RXUSRCLK端口必须由同一时钟资源(BUFG、BUFR或BUFH)驱动。当通道中的两个或任一gearbox都被启用时,不支持远端PCS环回。
回环模式的选择由端口LOOPBACK决定:
回环模式选择端口