ストリーミングDMA アクセラレーター・ファンクショナル・ユニット (AFU) ユーザーガイド

ID 683840
日付 12/04/2018
Public
ドキュメント目次

2. ストリーミングDMA AFUの説明

ストリーミングDMA AFUデザイン例は、メモリーと、 Avalon® -Stソースおよびシンク間のデータの転送方法を説明しています。ストリーミングDMAは、ローカルFPGAメモリーを一時的なバッファーとして使用することなく、ホストメモリーからハードウェア・アクセラレーターにデータを転送し、その結果をホストメモリーに戻すために利用されることが最も一般的です。このようなストリームは通常パラレルモードで動作し、余分なメモリーコピー動作を削除することで、ハードウェア・アクセラレーターのレイテンシーを短縮します。

ストリーミングDMA AFUは、 下記のサブモジュールで構成されています。
  • メモリー・プロパティー・ファクトリー (MPF) ベーシック・ビルディング・ブロック (BBB)
  • コア・キャッシュ・インターフェイス (CCI-P) to Avalon-MMアダプター
  • 以下ストリーミング DMA テスト・システム
    • メモリー・トゥ・ストリーム (M2S) DMA BBB
    • ストリーム・トゥ・メモリー (S2M) DMA BBB
    • ストリーミング・パターン・チェッカーおよびジェネレーター
ストリーミングDMA AFUデザイン例には、ユーザー・スペース・ドライバー、そしてホストメモリーとFPGAパターン・チェッカーおよびジェネレーター間のデータ転送を実行する、ホスト・アプリケーションが含まれています。このデザイン例をベースに、パターン・チェッカーとジェネレーターをご自身のハードウェア・アクセラレーターに置き換え、それに応じてホスト・アプリケーションを変更することで、独自のAFUデザインに、ストリーミング・データ転送を実装することができます。

M2SおよびS2MのDMA BBBはどちらも、パケット化されたデータをサポートしています。よって、ストリーミング・データには、SOP (start-of-packet)、EOP (end-of-packet)、そして空の信号が含まれます。このパケットサポートを使用し、ハードウェア駆動のペイロードサイズを転送することができます。たとえば、圧縮アクセラレーターは通常、すでに分かっているペイロードサイズを受信します。そして圧縮結果の長さは、アクセラレーターがこのタスク完了するまで知ることができません。圧縮アクセラレーターは単にS2M DMA BBBにパケットを発行し、ドライバーはホスト・アプリケーションに、圧縮結果とバッファー長を含む連続したバッファーを提供します。