PCI Express* 用のインテル® Stratix® 10 HタイルおよびLタイル Avalon® メモリー・マップド・ハードIPユーザーガイド

ID 683667
日付 6/03/2020
Public
ドキュメント目次

10.2. エンドポイントのデザイン例

このデザイン例は、ネイティブEndpoint、DMAアプリケーション、およびRoot Port BFMで構成されています。書き込みDMAモジュールは、EndpointメモリーからRoot Complex (RC) メモリーへの書き込み動作を実装します。読み出しDMAは、RCメモリーからEndpointメモリーへの読み出し動作を実装します。

ハードウェア・プラットフォームで動作している場合、Root Complexプロセッサーで実行されているソフトウェア・アプリケーションは、通常DMAを制御します。シミュレーションでは、生成されたテストベンチはこのデザイン例とともに、DMA動作を制御するVerilog HDLのBFMドライバーモジュールを提供します。この例はPCI Expressリンク以外のハードウェア・インターフェイスに依存していないため、システムの初期ハードウェア検証にデザイン例を使用できます。

システム生成により、Verilog HDLでエンドポイント・バリアントが作成されます。テストベンチ・ファイルは、現在のリリースのVerilog HDLでのみ使用可能です。

注:

MSIを使用してDMAテストを実行するには、PCI Express/PCI Capabilitiesページの Number of MSI messages requestedパラメーターを少なくとも2に設定する必要があります。

DMAデザインの例では、すべてのメモリーブロックのDMAレジスターにアクセスすることなく、断片化された大量のメモリーを転送できるアーキテクチャーを使用しています。各メモリーブロックについて、DMAデザインの例では、次の情報を含むディスクリプター・テーブルを使用します。

  • 転送のサイズ
  • ソースのアドレス
  • 送信先のアドレス
  • ソフトウェア・アプリケーションまたはBFMドライバーとDMAモジュール間のハンドシェイク動作を設定する制御ビット
注: DMAデザインの例では、DWORDアライメントされたアクセスのみがサポートされています。DMAデザイン例は、ECRC転送をサポートしていません。

BFMドライバーはディスクリプター・テーブルをBFM共有メモリーに書き込み、そこからDMAデザインエンジンがDMA読み出し、DMA書き込み、またはその両方のディスクリプター・テーブルを継続的に収集します。転送の開始時に、BFMはEndpoint DMA制御レジスターをプログラムします。DMA制御レジスターは、ディスクリプター・テーブルの総数および最初のディスクリプター・テーブルのBFM共有メモリーアドレスを示します。DMA制御レジスターをプログラムした後、DMAエンジンは、DMA読み出しおよびDMA書き込みの両方でBFM共有メモリーからディスクリプターを継続的にフェッチし、各ディスクリプターのデータ転送を実行します。

次の図は、外部RC CPUに接続されたデザイン例のブロック図を示しています。

図 69. シミュレーションの最上位DMAの例

ブロック図には以下の要素が含まれています。

  • DMAアプリケーションは、PCI Express用のインテルStratix 10ハードIPのAvalon-MMインターフェイスに接続します。接続は、以下のインターフェイスで構成されています。
    • Avalon-MM RXマスターは、ハードIPブロックからTLPヘッダーおよびデータ情報を受信します。
    • Avalon-MM TXスレーブは、TLPヘッダーおよびデータ情報をハードIPブロックに送信します。
    • Avalon-MMコントロール・レジスター・アクセス (CRA) IRQポートは、ハードIPブロックからのMSI割り込みを要求します。
    • サイドバンド信号バスは、コンフィグレーション情報などのスタティック情報を伝送します。
  • BFM共有メモリーは、DMA読み出しおよびDMA書き込み動作のディスクリプター・テーブルを格納します。
  • Root Complex CPUおよび関連する PCI Express* PHYは、Root Portを使用してエンドポイント・デザイン例に接続します。

エンドポイント・デザイン例およびアプリケーションは、次の目的を達成します。

  • Avalon-MMプロトコルを使用して、 PCI Express* 用のインテルStratix 10ハードIPにインターフェイス接続する方法を示します。
  • PCI Express* リンク上で、メモリーの読み出しおよび書き込みトランザクションを開始するDMAチャネルを提供します。

DMAデザイン例の階層は、次のコンポーネントから構成されています。

  • DMA読み出しおよびDMA書き込みモジュール
  • エンジンごとに2つのAvalon-MMインターフェイスを使用するオンチップEndpointメモリー (Avalon-MMスレーブ)

RCスレーブモジュールは通常、Endpointのオンチップ・バッファー・メモリーをターゲットとするダウンストリーム・トランザクションを駆動します。これらのターゲット・メモリー・トランザクションは、DMAエンジンをバイパスします。さらに、RCスレーブモジュールはパフォーマンスを監視し、受信メッセージTLPを確認します。