0

我需要在 Linux 环境中通过PCIFPGA 设备之间传输视频数据。我在 FPGA 上使用第三方 PCI 主内核。到目前为止,我已经在 FPGA 上实现了一个简单的 DMA 控制器,使用连续的 PCI 写入突发将数据从FPGA 传输到 CPU。

接下来,我需要将视频数据从 CPU 传输到 FPGA。解决此问题的最佳方法是什么?

我是否应该在 FPGA 上实现一个模块,该模块通过 PCI 执行一大堆突发读取。或者有没有办法让 CPU 使用 PCI 写入突发有效地将数据写入 FPGA 的内存?

我的带宽要求在两个方向上约为 30 MB/s。

谢谢。

4

2 回答 2

2

您可以像视频卡驱动程序一样从 CPU 进行发布写入,但您需要具备一些驱动程序的魔力,例如设置 MTRR(这意味着您可能有一些架构依赖性)。如果你想安全地从 FPGA 读取 DMA 是一个更好的方法。30MB/s 不算多。

于 2011-12-06T21:00:08.573 回答
1

在我看来,FPGA 应该同时掌握读写。否则你会占用主机 CPU。这是 DMA 的经典任务(您不能保证每个主机上都存在 DMA)。

于 2012-06-08T12:06:22.673 回答