AR# 36627

PCI Express のデザイン アシスタント - 割り込みが送信されない

説明

使用しているデザインでは割り込みが生成されません。この問題をデバッグするには何を確認すればよいでしょうか。

メモ : このアンサーは PCI Express のザイリンクス ソリューション センタ (ザイリンクス アンサー 34536) の一部です。PCI Express のザイリンクス ソリューション センタには、PCIe に関する質問への回答が掲載されています。PCIe を使用したデザインを新しく作成する場合や、問題をトラブルシュートする場合には、この PCIe のソリューション センタから情報を入手してください。

ソリューション

普通の割り込みの場合は、コンフィギュレーション スペースのオフセット 0x04 にある PCI コマンド レジスタの割り込みディスエーブル ビットが 0 に設定されていることを確認します。割り込みを無効にするためにこのビットが使用されることはあまりないのですが、ホストにこの決定権があります。コマンド レジスタの内容は cfg_command[15:0] にあるユーザーへの出力です。普通の割り込みを使用するには、MSI イネーブル ビットを MSI 制御レジスタで設定する必要があります。

MSI 割り込みを使用している場合は、MSI イネーブル 一途を MSI 制御レジスタで設定します。イネーブル ビットが設定されている場合は出力 cfg_interrupt_msienable が 1 にアサートされます。コンフィギュレーション スペースのオフセット 0x04 にある PCI コマンド レジスタで、バス マスタ イネーブル ビットが設定されていることも確認します。この場合もコマンド レジスタは cfg_command[15:0] のユーザーへの出力です。このビットが設定されていない場合は、コアはメモリ書き込み MSI TLP を送信しません。

割り込みを有効にするには、(ザイリンクス アンサー 36594) を参照してください。

PCITree や lspci といったツールを使用してコマンドや MSI 制御レジスタの内容を読み出すこともできます。ソフトウェアの種類については、(ザイリンクス アンサー 34806) を参照してください。このコマンド レジスタは常にオフセット 0x04 にありますが、MSI 制御レジスタは使用しているコアによって別の場所にある場合があります。MSI 制御レジスタのロケーションを確認するには、リンクされている機能リストを確認するか、使用しているコアのユーザー ガイドを参照してください。該当するユーザー ガイドの入手方法は、(ザイリンクス アンサー 35920) を参照してください。この情報は「Core Overview」のセクションに記載されています。


改訂履歴
2010 年 08 月 13 日 - 初期リリース

アンサー レコード リファレンス

関連アンサー レコード

AR# 36627
日付 12/15/2012
ステータス アクティブ
種類 一般
デバイス 詳細 概略
IP