Slave Loopback
Retimer在Execution Mode下支持Slave Loopback是可选的一个feature。默认的情况下,Retimer是处于Forwarding Mode下的Loopback,此时Retimer处于RC和EP之间,即处于Loopback Master和Loopback Slave之间。Retimer的任何一个伪端口都可以允许被配置成Loopback Slave,此时另一个伪端口可以不是Loopback Slave,可以将其Tx处于电气空闲状态,Rx忽略接收的任何数据。
Slave Loopback.Entry
1 Retimer中没有接收到带有Loopback bit置1的TS1的伪端口的行为如下:
(1)Tx处于电气空闲状态。
(2)Rx忽略接收到的Symbols。
2 Retimer中接收到带有Loopback bit置1的TS1的伪端口的行为首先需要符合PCIe SPEC4.2.6.10.1的规定,还需要满足以下情况:
(1)SPEC当中规定的“LinkUp=0b”换成“RT_LinkUp=0b”。
(2)PCIe SPEC4.2.6.10.1中“如果从Configuration.Linkwidth.Start状态进入Loopback.Entry”换成“如果RT_linkUp=0时进入Loopback.Entry”。
(3)PCIe SPEC4.2.6.10.1中对Loopback.Active的引用变成Slave Loopback.Active。
Slave Loopback.Active
1 Retimer中没有接收到带有Loopback bit置1的TS1的伪端口的行为如下:
(1)Tx处于电气空闲状态。
(2)Rx继续忽略接收到的Symbols。
2 Retimer中接收到带有Loopback bit置1的TS1的伪端口的行为首先需要符合PCIe SPEC4.2.6.10.2的规定,还需要满足以下情况:
(1)PCIe SPEC4.2.6.10.2中对Loopback.Exit的引用变成Slave Loopback.Exit。
Slave Loopback.Exit
1 Retimer中没有接收到带有Loopback bit置1的TS1的伪端口的行为如下:
(1)Tx保持处于电气空闲状态。
(2)将数据速率设置成2.5GT/s。
(3)Rx继续忽略接收到的Symbols。
2 Retimer中接收到带有Loopback bit置1的TS1的伪端口的行为首先需要符合PCIe SPEC4.2.6.10.3的规定,还需要满足以下情况:
(1)PCIe SPEC4.2.6.10.3当中“Loopback Master和Loopback Slave的下一个状态是Detect”变成“速率设置成2.5GT/s并且两个Retimer的伪端口都切换到Forwarding Mode”
参考书籍
- PHY Interface For the PCI Express, SATA, USB 3.1, DisplayPort, and Converged IO Architectures 5.2
- PCI Express® Base Specification Revision 5.0 Version 1.0
- PCI Express Technology Comprehensive Guide to Generations 1.x, 2.x, 3.0