背景介绍
硬件采用K7+6678构架,K7通过srio接口向6678传输像。
问题描述
在srio启动初始情况或dsp大批量写DDR3的过程中,尤其是写批量复杂数据时基本都会导致srio卡死,观测发现fpga死在发送数据状态,一直等待ready信号拉高,但一直无响应。
问题分析排查
由于发送数据采用Swirte协议,不带响应,虽然数据传输效率高,但是如果dsp端异常无法接收时,fpga还会一刻不停的写数据,直到异常,初步推断写内存过程占用ddr带宽,导致srio读写DDR3速度降低,直到发生异常。
通过添加ILA信号抓取srio相关状态发现,在dsp批量写入复杂数据的时候,AXIS请求接口的ready信号一直被拉低不能恢复,同时buf_lcl_response_only_out信号会被拉高,详见下,同时phy_lcl_phy_rewind_out信号反复触发,srio端口状态信号均正常,初步推断为dsp在写ddr3时占用数据带宽,导致swirte请求阻塞。
解决方法
在AXIS请求端口侧逻辑中增加“&(~buf_response_only)”信号,确保该信号有效时不再发送任何请求,经测试ddr带宽恢复后能够恢复srio传输,问题解决。
文章为作者独立观点,不代表观点
欢欢2022-09-28
股票时段的消息,是说公司报价小于等于行业同类最高报价的40%就有可能中标,这就要看每个行业的最高报价是多少。假如一个产品不集采时售价10000元,集采时行业最高报价8000元,按4成比例算就是3200元,那降价就是68%,比现在说的平均降价84%要好。现在就看哪些行业和公司能在这个平均水平上了,明天医疗行业肯定又有分化了