
GR716-DS-UM, May 2019, Version 1.29
399
www.cobham.com/gaisler
GR716
The
bus interrupt line
is the actual hardware interrupt used by the peripheral. The term
bus
is used
since the internal hardware interrupt lines are distributed via the system bus architecture. The
bus
interrupt line
is in the range from 0 to 63
The
interrupt number
refers to the interrupt line handled by the interrupt controller i.e. values
between 1 to 15. Any arbitrary
bus interrupt line
can be mapped to any arbitrary
interrupt number
from 2 to 15.
Interrupt number 1
has the lowest priority and is reserved for
Extended interrupt num-
bers
.
Extended interrupt number
is arbitrary bus interrupt lines mapped to arbitrary numbers between 16
to 32.
Extended interrupt numbers
is grouped into one
interrupt number
i.e. all
extended interrupt
numbers
have the same priority and
interrupt number
.
40.1.2 Structure
This is a picture of the system interrupt generation and remapping functionality available in the
GR716 device.
40.2
Operation
40.2.1 Interrupt prioritization
The interrupt controller monitors
interrupt number
1 - 15 and
extended interrupt number
16 - 32.
When any of these interrupts are asserted high, the corresponding bit in the interrupt pending register
is set. The pending bits will stay set until cleared by software or by an interrupt acknowledge from the
processor.
Interrupt number
1 - 15 can be assigned to one of two levels (0 or 1) as programmed in the interrupt
level register. Level 1 has higher priority than level 0. The interrupts are prioritised within each level,
with interrupt 15 having the highest priority and interrupt 1 the lowest. The highest interrupt from
level 1 will be forwarded to the processor. If no unmasked pending interrupt exists on level 1, then the
highest unmasked interrupt from level 0 will be forwarded.
Extended interrupt number
16 - 32 are grouped and OR:ed into
Interrupt number 1
depict in figure 66.
Extended interrupt number
16 - 32 has no level control an have no prioritization between individual
interrupts.
When the LEON3FT processor acknowledges the interrupt, the corresponding pending bit will auto-
matically be cleared. For
extended interrupt
the extended acknowledge register will identify which
extended interrupt that was most recently acknowledged. This register can be used by software to
invoke the appropriate interrupt handler for the extended interrupts.
1
15
IRQMP.IRQMAP0.ID2
IRQMP.IRQMAP0.ID3
System Bus
IRQMP.IRQMAP15.ID63
63:2
2
3
63
Bus Line 2
Bus Line 63
Bus Interrupt
Line
Bus Line 3
31:1
31:1
31:1
OR
OR
31
OR
OR
OR
16
OR
IRQ
Pending
IRQ
(re)map
IRQ
Source
15
0
1
16
31
Extended Interrupt
Number
Interrupt Number
IRQ Force
IRQ Mask
IRQMP.IFORCE IRQMP.IMASK
Interrupt
Level (IRL)
15:2
OR
AND
31:16
1
1
OR
GRPWRX
GRPWTX
AHBSTAT
Priority
Encoder
IRQMP.IPEND
IRQMP.ILEVEL
15
…
3
2
1
0
…
0
0
0
0
…
0
0
1
0
…
0
1
X
0
…
1
X
X
…
…
…
…
…
1
…
X
X
X
LVL
0
0
0
0
…
0
IRL
0
1
2
3
…
15
Masked Interrupt
Level
IRQ
15:2
15:1
15:1
Figure 66.
System and Interrupt controller block diagram