Altera IP Compiler for PCI Express User Manual
Page 192

10–2
Chapter 10: Interrupts
MSI Interrupts
IP Compiler for PCI Express User Guide
August 2014
Altera Corporation
illustrates a possible implementation of the MSI handler block with a per
vector enable bit. A global application interrupt enable can also be implemented
instead of this per vector MSI.
There are 32 possible MSI messages. The number of messages requested by a
particular component does not necessarily correspond to the number of messages
allocated. For example, in
, the endpoint requests eight MSIs but is only
allocated two. In this case, you must design the application layer to use only two
allocated messages.
Figure 10–2. Example Implementation of the MSI Handler Block
Figure 10–3. MSI Request Example
app_int_en0
app_int_sts0
app_msi_req0
app_int_en1
app_int_sts1
app_msi_req1
app_int_sts
MSI
Arbitration
msi_enable & Master Enable
app_msi_req
app_msi_ack
Vector 1
Vector 0
R/W
R/W
Endpoint
8 Requested
2 Allocated
Root Complex
CPU
Interrupt Register
Root
Port
Interrupt
Block