0

Linux 環境で、PCI を介して FPGA デバイスとの間でビデオ データ転送する必要があります。FPGA でサードパーティの PCI マスター コアを使用しています。これまでのところ、連続する PCI 書き込みバーストを使用して、FPGA から CPU にデータを転送する単純な DMA コントローラーを FPGA に実装しまし

次に、ビデオ データを CPU から FPGA に転送する必要があります。これについて最善の方法は何ですか?

PCI 経由で大量のバースト読み取りを実行するモジュールを FPGA に実装する必要があります。または、PCI 書き込みバーストを使用して、CPU が FPGA のメモリにデータを効率的に書き込む方法はありますか?

私の帯域幅要件は、両方向で約 30 MB/秒です。

ありがとう。

4

2 に答える 2

2

ビデオカードドライバーと同じようにCPUから投稿された書き込みを行うこともできますが、MTRRの設定などのドライバーの魔法が必要になります(つまり、アーキテクチャに依存している可能性があります)。安全を確保したい場合は、FPGAからDMAを読み取るのが良い方法です。30MB/秒はそれほど多くありません。

于 2011-12-06T21:00:08.573 に答える
1

FPGAは読み取りと書き込みの両方をマスターする必要があるように思えます。そうしないと、ホストの CPU を占有してしまいます。これは DMA の典型的なタスクです (すべてのホストに DMA が存在することを保証することはできません)。

于 2012-06-08T12:06:22.673 に答える