This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
用2个6678开发板互联SRIO, NWIRTE和NREAD命令后,DSP内存的中的数据读写都正确。
但是在自制的项目中要求6678 和Xilinx ultrascale xcku040的SRIO互联时。调试中FPGA能接收来自DSP的NWRITE命令,并且将数据写入到RAM中。当DSP使用NREAD命令时,FPGA接收到了读指令,并且返回数据,但是绝大部分概率是DSP的内存没有更新,同时DSP提示“completion code =1”,偶尔会出现DSP的内存更新,同时DSP提示“completion code =0”。
不是哪位大侠能分析下是什么原因导致的。
但是同样的程序,2个DSP之间互联SRIO通信时就不会有问题,Cache设置没有改动
同时又了新进展,在此之前用2个6678DSP开发板互联,进行NREAD和NWRITE都没有问题,DSP的内存和打印内容显示正常。当时在DSP和FPGA进行通信是,DSP作为initial,FPGA作为target,DSP进行NWRITE操作时,FPGA能接收到数据,并将数据写入内存,但是当DSP读取同样的地址时,成功概率(10%)很低,偶偶能读到数据。同时当FPGA作为initial时,对DSP的内存进行写操作时,go信号使能很长一段时间(3-10秒)后,DSP的内存内容才改写。
不知道根据这个现象,我该从哪些方面或者有什么思路去查找问题,在此先谢谢各位大侠了。
NWRITE_R 指令需要Response包, NWRITE不需要,但是我也用FPGA进对DSP进行NWRITE_R操作,再检查DSP内存刷新的同时,检查FPGA接收DSP的REPONSE指令,发现当FPGA接收到Response之后DSP内存肯定刷新,感觉像是DSP接收到数据反应时间很长,不知道哪里地方需要设置