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

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

D. Root Port BFM

この章では、ルートポートの列挙プロセスを説明するフローチャートを提供します。列挙の目的は、システム内の接続されているすべてのデバイスを検索し、接続されているデバイスごとに、必要なレジスターを設定してアドレス範囲を割り当てることです。

列挙プロセスの最後に、ルートポート(RP)は次のレジスターを設定する必要があります。
  • プライマリーバス、セカンダリバス、および従属バスの番号
  • メモリーベースと制限
  • I/OベースとI/O制限
  • 最大ペイロードサイズ
  • メモリース・ペース・イネーブル・ビット
エンドポイント(EP)には、RPによって設定された次のレジスターも必要です。
  • マスター・イネーブル・ビット
  • BARアドレス
  • 最大ペイロード・サイズ
  • メモリー・スペース・イネーブル・ビット
  • 重大度ビット

次の図は、次のフローチャートの基になる接続デバイスのツリーの例を示しています。

図 94. サンプルシステムの接続されたデバイスのツリー
図 95. ルートポート列挙フローチャート
図 96. ルートポート列挙フローチャート[続き]
図 97. ルートポート列挙フローチャート[続き]
  1. ベンダーIDとデバイスIDの情報は、HeaderType0とHeaderType1の両方のオフセット0x00hにあります。
  2. PCIe Gen4の場合、ヘッダータイプはオフセット0x0Eh(2番目のDW)にあります。ビット0が1に設定されている場合、デバイスがブリッジであることを示します。それ以外の場合はEPです。ビット7が0に設定されている場合、これは単機能デバイスであることを示します。それ以外の場合は、多機能デバイスです。
  3. RPおよび非RPデバイスの機能レジスターのリスト:0x34h –機能ポインタ。このレジスターは、関数によって実装される機能のリンクリストを指すために使用されます。
    • RPの機能ポインター:
      • Address 60 - Identifies the Power Management Capability ID
      • Address 6c - Identifies MSI Capability ID
      • Address b4 - Identifies the PCI Express Capability structure
    • Capabilities Pointer for non-RP:
      • Address 40 - Identifies Power Management Capability ID
      • Address 48 - Identifies the PCI Express Capability structure
  4. EPには、プライマリー、セカンダリ、および従属バス番号の関連レジスターがありません。
  5. Bridge/Switch IOベースレジスターおよびリミットレジスターのオフセット0x1Chです。これらのレジスターは、PCIe 4.0 Base Specificationに従って設定します。より正確な情報とフローについては、Base Specificationの7.5.1.3.6章を参照してください。
  6. EPタイプ0ヘッダーの場合、BARアドレスは次のオフセットにあります。
    • 0x10h – Base Address 0
    • 0x14h – Base Address 1
    • 0x18h – Base Address 2
    • 0x1ch – Base Address 3
    • 0x20h – Base Address 4
    • 0x24h – Base Address 5
  7. ブリッジ/スイッチタイプ1ヘッダーの場合、BARアドレスは次のオフセットにあります。
    • 0x10h – Base Address 0
    • 0x14h – Base Address 1
  8. ブリッジ/スイッチタイプ1ヘッダーの場合、IOベースおよびIO制限レジスターはオフセット0x1Chにあります。
  9. ブリッジ/スイッチタイプ1ヘッダーの場合、プリフェッチ不可能なメモリーベースとリミットレジスターはオフセット0x20hにあります。
  10. Bridge/Switch Type 1ヘッダーの場合、プリフェッチ可能なメモリー・ベース・レジスターおよびリミットレジスターはオフセット0x24hにあります。
  11. ブリッジ/スイッチ/EPタイプ0および1ヘッダーの場合、バスマスターイネーブルビットはオフセット0x04h(コマンドレジスター)ビット2にあります。
  12. ブリッジ/スイッチ/EPタイプ0および1ヘッダーの場合:
    • I/Oスペースイネーブルビットは、オフセット0x04h(コマンドレジスター)ビット0にあります。
    • メモリースペースイネーブルビットは、オフセット0x04h(コマンドレジスター)ビット1にあります。
    • バスマスターイネーブルビットは、オフセット0x04h(コマンドレジスター)ビット2にあります。
    • パリティーエラー応答ビットは、オフセット0x04h(コマンドレジスター)ビット6にあります。
    • SERR#イネーブルビットはオフセット0x04h(コマンドレジスター)ビット8にあります。
    • 割り込み無効ビットは、オフセット0x04h(コマンドレジスター)ビット10にあります。