作者:Li Simon,AMD工程师;来源:AMD开发者社区
PRBS(pseudorandom binary sequence) Pattern包括PRBS-[7/9/15/31],可以用作不同的协议或者场景。PRBS-7通常用于测试8B10B编码的Channel,其PRBS-9用于SFP+,PRBS-15用于Jitter测试,PRBS-23用于测试非8B10B,比如SONET spec的pattern,PRBS-31用于以太网协议测试。还有发送端方波,NRZ Clock pattern,借用频谱仪用于PLL的jitter测试。PAM4 modulation,1/0交替不会产生方波。
PAM4 QPRBS/PRBSQ pattern是基于OIF2014.230 CEI-56G-VSR-PAM4 specification and IEEE Std P802.3bs。GTM的PAM4的调制,PRBS经过了Gray Encoder和Precoder,以及Polarity三个模块,接收时通过Polarity,Precoder和Gray Decoder。
另外,PRBS31除了这几个模块之外,有个invertor是在PRBS后面,编码前面有一个invertor。参考AR#000036063.
参考AR#72117,如何产生US+ GTM PAM4 PRBSQ/QPRBS。对US+ PAM4 mode的PRBS和Versal的PRBS设置稍微有点差异。可以分别从VCU129和VPK120对应的Quad/Dural channel的Link Properties里确认CH[0/1/3/4]_RX_PCS_CFG0这个参数看看是否符合预期。
TX和RX的参数CHx_RX_PCS_CFG0 和CHx_TX_PCS_CFG0定义如下:
VCU129用得是Bank128/Bank129,VPK120的bank203. VPK120 and VCU129 Board其对应关系如下:
Vcu129: bank 128/TX1/RX1 – QSFPDD TX1/RX1 – VPK120 bank 203/TX3/RX3
Vcu129: bank 129/TX1/RX1 – QSFPDD TX2/RX2 – VPK120 bank 203/TX2/RX2
Vcu129: bank 130/TX1/RX1 – QSFPDD TX3/RX3 – VPK120 bank 203/TX1/RX1
Vcu129: bank 131/TX1/RX1 – QSFPDD TX4/RX4 – VPK120 bank 203/TX0/RX0
由于Cable不是QSFPDD,所以有一半的lane无效。可以看到在测试结果如下,可以看到VPK120要选PRBSQ7才能和VCU129的PRBS7正常link:
更多的信息可以参考IEEE 802.3 bs,UG581和AM017,PRBS pattern和PRBS checker。Xapp884可以通过怕配置不同attribute来实现任意PRBS Pattern的应用。