TI中文支持网
TI专业的中文技术问题搜集分享网站

6678 SRIO读取存储问题

现在测试DSP的SRIO与FPGA数据通信。

FPGA板,Xilinx V7系列。

DSP板是6678的demo板。

DSP为master,FPGA为slave。

4Lane模式,2.5GHz。

每次读取0x200 byte。

FPGA的程序相同,DSP程序差别在于,读取数据的存储地址,一个是DDR,一个是DSP共享内存(MSM SRAM)。地址分配是考虑了对齐问题,采用64对齐。

当DSP发起读指令后,

1. 读取FPGA的数据存储到DSP可访问的DDR时,数据正确。

2. 读取FPGA的数据存储到DSP的MSM SRAM时,数据部分错误。每包数据(0x100)的前16个数据错误,数据没有读进来(数据没有改变)。

百思不得其解,无法错误定位。

请问各位,有无好的解决思路。

Allen35065:

关闭MSM的Prefetch buffer再试试,写数据是否会出现错误?

Yusheng Li:

回复 Allen35065:

谢谢提示。

我去尝试着关闭MSM的Prefetch Buffer,看看效果。

至于写数据,曾经把DSP的源地址设置为L2 SRAM时,FPGA接收错误数据。试了2次后,放弃。还是将源地址改为了DDR3中。

所以,好像对SRIO操作时,DSP的地址只有DDR3,才能正确接收发送数据。

Allen35065:

回复 Yusheng Li:

这个不应该,L2的数据无论如何都应该是正确的,不存在cache的因素,你确定使用了Global Address以及数据没有被改写?

Yusheng Li:

回复 Allen35065:

6678的MSM地址就是global Address,地址从0x0c00_0000开始,数据肯定没有被改写。

这两天的测试发现,当DSP作为master写数据到FPGA时,数据正确;但DSP读取FPGA数据并存储到MSM中时,譬如读1000个数据,会出现前10个或16个数据出错,后续又正确了。只要把存储地址改为DDR中,一切就都正常了。

赞(0)
未经允许不得转载:TI中文支持网 » 6678 SRIO读取存储问题
分享到: 更多 (0)