beautypg.com

Signal). figure 28-3: interrupt request block – Altera Embedded Peripherals IP User Manual

Page 274

background image

This block contains the majority of the VIC CSRs. The CSRs are accessed via the Avalon-MM slave

interface.
Optional output from another VIC core can also come into the interrupt request block. Refer to the Daisy

Chaining VIC Cores section for more information.
Each interrupt can be driven either by its associated

irq_input

signal (connected to a component with an

interrupt source) or by a software trigger controlled by a CSR (even when there is no interrupt source

connected to the

irq_input

signal).

Figure 28-3: Interrupt Request Block

irq_inpu

t

(external interrupt input)

INT_RAW_STATUS

INT_ENABLE

INT_PENDING

SW_INTER

RUPT

RIL

per port

PortId[5:0]
x32

RRS[5:0]
x32

RNMI
x32

RIL[5:0]
x32

RRS

per port

RNMI

per port

Priority Processing Block

The priority processing block chooses the interrupt with the highest priority. The block receives informa‐

tion for each interrupt from the interrupt request block and passes information for the highest priority

interrupt to the vector generation block.
The interrupt request with the numerically-largest RIL has priority. If multiple interrupts are pending

with the same numerically-largest RIL, the numerically-lowest IRQ index of those interrupts has priority.
The RIL is a programmable interrupt level per port. An RIL value of zero disables the interrupt. You

configure the bit width of the RIL when you create the component. Refer to the Parameters section for

configuration options.
Vector Generation Block
The vector generation block receives information for the highest priority interrupt from the priority

processing block. The vector generation block uses the port identifier passed from the priority processing

block along with the vector base address and bytes per vector programmed in the CSRs during software

initialization to compute the RHA.

Table 28-4: RHA Calculation

RHA = (port identifier x bytes per vector) + vector base address

The information then passes out of the vector generation block and the VIC using the Avalon-ST

interface. Refer to the VIC Avalon-ST Interface Fields table for details about the outgoing information.

The output from the VIC typically connects to a processor or another VIC, depending on the design.

UG-01085

2014.24.07

Functional Blocks

28-5

Vectored Interrupt Controller Core

Altera Corporation

Send Feedback