大家好、
客户使用 FPGA 将数据推送到本地 L2 SRAM 地址0x800000~0x800FFFFF。
当运行大约半小时时、可能会发生一些错误。
FPGA 每50us 发送一次数据、DSP 每次都检查数据。 有时、DSP 会发现有少数数据未更新。 大多数数据已由 FPGA 进行更新。
但是、如果 FPGA 将数据推送到 MSMC 存储器、 则0xC000000~0xC1FFFFF。 一切似乎都好。
附加的是 PCIe 初始化代码。 请对此提供帮助。
谢谢!
BR、
丹尼
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.
大家好、
客户使用 FPGA 将数据推送到本地 L2 SRAM 地址0x800000~0x800FFFFF。
当运行大约半小时时、可能会发生一些错误。
FPGA 每50us 发送一次数据、DSP 每次都检查数据。 有时、DSP 会发现有少数数据未更新。 大多数数据已由 FPGA 进行更新。
但是、如果 FPGA 将数据推送到 MSMC 存储器、 则0xC000000~0xC1FFFFF。 一切似乎都好。
附加的是 PCIe 初始化代码。 请对此提供帮助。
谢谢!
BR、
丹尼
尊敬的 Eric:
FPGA 向 L2发送数据序列由 GPIO 中断保持。 我们 不知道是否存在 “任何机制只检测部分数据被写入以便再次停止 FPGA 写入” 。 PCIe IP 可能可以做到这一点?
回答您的问题。 发生错误数据时、正确的数据将永远不会出现。
我让客户测试:
1、代码在 MSMC 上运行、L2仅用于 PCIe 接收。 此问题仍在一小时内发生。
2、他们将数据发送周期从50us 更改为200us、此问题仍然存在。 测试6小时后出现问题。 这似乎 可以降低发生问题的可能性。
BR、
丹尼
尊敬的 Eric:
在从 FPGA 发送的每个数据块之间、DSP 是否在运行时重新配置了 PCIe 入站转换?
否
如果 DSP 上的缓冲器是固定的?
是的
在 PCIe 用户指南2.16.2.2 PCI Express 基线错误处理和2.16.2.3 PCI Express 高级错误报告中、它们是否能够启用这些错误并检查是否报告了任何错误?
请提供更详细的信息吗? 或者哪个寄存器对这个问题的调试有用? 我可以捕获它。 谢谢!
BR、
丹尼