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

ID 683140
日付 12/17/2021
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

4.1.1.1. SR-IOVの実装n

VFPCIe情報へのアクセス

VFのPCIeコンフィグレーション・スペースは、ユーザー・アプリケーションが直接利用することはできません。ユーザー・アプリケーションは、次の方法を使用して必要な情報(バスマスターの有効化、MSI-Xなど)を取得できます。
  • コンフィグレーション・インターセプト・インターフェイスを使用して特定のVFレジスターを監視する
  • ハードIPリコンフィグレーション・インターフェイスを使用した特定のVFレジスターの読み出す/書き込む

VF IDは、Fタイル内で計算されます。ユーザー・アプリケーションに側波帯信号があり、rx_st_vf_num_orx_st_vf_active_o TLPを使用して、PF内の関連するVFを識別します。

BDFの割り当て

SR-IOVを有効にすると、ARI機能は常に有効になります。

PCIe用のFタイルIPは、送信側でコンプリーター/リクエスターIDを自動的に計算します。アプリケーションは、以下に示すように、ヘッダーにVFおよびPF情報を提供する必要があります。(x16の場合、 sn s0またはs1のいずれかです。 x8の場合、 sn はs0です。)。
  • tx_st_hdr_sn [127]:0に設定する必要がある
  • tx_st_hdr_sn [83]tx_st_vf_active
  • tx_st_hdr_sn [82:80]tx_st_func_num [2:0]
  • tx_st_hdr_sn [95:84]tx_st_vf_num [11:0]
次の例では、PF1のVF3が要求を送受信しています。ReceiveTLPの場合:
  • rx_st_func_num_o = 0x1は、PF1に関連付けられたVFが要求を行っていることを示します。
  • rx_st_vf_num_o = 0x3
  • rx_st_vf_active_o = 1は、PF1のVF3がアクティブなVFであることを示します。
PF1に関連付けられたVF3の送信TLPの場合:
  • tx_st_hdr_sn [83] = 0x1
  • tx_st_hdr_sn [82:80] = 0x1
  • tx_st_hdr_sn [95:84] = 0x3

VFエラー・レポート

非致命的エラーメッセージを生成するには、AERをサポートしていないVFが必要です。 IPはエラーメッセージを生成しません。特定のエラー状態が発生したときに適切なメッセージを生成するのは、ユーザー・アプリケーション・ロジック次第です。 PCIe用のFタイルIPは、これらのメッセージを生成するために必要な信号をユーザー・アプリケーション・ロジックで利用できるようにします。完了タイムアウト・インターフェイスとVFエラー・フラグ・インターフェイスは、致命的でないエラーメッセージを生成するために必要な情報を提供します。

VFからPFへのマッピング

VFからPFへのマッピングは、常に可能な限り小さいPF番号から始まります。たとえば、IPに2つのPFがあり、PF0に64のVFがあり、PF1に16のVFがある場合、VF1からVF64はPF0にマップされ、VF65からVF80はPF1にマップされます。

現在、IPコアは次のPF/VFの組み合わせのみをサポートしています。

表 26.  サポートされる組み合わせ
PFの数 PFあたりのVFの数(PF0/PF1/PF2/PF3/PF4/PF5/PF6/PF7) 合計VF
1 8 8
1 16 16
1 32 32
1 64 64
1 128 128
1 256 256
1 512 512
2 16/16 32
2 32/32 64
2 128/128 256
2 256/256 512
2 32/0 32
2 0/32 32
2 64/0 64
2 0/64 64
2 128/0 128
2 0/128 128
2 256/0 256
2 0/256 256
2 512/0 512
2 0/512 512
2 1024/0 1024
2 0/1024 1024
2 2048/0 2048
2 0/2048 2048
4 128/0/0/0 128
4 0/128/0/0 128
4 256/0/0/0 256
4 0/256/0/0 256
4 1024、0、0、0、0 1024
4 0/1024/0/0 1024
8 256、0、0、0、0、0、0 256
8 0、256、0、0、0、0、0 256

たとえば、4つのPF、256 VFの組み合わせ、および[PFあたりのVFの数]列の表記256/0/0/0を示す行は、256個のVFすべてがPF0にマップされ、VFがマップされていないことを示しています。 PF1、PF2またはPF3。 SR-IOV順列により、任意のPFに初期VF割り当てを割り当てることができます。