5.1. コンフィグレーション・スペース・レジスターとPCIe仕様の対応関係
5.2. Type 0コンフィグレーション・スペース・レジスター
5.3. Type 1コンフィグレーション・スペース・レジスター
5.4. PCI Express機能構造
5.5. Intel定義のVSECレジスター
5.6. CvPレジスター
5.7. 64ビットおよび128ビットのAvalon-MMブリッジ・レジスターの説明
5.8. Avalon-MMルートポートのプログラミング・モデル
5.9. Uncorrectable Internal Error Mask(訂正不能な内部エラーマスク)レジスター
5.10. Uncorrectable Internal Error Status(訂正不能な内部エラー・ステータス)レジスター
5.11. Correctable Internal Error Mask(訂正可能な内部エラーマスク)レジスター
5.12. Correctable Internal Error Status(訂正可能な内部エラー・ステータス)レジスター
5.7.1.1. Avalon-MM to PCI Express割り込みステータス・レジスター
5.7.1.2. Avalon-MM to PCI Express割り込みイネーブル・レジスター
5.7.1.3. PCI Express Mailbox Registers
5.7.1.4. Avalon-MM-to-PCI Expressアドレス変換テーブル
5.7.1.5. エンドポイント用のPCI Express to Avalon-MM Interrupt StatusレジスターおよびEnableレジスター
5.7.1.6. Avalon-MM Mailbox Registers
5.7.1.7. Control Register Access (CRA) Avalon-MMスレーブポート
割り込みハンドラーは、INTx割り込みとMSI割り込みの両方を実装します。コンフィグレーション・レジスターのmsi_enableビットは、割り込みの種類を指定します。msi_enable_bitは、MSI機能構造のMSIメッセージ制御部分の一部を構成します。これは、コンフィグレーション・スペース・レジスター内のアドレス0x050のbit[16]です。msi_en ableビットがオンの場合、受信するとMSI要求はPCI Express用のArria VハードIPに送信されます。そうでなければ、INTxが送信されます。割り込みハンドラーブロックは、ソフトウェアによるソースの推測が可能となるよう、単一の割り込みソースをサポートしています。割り込みは、Platform DesignerのIRQカラムで割り込み信号を未接続にしておくことでディスエーブルすることができます。
Arria V PCI Express用ハードIPのCompleter Only Single Dwordのコンフィグレーション・スペースでMSIレジスターが更新される際、次の図に示すように情報がブリッジモジュールに伝播される前に遅延が発生します。
PCI Express用Completer Only Single Dwordエンドポイントを含むPlatform Designerのデザイン
ブリッジモジュールがMSIレジスター情報を更新するために必要なタイムを許容する必要があります。通常、MSIレジスターの設定は列挙プロセス中に実行されます。通常の動作では、MSIレジスターの初期化は、割り込みが生成されるはるか以前に実行されます。ただし、更新が完了するまで待機することに成功しない場合、結果は以下のいずれかとなります。
- MSI割り込みの代わりにレガシー割り込みを送信する
- レガシー割り込みの代わりにMSI割り込みを送信する
- 割り込み要求の喪失
PCI Express基本仕様によると、コンフィグレーション・スペースCommandレジスター(0x004)においてMSI_enable=0でDisable Legacy Interrupt bit=1の場合、ハードIPは割り込みが生成される際レガシー割り込みメッセージを送信するべきではありません。