User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 106
UG585 (v1.11) September 27, 2016
Chapter 3: Application Processing Unit
The event bus can be used to implement PL-based accelerators. The event output can be used to
trigger an ACP accelerator to read from a predefined address. Further on in the process, the event
input can be used to communicate that the data has been written back over the ACP and is ready to
be consumed by a CPU. A detailed description of this example follows:
1. CPU0 generates the data that is required by the accelerator in the L1/L2 cache. This data can
contain both commands and information to be processed.
2. CPU0 issues an SEV (send event) instruction, causing EVENTEVENTO to toggle to the PL. The
signal is connected to an accelerator IP implemented in the PL.
3. CPU0 next issues a WFE (wait For event) instruction, placing the CPU in a lower-power standby
state. This is reflected in the EVENTSTANDBYWFE[0] status output to the PL.
4. The accelerator notices the toggled EVENTEVENTO signal and realizes that CPU0 is waiting. The
accelerator fetches data from a prearranged address and data format through the ACP interface
and begins processing.
5. After writing the result data back through the ACP, the accelerator asserts the EVENTEVENTI
input to indicate that processing is complete and wakes up CPU0.
6. CPU0 wakes from its standby state, which is reflected in the EVENTSTANDBYWFE[0] output, and
CPU0 continues execution using the processed data.
3.5.2 Interrupt Interface
The PS general interrupt controller (GIC) supports 64 interrupt input lines that are driven from other
blocks within the PS or the PL. Six of the 64 interrupt inputs are driven from within the APU. These
include the L1 parity fail, L2 interrupt (all reasons), and PMU (performance monitor unit) interrupt.
The interrupt output of the GIC drives either the IRQ or FIQ inputs of each of the Cortex-A9
processors. The selection as to which processor is interrupted is accomplished through an SCU
register within the APU. Table 3-8 defines the interrupts specific to the APU.
EVENTEVENTO A toggle output signal indicating that either CPU is executing the SEV
instruction.
EVENTEVENTI A toggle input signal that wakes up either one or both CPUs if they
are in a standby state initiated by the WFE instruction.
EVENTSTANDBYWFE[1:0] Two-level output signals indicating the state of the two CPUs. A bit is
asserted if the corresponding CPU is in standby state following the
execution of the WFE (wait for event) instruction.
EVENTSTANDBYWFI[1:0] Two-level output signals indicating the state of the two CPUs. A bit is
asserted if the corresponding CPU is in standby state following the
execution of the WFI (wait for interrupt) instruction.
Table 3-8: APU Interrupts
Interrupt Description
32 Any of the L1 instruction cache, L1 data cache, TLB, GHB, and BTAC parity errors from CPU 0
33 Any of the L1 instruction cache, L1 data cache, TLB, GHB, and BTAC parity errors from CPU 1
34 Any errors, including parity errors, from the L2 controller
92 Any of the parity errors from SCU generate a third interrupt