PCI Express*向け F-タイル Avalon® ストリーミングのインテル® FPGA IPユーザーガイド

ID 683140
日付 4/27/2023
Public
ドキュメント目次

7. テストベンチ

この章では、エンドポイントのデザイン例とテストドライバーモジュールのテストベンチを紹介します。このデザイン例は、で説明されているデザインフローを使用して作成できます。このデザイン例は、インテルFPGA F-Tile AvalonストリーミングIP for PCI Expressデザイン例ユーザーガイドクイックスタートガイドの章で説明されているデザインフローを使用して作成できます。

このデザイン例のテストベンチは、最大Gen4x16バリアントをシミュレートします。

エンドポイントのバリエーションとしてコンフィグレーションされている場合、テストベンチは、F-タイルエンドポイントと、エンドポイントとインターフェイスするための2番目のF-タイル(ルートポートとしてコンフィグレーションされている)を含むルートポートBFMを使用してデザイン例をインスタンス化します。ルートポートBFMは、次の機能を提供します。
  • エンドポイントのすべての基本コンフィグレーション・レジスターをセットアップするコンフィグレーション・ルーチン。このコンフィグレーションにより、エンドポイント・アプリケーションをPCI Expressトランザクションのターゲットおよびイニシエーターにすることができます。
  • 開始するVerilogHDLプロシージャ・インターフェイス PCI Express* エンドポイントへのトランザクション。

このテストベンチは、単一のルートポートが単一のエンドポイントと通信するシナリオをシミュレートします。

テストベンチは、テストドライバーモジュールのaltpcietb_bfm_rp_gen4_x16.svを使用して、デザイン例のDMAを実行します。 テスト・ドライバー・モジュールは、エンドポイント・コンフィグレーション・スペース・レジスターからの情報を表示するため、パラメーター・エディターを使用して指定したパラメーターに関連付けることができます。

注: インテルテストベンチおよびRoot Port BFMまたはEndpoint BFMは、バリエーションにインターフェイス接続するアプリケーション・レイヤー・ロジックの基本的なテストを行う簡単な方法を提供します。このBFMを使用すると、コンフィグレーション可能なパラメーターを使用して、単純なタスク・スティミュラスを作成および実行し、インテルデザイン例の基本的な機能を実行できます。テストベンチおよびBFMは、完全な検証環境の代わりになるものではありません。コーナーケースおよび特定のトラフィック・プロファイル・スティミュラスはカバーされません。可能な限り最高の検証カバレッジを確保するために、インテルは、市販のPCI Express検証IPおよびツールを入手するか、独自の広範なハードウェア・テストを行うか、またはその両方を行うことを強くお勧めします。
アプリケーション層のデザインでは、少なくとも次のシナリオを処理する必要がありますが、これらのシナリオでは作成できません。インテル テストベンチとルートポートBFM、またはサンプルデザインの制限によるもの:
  • ベンダー定義メッセージを生成または受信できません。一部のシステムは、ベンダー定義のメッセージを生成します。ハードIPブロックは、これらのメッセージをアプリケーション層に渡すだけです。したがって、アプリケーションに基づいて、それらを処理するようにアプリケーション層をデザインするかどうかを決定する必要があります。
  • パラメーター・エディターを使用して、PCI Express/PCI Capabilities GUIのDevice タブで指定されている現在設定されているMaximum payload sizeオプション以下の受信した読み取り要求のみを処理できます。多くのシステムは、複数の完了で返されるより大きな読み出し要求を処理できます。
  • 読み出し要求ごとに常に単一の完了を返します。一部のシステムは、64バイトのアドレス境界ごとに補完を分割します。
  • 読み出し要求が発行されたのと同じ順序で常に完了を返します。一部のシステムは、完了を順不同で生成します。
  • 一部のシステムが一部の書き込みトランザクションに続いてフラッシュ要求として生成する長さゼロの読み出し要求を生成することはできません。アプリケーション層は、長さがゼロの読み出し要求に対する補完を生成できる必要があります。
  • 固定クレジット配分を使用します。
  • パリティはサポートしていません。
  • 多機能デザインはサポートしていません。
  • タイプ1のベンダー定義メッセージにCplDパケットで誤って応答します。