在我设计的板子上,有两片C6678和一片xilinx公司FPGAVirtex6,他们之间是4X的SRIO。
我使用的程序是在论坛提供的SRIO程序上修改的,SRIO是4X3.125G,可以实现FPGA和DSP之间相互发送数据(SWRITE,NWRITE,NREAD都试过),数据也是正确的,但是碰到一个奇怪的问题:
我通过DSP发送1600Bytes的数据给FPGA,那么将LSU的寄存器配置完毕后,DSP应该会自动的将这数据拆分成7个packets发送到FPGA,FPGA也应该收到7个Packets,如下图:
从图中看出,FPGA确实是收到了数据,也是正确的数据。
但是当我重新加载程序,FPGA和DSP都是使用相同的程序,但是有时候FPGA收到的数据不连续,但是数据全都正确的,如下图:
就好像配置成的4XSRIO变成了1XSRIO,而且在FPGA端的一个信号显示link确实变成了1X,但我明明两边都配置成的4X,难道DSP在另外3X的SRIO有问题的情况下,会自动的变成1X吗?还有同样的程序,有时候正确,有时候错误?实在找不到问题所在,打扰了!
|