TI的专家你好:
公司自投的板子,最近在测试6678 SRIO时遇到了问题,不知道如何排查
首先用MCSDK的 K1_STK_v1.1 开发包里的程序进行SRIO环回测试 ,5Gbps的1xLaneA digital 环回测试已通过没问题。
但在5.000Gbps SRIO_SERDES_LOOPBACK遇到以下问题 (我降速换了3.125Gbps的线速率成功完SERDES_LOOPBACK测试):
SRIO link speed is 5.000Gbps
SRIO path configuration 1xLaneASRIO link up!
SWRITE from 0x10826740 to 0x1082a740, 8 bytes, 4154 cycles, 19 Mbps, completion code = 0
data mismatch at unit 0, 0x1 (at 0x10826740) != 0xffffffff (at 0x1082a740)
SWRITE from 0x10826740 to 0x1082a740, 16 bytes, 4470 cycles, 35 Mbps, completion code = 0
data mismatch at unit 0, 0x2 (at 0x10826740) != 0xffffffff (at 0x1082a740)
SWRITE from 0x10826740 to 0x1082a740, 32 bytes, 4556 cycles, 70 Mbps, completion code = 0
data mismatch at unit 0, 0x3 (at 0x10826740) != 0xffffffff (at 0x1082a740)
SWRITE from 0x10826740 to 0x1082a740, 64 bytes, 4569 cycles, 140 Mbps, completion code = 0
data mismatch at unit 0, 0x4 (at 0x10826740) != 0xffffffff (at 0x1082a740)
SWRITE from 0x10826740 to 0x1082a740, 128 bytes, 5250 cycles, 243 Mbps, completion code = 0
data mismatch at unit 0, 0x5 (at 0x10826740) != 0xffffffff (at 0x1082a740)
1:发现源地址和目的地址的数据不一致,目的地址的数据始终是刚开始初始化时的FFFFFFFF,说明SRIO并未完成数据传输,但是completion code = 0。
2:程序运行到LL2->LL2, SWRITE方式,128字节的发送尺寸,卡死在了等待LSU传输结束的函数里,如下图所示:
请问下这种情况会是硬件PCB走线之类的限制了运行速率么,这个仅是一个内部的环回测试就会因为速率原因导致失败,那后面和对端FPGA SRIO测试时是不是肯定不能用5G bps的线速率,只能降速了,有米有什么配置参数可以调整的保证5Gbps的,请专家指导下,谢谢
Ryan BL:
srio直连还是过交换机了,我过交换机测试,4片互联都是ok的,没遇到你的这个问题;
修改点有:
时钟,evm好像是312p5Mhz;
4x还是2x,NO—LOOP的4X测试需要修改lane,默认的只有2x测试,
还有id,如果你修改过id,另一端记得匹配