项目中使用TMS320C6678的demo板,FPGA选用的是Xilinx的V7系列,之间采用SRIO进行数据通信,直连方式,没有switch。
DSP为master,FPGA为slave模式。读取方式为NREAD
速率:2.5G
模式:4xLaneABCD
DSP程序,论坛上的SRIO范例程序修改,DSP端读数据目的地址是在DDR中。 DSP连续循环读FPGA中内容,测试发现如下现象:
1. 当SRIO的读数据长度为0x200Byte时,每256次,出现一次超时错误,该次数据读失败。第257次又恢复正常,直到512次读FPGA时错误复现;
2. 当SRIO的读数据长度为0x400Byte时,每128次,出现一次超时错误,该次数据读失败。第129次又恢复正常,直到256次读FPGA时错误复现;
3.超时错误就是completion code = 1.
另外多方咨询发现,有人用6678与K7系列FPGA数据通信时,也有相同错误出现。论坛内也有连续读写周期性错误的帖子,但都没有给出解决方案。 请教各位,产生该错误原因可能是什么,解决方案是什么。谢谢!