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

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

10.4.1. 概要

基本的なRoot Port BFMは、Verilog HDLタスクベースのインターフェイスを提供して、 PCIe* リンクをテストします。Root Port BFMは、 PCIe* リンクから受信した要求も処理します。次の図は、Root Port BFMの概要を示しています。

図 70. Root Port BFM

次の説明は、Root Port BFMの図に示されているブロックの概要を示しています。

  • BFM共有メモリー (altpcietb_g3bfm_shmem.v) です。BFMメモリーは次のタスクを実行します。
      • PCI Expressリンクからすべてのコンプリーションで受信したデータの格納。
      • PCI Expressリンクから受信したすべての書き込みトランザクションで受信したデータの格納。
      • PCI Express* リンクから受信した読み出しトランザクションに応答する、すべてのコンプリーションに対するデータの供給。
      • リンクに対して発行される大部分の書き込みトランザクションに対するデータの供給。唯一の例外は、呼び出しで渡される書き込みデータの4バイトフィールドを持つ、特定のBFM PCI Express* 書き込みプロシージャーです。
      • EndpointのBARにプログラムされたサイズおよび値を含むデータ構造の格納。

一連のプロシージャーは、BFMドライバーからの共有メモリーの読み出し、書き込み、埋め込み、チェックを行います。これらのプロシージャーの詳細については、BFM共有メモリー・アクセス・プロシージャーを参照してください。

  • BFM Read/Write Request Functions (altpcietb_g3bfm_rdwr.v): この機能は、 PCI Express* の読み出しおよび書き込み要求に対する基本的なBFM呼び出しを提供します。このプロシージャーの詳細については、BFM Read and Write Proceduresを参照してください。
  • BFM Configuration Functions (altpcietb_g3bfm_rp.v): この機能は、 PCI Express* リンクおよびEndpoint Configuration Spaceレジスターのコンフィグレーションを要求するBFM呼び出しを提供します。このプロシージャーおよび機能の詳細については、BFMコンフィグレーション・プロシージャーを参照してください。
  • BFM Log Interface (altpcietb_g3bfm_log.v): BFMログ機能は、一般的にフォーマットされたメッセージをシミュレーター標準出力およびオプションでログファイルに書き込むためのルーチンを提供します。エラー時にシミュレーションを停止するコントロールも提供します。このプロシージャーの詳細については、BFMログおよびメッセージ・プロシージャーを参照してください。
  • BFM Request Interface (altpcietb_g3bfm_req_intf.v): このインターフェイスは、altpcietb_g3bfm_rdwr.v および altpcietb_g3bfm_configure.v のプロシージャーまたは機能とRoot Port RTL Modelとの間の下位レベルのインターフェイスを提供します。このインターフェイスは、EndpointのBARレジスターにプログラムされたサイズおよび値を含む書き込み保護されたデータ構造を格納します。このインターフェイスには、内部BFMマネジメントに使用されるその他の重要なデータも格納されます。エンドポイント・アプリケーションのテスト用にテストベンチを適合させるために、このファイルに直接アクセスする必要はありません。
  • Avalon‑ST Interfaces (altpcietb_g3bfm_vc_intf_ast_common.v): このインターフェイス・モジュールは、Root Portインターフェイス・モデルを処理します。BFM要求インターフェイスから要求を受け取り、必要な PCI Express* トランザクションを生成します。それらは PCI Express* リンクから受信したコンプリーションを処理し、要求が完了したらBFM要求インターフェイスに通知します。さらに、 PCI Express* リンクから受信した要求を処理し、必要なコンプリーションを生成する前に、共有メモリーからデータを格納またはフェッチします。