Specifications

Embedded System Tools Guide (EDK 6.2i) www.xilinx.com 325
UG111 (v1.4) January 30, 2004 1-800-255-7778
MicroBlaze Interrupt Management
R
peripheral interrupt signals with priorities 1 through 4 connected to the interrupt
controller input.
The corresponding MHS snippet is as shown below :
BEGIN opb_intc
parameter INSTANCE = myintc
parameter HW_VER = 1.00.b
parameter C_BASEADDR = 0xFFFF1000
parameter C_HIGHADDR = 0xFFFF10ff
bus_interface SOPB = opb_bus
port Irq = interrupt
port Intr = Priority4_interrupt & Priority3_interrupt &
Priority2_interrupt & Priority1_interrupt
END
begin microblaze
parameter INSTANCE = mblaze
parameter HW_VER = 1.00.c
bus_interface DOPB = opb_bus
bus_interface DLMB = d_lmb
bus_interface ILMB = i_lmb
port INTERRUPT = interrupt
end
The interrupt signal output of the controller is connected to the interrupt input of
MicroBlaze. The order of priority for each of the interrupt signals is defined from right to
left, with the rightmost signal having the highest priority and the leftmost signal having
the least priority as defined in the Intr port entry for interrupt controller in the MHS file
snippet shown above.
On interrupts, MicrBlaze jumps to the handler(XIntc_DeviceInterruptHandler) of interrupt
controller peripheral using the exception table as defined in the “MicroBlaze Interrupt
Management” section. The handler of the interrupt controller peripheral is automatically
registered in the exception table by libgen. The interrupt controller handler services each
interrupt signal that is active starting from the highest priority signal. Each of the
peripheral interrupt signal needs to be associated with an interrupt handler routine (also
called Interrupt Service Routine). The interrupt controller handler uses a vector table to
Figure 23-2: Interrupt Controller and Peripherals
MicroBlaze
Interrupt
Controller
Priority 1
interrupt
Priority 2
interrupt
Priority 3
interrupt
Priority 4
interrupt
Interrupt Signal
Peripheral 4
Peripheral 3
Peripheral 2
Peripheral 1
UG111_13_111903