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 69
UG585 (v1.11) September 27, 2016
Chapter 3: Application Processing Unit
• Both data cache read misses and write misses are non-blocking, with up to four outstanding
data cache read misses and up to four outstanding data cache write misses being supported.
• The APU data caches offer full snoop coherency control using the MESI algorithm.
• The data cache in Cortex-A9 contains local load/store exclusive monitor for LDREX/STREX
synchronizations. These instructions are used to implement semaphores. The exclusive monitor
handles one address only, with eight words or one cache line granularity. Therefore, avoid
interleaving LDREX/STREX sequences and always execute a CLREX instruction as part of any
context switch.
• D-Cache only supports write-back/write-allocate policy. Write-through and write-back/no
write-allocate policies are not implemented.
• L1 D-Cache offers support for exclusive operation with respect to the L2 cache. Exclusive
operation implies that a cache line is valid only in L1 or L2 cache and never in both at the same
time. A line-fill into L1 causes the line to be marked invalid in L2. At the same time, eviction of a
line from L1 causes the line to be allocated in L2, even if it is not dirty. A line-fill into L1 from
dirty L2 line forces eviction of the line to external memory. The exclusive operation, disabled by
default, increases cache utilization and reduces power consumption.
Initialization of L1 Caches
Before using the L1 caches, you must invalidate the instruction cache, the data cache, and the BTAC.
It is not required to invalidate the main TLB, even though it is recommended for safety reasons. This
ensures compatibility with future revisions of the processor. Steps to initialize L1 Caches:
1. Invalidate TLBs:
mcr p15, 0, r0, c8, c7, 0 (r0 = 0)
2. Invalidate I-Cache:
mcr p15, 0, r0, c7, c5, 0 (r0 = 0)
3. Invalidate Branch Predictor Array:
mcr p15, 0, r0, c7, c5, 6 (r0 = 0)
4. Invalidate D-Cache:
mcr p15, 0, r11, c7, c14, 2 (should be done for all the sets/ways)
5. Initialize MMU.
6. Enable I-Cache and D-Cache:
mcr p15, 0, r0, c1, c0, 0 (r0 = 0x1004)
7. Synchronization barriers:
dsb (Allows MMU to start)
isb (Flushes pre-fetch buffer)
(Refer to Memory Barriers, page 72 for more details on memory barriers.)










