Register maps, Register maps -6 – Altera Embedded Peripherals IP User Manual

Page 275

Advertising
background image

Daisy Chaining VIC Cores

You can create a system with more than 32 interrupts by daisy chaining multiple VIC cores together. This

is done by connecting the

interrupt_controller_out

interface of one VIC to the optional

interrupt_controller_in

interface of another VIC. For information about enabling the optional input

interface, refer to the Parameters section.
For performance reasons, always directly connect VIC components. Do not include other components

between VICs.
When daisy chain input comes into the VIC, the priority processing block considers the daisy chain input

along with the hardware and software interrupt inputs from the interrupt request block to determine the

highest priority interrupt. If the daisy chain input has the highest RIL value, then the vector generation

block passes the daisy chain port values unchanged directly out of the VIC.
You can daisy chain VICs with fewer than 32 interrupt ports. The number of daisy chain connections is

only limited to the hardware and software resources. Refer to the Latency Information section for details

about the impact of multiple VICs.
Altera recommends setting the RIL width to the same value in all daisy-chained VIC components. If your

RIL widths are different, wider RILs from upstream VICs are truncated.

Latency Information

The latency of an interrupt request traveling through the VIC is the sum of the delay through each of the

blocks. Clock delays in the interrupt request block and the vector generation block are constants. The

clock delay in the priority processing block varies depending on the total number of interrupt ports.

Table 28-5: Clock Delay Latencies

Number of Interrupt

Ports

Interrupt Request

Block Delay

Priority Processing

Block Delay

Vector Generation

Block Delay

Total Interrupt

Latency

2 – 4

2 cycles

1 cycle

1 cycle

4 cycles

5 – 16

2 cycles

2 cycles

1 cycle

5 cycles

17 – 32

2 cycles

3 cycles

1 cycle

6 cycles

When daisy-chaining multiple VICs, interrupt latency increases as you move through the daisy chain

away from the processor. For best performance, assign interrupts with the lowest latency requirements to

the VIC connected directly to the processor.

Register Maps

The VIC core CSRs are accessible through the Avalon-MM interface. Software can configure the core and

determine current status by accessing the registers.
Each register has a 32-bit interface that is not byte-enabled. You must access these registers with a master

that is at least 32 bits wide.

28-6

Register Maps

UG-01085

2014.24.07

Altera Corporation

Vectored Interrupt Controller Core

Send Feedback

Advertising