We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 34248

Design Assistant for PCI Express - MSI interrupt is not received at the host


In the user application, the interrupt is sent to the core through the cfg_interrupt_* interface. However, the driver at the host is not reporting an interrupt request. Why is the interrupt accepted at the core but not sent to the host?

Note: This Answer Record is a part of the Xilinx Solution Center for PCI Express (Xilinx Answer 34536). The Xilinx Solution Center for PCI Express is available to address all questions related to PCIe. Whether you're starting a new design with PCIe or troubleshooting a problem, use the Solution Center for PCIe to guide you to the right information.


The MSI interrupt takes the form of a memory write request issued from the endpoint to the host. The endpoint needs to have its Bus Master enable bit set in order to send the Memory Write request transaction.

Please ensure that the Bus Master Enable bit is already set to 1 in the Command register in the PCI configuration space at addrexx 0x04. This register should be set by the host at device initialization.

This issue is more often seen in simulation because the testbench needs to enable the Bus Master Enable bit during the configuration process.

Revision History

10/31/2011 - Initial Release

Linked Answer Records

Associated Answer Records

Answer Number Answer Title Version Found Version Resolved
34085 Design Assistant for PCI Express - Hardware Debug N/A N/A
34538 Xilinx Solution Center for PCI Express - Design Assistant N/A N/A
AR# 34248
Date Created 10/31/2011
Last Updated 12/15/2012
Status Active
Type General Article
  • Virtex-5 LXT
  • Virtex-5 FXT
  • Virtex-5 SXT
  • More
  • Virtex-5 TXT
  • Spartan-6 LXT
  • Virtex-6 CXT
  • Virtex-6 HXT
  • Virtex-6 LXT
  • Virtex-6 SXT
  • Less
  • Endpoint Block Plus Wrapper for PCI Express
  • Virtex-6 FPGA Integrated Block for PCI Express ( PCIe )
  • Spartan-6 FPGA Integrated Endpoint Block for PCI Express ( PCIe )