User manual
Table Of Contents
- Zynq-7000 All Programmable SoC
- Table of Contents
- Ch. 1: Introduction
- Ch. 2: Signals, Interfaces, and Pins
- Ch. 3: Application Processing Unit
- Ch. 4: System Addresses
- Ch. 5: Interconnect
- Ch. 6: Boot and Configuration
- Ch. 7: Interrupts
- Ch. 8: Timers
- Ch. 9: DMA Controller
- Introduction
- Functional Description
- DMA Transfers on the AXI Interconnect
- AXI Transaction Considerations
- DMA Manager
- Multi-channel Data FIFO (MFIFO)
- Memory-to-Memory Transfers
- PL Peripheral AXI Transactions
- PL Peripheral Request Interface
- PL Peripheral - Length Managed by PL Peripheral
- PL Peripheral - Length Managed by DMAC
- Events and Interrupts
- Aborts
- Security
- IP Configuration Options
- Programming Guide for DMA Controller
- Programming Guide for DMA Engine
- Programming Restrictions
- System Functions
- I/O Interface
- Ch. 10: DDR Memory Controller
- Introduction
- AXI Memory Port Interface (DDRI)
- DDR Core and Transaction Scheduler (DDRC)
- DDRC Arbitration
- Controller PHY (DDRP)
- Initialization and Calibration
- DDR Clock Initialization
- DDR IOB Impedance Calibration
- DDR IOB Configuration
- DDR Controller Register Programming
- DRAM Reset and Initialization
- DRAM Input Impedance (ODT) Calibration
- DRAM Output Impedance (RON) Calibration
- DRAM Training
- Write Data Eye Adjustment
- Alternatives to Automatic DRAM Training
- DRAM Write Latency Restriction
- Register Overview
- Error Correction Code (ECC)
- Programming Model
- Ch. 11: Static Memory Controller
- Ch. 12: Quad-SPI Flash Controller
- Ch. 13: SD/SDIO Controller
- Ch. 14: General Purpose I/O (GPIO)
- Ch. 15: USB Host, Device, and OTG Controller
- Introduction
- Functional Description
- Programming Overview and Reference
- Device Mode Control
- Device Endpoint Data Structures
- Device Endpoint Packet Operational Model
- Device Endpoint Descriptor Reference
- Programming Guide for Device Controller
- Programming Guide for Device Endpoint Data Structures
- Host Mode Data Structures
- EHCI Implementation
- Host Data Structures Reference
- Programming Guide for Host Controller
- OTG Description and Reference
- System Functions
- I/O Interfaces
- Ch. 16: Gigabit Ethernet Controller
- Ch. 17: SPI Controller
- Ch. 18: CAN Controller
- Ch. 19: UART Controller
- Ch. 20: I2C Controller
- Ch. 21: Programmable Logic Description
- Ch. 22: Programmable Logic Design Guide
- Ch. 23: Programmable Logic Test and Debug
- Ch. 24: Power Management
- Ch. 25: Clocks
- Ch. 26: Reset System
- Ch. 27: JTAG and DAP Subsystem
- Ch. 28: System Test and Debug
- Ch. 29: On-Chip Memory (OCM)
- Ch. 30: XADC Interface
- Ch. 31: PCI Express
- Ch. 32: Device Secure Boot
- Appx. A: Additional Resources
- Appx. B: Register Details
- Overview
- Acronyms
- Module Summary
- AXI_HP Interface (AFI) (axi_hp)
- CAN Controller (can)
- DDR Memory Controller (ddrc)
- CoreSight Cross Trigger Interface (cti)
- Performance Monitor Unit (cortexa9_pmu)
- CoreSight Program Trace Macrocell (ptm)
- Debug Access Port (dap)
- CoreSight Embedded Trace Buffer (etb)
- PL Fabric Trace Monitor (ftm)
- CoreSight Trace Funnel (funnel)
- CoreSight Intstrumentation Trace Macrocell (itm)
- CoreSight Trace Packet Output (tpiu)
- Device Configuration Interface (devcfg)
- DMA Controller (dmac)
- Gigabit Ethernet Controller (GEM)
- General Purpose I/O (gpio)
- Interconnect QoS (qos301)
- NIC301 Address Region Control (nic301_addr_region_ctrl_registers)
- I2C Controller (IIC)
- L2 Cache (L2Cpl310)
- Application Processing Unit (mpcore)
- On-Chip Memory (ocm)
- Quad-SPI Flash Controller (qspi)
- SD Controller (sdio)
- System Level Control Registers (slcr)
- Static Memory Controller (pl353)
- SPI Controller (SPI)
- System Watchdog Timer (swdt)
- Triple Timer Counter (ttc)
- UART Controller (UART)
- USB Controller (usb)

Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 90
UG585 (v1.11) September 27, 2016
Chapter 3: Application Processing Unit
• 8 or 16-bit polynomial computation for single-bit coefficients
• Structured data load capabilities
• Dual issue with Cortex-A9 processor ARM or Thumb instructions
• Independent pipelines for VFPv3 and advanced SIMD instructions
• Large, shared register file, addressable as:
°
Thirty-two 32-bit S (single) registers
°
Thirty-two 64-bit D (double) registers
°
Sixteen 128-bit Q (quad) registers
See the ARM Architecture Reference Manual for details of the advanced SIMD instructions and the
NEON MPE operation.
3.2.8 Performance Monitoring Unit
The Cortex-A9 processor includes a performance monitoring unit (PMU) which provides six counters
to gather statistics on the operation of the processor and memory system. Each counter can count
any of 58 events available in the Cortex-A9 processor. The PMU counters and their associated control
registers are accessible from the internal CP15 interface as well as from the DAP interface. For details,
refer to the Performance Monitoring Unit section in the ARM Cortex-A9 Technical Reference Manual.
3.3 Snoop Control Unit (SCU)
3.3.1 Summary
The SCU block connects the two Cortex-A9 processors to the memory subsystem and contains the
intelligence to manage the data cache coherency between the two processors and the L2 cache. This
block is responsible for managing the interconnect arbitration, communication, cache and system
memory transfers, and cache coherence for the Cortex-A9 processors. The APU also exposes the
capabilities of the SCU to system accelerators that are implemented in the PL through the accelerator
coherency port (ACP) interface (see ACP Interface, page 103). This interface allows PL masters to
share and access the processor cache hierarchy. The offered system coherence here not only
improves performance but also reduces the software complexity involved in otherwise maintaining
software coherency within each OS driver.
The SCU block communicates with each of the Cortex-A9 processors through a cache coherency bus
(CCB) and manages the coherency between the L1 and the L2 caches. The SCU supports MESI
snooping which provides increased power efficiency and performance by avoiding unnecessary
system accesses. The block implements duplicated 4-way associative tag RAMs acting as a local
directory that lists coherent cache lines held in the CPU L1 data caches. The directory allows the SCU
to check if data is in the L1 data caches with great speed and without interrupting the processors.
Also, accesses can be filtered only to the processor that is sharing the data.










