PCIeコアとDDR2コアの接続
まず、PCIeコアとデバイスドライバが対応している最大DMA長を4Mバイトにまで拡張しました。
長いサイズのDMAを行って、速度を測ってみたところ、
・Write(PC→FPGA方向) 156MB/sec
・Read(FPGA→PC方向) 128MB/sec
という結果でした。
スキャッタギャザーではなく、コモンバッファに一旦蓄えてから、ユーザのバッファにコピーしています。
なお、上の速度は、ユーザモードのアプリケーションの部分で測った速さです。カーネルモードに出たり入ったりするための時間や、カーネルモード内でのデータコピーの時間を含んだ速さです。要するに、ユーザアプリケーションで享受できる速度です。
PCI Express ×1なので、まずまずといったところでしょう。
それから、今夜は徹夜でDDR2コアとPCIeコアの接続を行っています。
PCIeとDDR2は動作速度が違うので、間にブロックRAMのバッファを入れました。
どうやら、読み出しはできるようになりました。
DCMとか足りるかどうか心配でしたが、問題はなかったようです。
明日は書き込みをDDR2につなげたいと思います。
これで、64MバイトのDMAが思う存分できるようになるはずです。
| 固定リンク
コメント