User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 225
UG585 (v1.11) September 27, 2016
Chapter 7: Interrupts
7.1.1 Private, Shared and Software Interrupts
Each CPU has a set of private peripheral interrupts (PPIs) with private access using banked registers.
The PPIs include the global timer, private watchdog timer, private timer, and FIQ/IRQ from the PL.
Software generated interrupts (SGIs) are routed to one or both CPUs. The SGIs are generated by
writing to the registers in the generic interrupt controller (GIC), refer to section 7.3 Register
Overview. The shared peripheral interrupts (SPIs) are generated by the various I/O and memory
controllers in the PS and PL. They are routed to either or both CPUs. The SPI interrupts from the PS
peripherals are also routed to the PL.
7.1.2 Generic Interrupt Controller (GIC)
The generic interrupt controller (GIC) is a centralized resource for managing interrupts sent to the
CPUs from the PS and PL. The controller enables, disables, masks, and prioritizes the interrupt
sources and sends them to the selected CPU (or CPUs) in a programmed manner as the CPU interface
accepts the next interrupt. In addition, the controller supports security extension for implementing a
security-aware system.
The controller is based on the ARM Generic Interrupt Controller Architecture version 1.0 (GIC v1),
non-vectored.
The registers are accessed via the CPU private bus for fast read/write response by avoiding
temporary blockage or other bottlenecks in the interconnect.
The interrupt distributor centralizes all interrupt sources before dispatching the one with the highest
priority to the individual CPUs. The GIC ensures that an interrupt targeted to several CPUs can only
be taken by one CPU at a time. All interrupt sources are identified by a unique interrupt ID number.
All interrupt sources have their own configurable priority and list of targeted CPUs.
7.1.3 Resets and Clocks
The interrupt controller is reset by the reset subsystem by writing to the PERI_RST bit of the
A9_CPU_RST_CTRL register in the SLCR. The same reset signal also resets the CPU private timers and
private watchdog timers (AWDT). Upon reset, all interrupts that are pending or being serviced are
ignored.
The interrupt controller operates with the CPU_3x2x clock (half the CPU frequency).
7.1.4 Block Diagram
The shared peripheral interrupts are generated from various subsystems that include the I/O
peripherals in the PS and logic in the PL. The interrupt sources are illustrated in Figure 7-2.