インテルのみ表示可能 — GUID: lbl1416435990511
Ixiasoft
インテルのみ表示可能 — GUID: lbl1416435990511
Ixiasoft
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では作成できない以下のシナリオを処理する必要があります。
- 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) を使用するときに使用可能な多機能デザインはサポートしていません。