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

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

10. Avalon-MMテストベンチおよびデザイン例

この章では、テストベンチ、BFM、およびテスト・ドライバー・モジュールを含むエンドポイント・デザイン例を紹介します。このデザイン例は、クイック・スタート・ガイドで説明されているデザインフローを使用して作成できます。このテストベンチは、クイック・スタート・ガイドで指定したパラメーターを使用します。

このテストベンチは、最大x16のバリアントをシミュレーションします。ただし、提供されているBFMはx1からx8リンクのみをサポートします。x8にダウントレーニングすることにより、x16バリアントをサポートします。x16バリアントのすべてのレーンをシミュレーションするには、Averyテストベンチで使用するシミュレーション・モデルを作成します。このオプションは現在、Avaon-STバリアントでのみ使用可能です。詳細については、AN-811: Using the Avery BFM for PCI Express Gen3x16 Simulation on Intel Stratix 10 Devicesを参照してください。

エンドポイント・バリエーションとしてコンフィグレーションされている場合、テストベンチはデザイン例およびRoot Port BFMをインスタンス化し、次の機能を提供します。

  • Endpointのすべての基本コンフィグレーション・レジスターをセットアップするコンフィグレーション・ルーチン。このコンフィグレーションにより、エンドポイント・アプリケーションをPCI Expressトランザクションのターゲットおよびイニシエーターにすることができます。
  • EndpointへのPCI Expressトランザクションを開始するVerilog HDLプロシージャー・インターフェイス

このテストベンチは、単一のEndpoint DUTをシミュレーションします。

テストベンチはテスト・ドライバー・モジュール altpcietb_bfm_rp_gen3_x8.sv を使用して、Endpoint BFMでターゲットメモリーおよびDMAチャネルを実行します。テスト・ドライバー・モジュールは、Root Port Configuration Spaceレジスターからの情報を表示するので、パラメーター・エディターを使用して、指定したパラメーターに関連付けることができます。エンドポイント・モデルは、DMAアプリケーションと組み合わせたエンドポイント・バリエーションで構成されています。

インテル® Quartus® Prime 18.0リリース以降、IPをRoot PortとしてコンフィグレーションするインテルArria 10 PCIeデザイン例を生成できます。このシナリオでは、テストベンチはEndpoint BFMおよびJTAGマスターブリッジをインスタンス化します。

シミュレーションでは、JTAGマスターBFMを使用してCRA読み出しおよび書き込みトランザクションを開始し、バス列挙を実行してエンドポイントをコンフィグレーションします。シミュレーションでは、JTAGマスターBFMを使用してTXS Avalon-MMインターフェイスを駆動し、メモリーの読み出しおよび書き込みトランザクションを実行します。

注: インテル・テストベンチおよびRoot Port BFMまたはEndpoint BFMは、バリエーションにインターフェイス接続するアプリケーション・レイヤー・ロジックの基本的なテストを行う簡単な方法を提供します。このBFMを使用すると、コンフィグレーション可能なパラメーターを使用して、単純なタスク・スティミュラスを作成および実行し、インテルデザイン例の基本的な機能を実行できます。テストベンチおよびBFMは、完全な検証環境の代わりになるものではありません。コーナーケースおよび特定のトラフィック・プロファイル・スティミュラスはカバーされません。可能な限り最高の検証カバレッジを確保するために、インテルは、市販のPCI Express検証IPおよびツールを入手するか、独自の広範なハードウェア・テストを行うか、またはその両方を行うことを強くお勧めします。

アプリケーション層のデザインでは、少なくとも、インテル・テストベンチおよびRoot Port BFMでは作成できない以下のシナリオを処理する必要があります。

  • Vendor Defined Messagesを生成または受信できません。一部のシステムはVendor Defined Messagesを生成し、そのメッセージを処理するためにアプリケーション層をデザインする必要があります。ハードIPブロックは、このメッセージをアプリケーション層に渡します。アプリケーション層は、ほとんどの場合そのメッセージを無視する必要があります。
  • パラメーター・エディターを使用して、Device > PCI Express > PCI Capabilities > Maximum payload sizeに現在設定されているよりも小さい、受信した読み出し要求のみを処理できます。多くのシステムは、より大きな読み出し要求を処理することができ、その後、複数のコンプリーションで返されます。
  • 常に、すべての読み出し要求に対して単一のコンプリーションを返します。一部のシステムは、64バイトのアドレス境界ごとにコンプリーションを分割します。
  • 常に、読み出し要求が発行されたのと同じ順序でコンプリーションを返します。一部のシステムでは、コンプリーションがアウトオブオーダーで生成されます。
  • 一部のシステムが一部の書き込みトランザクションに続くフラッシュ要求として生成する、長さゼロの読み出し要求を生成することはできません。アプリケーション層は、長さがゼロの読み出し要求に対して、コンプリーションの生成ができる必要があります。
  • 固定のクレジット割り当てを使用します。
  • パリティーはサポートしていません。
  • Configuration Space BypassモードまたはSingle Root I/O Virtualization (SR-IOV) を使用するときに使用可能な多機能デザインはサポートしていません。