正常情况下,每次读取4096个字节时,耗时50us左右。
然后每读31次后,就会有一次读取的时间达到900ms左右。
请问SRIO存在有读取的缓存吗?是不是要适当的清空一下缓存?
Allen35065:
不需要清空缓存,也没有这方面的限制;
你是怎样测量的时间?另外LSU配置的是否正确?
是不是FPGA那边有限制?
user4589072:
回复 Allen35065:
感谢您的回复!
后来经过调试,发现在NREAD模式下SRIO传输读取固定次数后,会出现completion code = 1的现象。(我是每读取31次出现一次)。
应该是DSP这边没收到response响应,超时导致的。
我把响应超时timeout时间改小后就可以了。
数据传输也都正确。
只是想知道这个response是FPGA那边自动发给DSP的,还是需要手动发给DSP?
Allen35065:
回复 user4589072:
这很奇怪,响应应该是由FPGA自动发的,你需要检查一下FPGA为什么会停止发送,是不是由于流控或者总线冲突造成的。