各位专家、您好!
我想要求对 PCIe 操作进行澄清。 在我们的设计中、我们通过 PCIe 链路将 C6670连接到 Spartan 6。 FPGA 中包含 DMA 引擎、我们用于将大量数据上传到 DSP 的 DDR3。 当这些传输与来自 DSP 的 PIO 读取请求混合时、我会看到一些可疑的错误行为。
假设代码中存在 PIO 读取请求、如 PCIe 数据空间内地址的解引用、该解引用会转换为类似 LDx 指令的内容。 据我了解、PCIe 子系统发出读取请求 TLP 并等待完成。 此时 DSP 会发生什么情况? 它是否会出现某种失速? 此时它是否接受任何中断?
现在想象一下、读取请求 TLP 被传输到 EP、但 EP 忙于传输大量 DMA 数据、并且完整的返回会显著延迟。 在本例中、DSP 会发生什么情况?
提前感谢。
