Interrupts for endpoints – Altera Arria V Avalon-MM User Manual
Page 105
Interrupts for Endpoints
7
2014.12.15
UG-01105_avmm
The PCI Express Avalon-MM bridge supports MSI or legacy interrupts. The completer only single dword
variant includes an interrupt handler that implements both INTX and MSI interrupts. Support requires
instantiation of the CRA slave module where the interrupt registers and control logic are implemented.
The PCI Express Avalon-MM bridge supports the Avalon-MM individual requests interrupt scheme:
multiple input signals indicate incoming interrupt requests, and software must determine priorities for
servicing simultaneous interrupts.
The RX master module port has up to 16 Avalon-MM interrupt input signals (
RXmirq_irq[
:0]
,
where
signals, or a PCI Express mailbox register write access, sets a bit in the
Avalon-MM to PCI Express
Interrupt Status
register. Multiple bits can be set at the same time; Application Layer software on the
host side determines priorities for servicing simultaneous incoming interrupt requests. Each set bit in the
Avalon-MM to PCI Express Interrupt Status
register generates a PCI Express interrupt, if enabled,
when software determines its turn. Software can enable the individual interrupts by writing to the
Avalon-MM to PCI Express Interrupt Enable Register
through the CRA slave.
When any interrupt input signal is asserted, the corresponding bit is written in the
Avalon-MM to PCI
Express Interrupt Status Register
. Software reads this register and decides priority on servicing
requested interrupts.
After servicing the interrupt, software must clear the appropriate serviced interrupt
status
bit and ensure
that no other interrupts are pending. For interrupts caused by
Avalon-MM to PCI Express Interrupt
Status Register
mailbox writes, the status bits should be cleared in the
Avalon-MM to PCI Express
Interrupt Status Register
. For interrupts due to the incoming interrupt signals on the Avalon-MM
interface, the interrupt status should be cleared in the Avalon-MM component that sourced the interrupt.
This sequence prevents interrupt requests from being lost during interrupt servicing.
©
2014 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at
www.altera.com/common/legal.html
. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134