极简FPGA 2024-09-08 23:55 采纳率: 0%
浏览 6

6678与FPGA进行SRIO通信由于DDR3阻塞SRIO无法正常通信

你好的问题是主要结构就是配置好srio fpga给core0发送数据和doorbell中断,处理edma搬移数据都在core1-7,srio的优先级也是最高的 比edma,首先启动core进行传输,FPGA将数据进行SWRITE传输到DSP的DDR3,只要core1-7运行。fpga就出现这个问题,srio跑飞,DSP处理的数据由FPGA通过SRIO写入DDR,ping/pong 存储,FPGA写ping,DSP处理pong。单核运行没有问题,多核运行时,SRIO完全由主核控制,从核只做运算,即FPGA写入的数据分为8份分别由8核运算。此时就涉及到多核及FPGA同时访问DDR的情况。现在的问题是多核运行时,8核分别从DDR读取各自的数据进行运算,FPGA 通过SRIO写入数据到DDR严重阻塞甚至无法传输,FPGA的buf responseonly信号异常拉高,AXI的ready就会一直拉低影响通信,基本上无法通信,请问该如何解决

已经将srio的优先级设置最高,还是出现该问题

  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-08 23:56
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    从你描述的问题来看,涉及到FPGA与DSP之间的SRIO通信,以及多核处理器同时访问DDR的情况。当多核运行时,SRIO通信受到阻塞,导致FPGA无法将数据成功写入DDR。这种问题可能涉及到硬件资源竞争、同步和时序等问题。下面是一些建议的解决方法:

    1. 分析资源竞争问题:检查DSP和其多核处理器是如何配置和访问DDR的。确保所有核心访问DDR时不会发生资源竞争。可能需要根据访问模式(读/写)进行特定的优化。
    2. 优化SRIO通信协议:确认SRIO通信协议是否正确地实现了握手和同步机制。如果协议存在问题,可能会导致通信失败或数据丢失。检查SRIO通信过程中的每一步是否严格按照协议要求进行。
    3. 确保数据传输的一致性:检查FPGA的数据传输模式是否合适,特别是涉及到ping/pong存储的情况。如果数据传输不稳定或不连续,可能会导致DDR访问冲突或数据丢失。
    4. 检查硬件时序问题:确保FPGA与DSP之间的数据传输满足时序要求。如果时序出现问题,可能导致数据传输失败或产生意外的行为。考虑对FPGA的设计进行优化,以确保数据的稳定性和准确性。
    5. 调整资源分配策略:考虑重新分配FPGA和DSP的资源分配策略,特别是在多核处理器运行时。确保关键资源(如DDR内存访问)在不同的处理器之间得到合理的分配。
    6. 分析和调试FPGA设计:深入分析FPGA设计代码,特别是在处理SRIO通信和数据写入DDR的部分。使用调试工具和日志记录来确定问题所在的具体位置。这可能涉及到使用专门的FPGA调试工具进行信号追踪和分析。
    7. 联系硬件供应商的技术支持:如果上述方法无法解决问题,建议联系硬件供应商的技术支持团队,他们可能能提供更具体的建议和解决方案。

    此外,考虑在硬件设计中加入一些额外的保护措施,如错误检测和纠正机制,以提高系统的稳定性和可靠性。最后,确保所有的软件和硬件更新都已应用,并考虑重新设计或修改部分硬件结构以解决潜在的问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月8日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?