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 683
UG585 (v1.11) September 27, 2016
Chapter 25: Clocks
Clock Usage
During normal usage, most system clocks will be derived by taking the input clock PS_CLK, sending
it through the PLL, and finally dividing it down to be used within the PS. While the PS generates many
different clocks, as shown in Figure 25-1, there are three clock domains that have the largest
interaction and importance in the system: These are the DDR_3x domain, the DDR_2x domain, and
the CPU clock domain. The DDR_3x clock domain includes the DDR memory controller. The DDR_2x
domain is primarily used for the high performance AXI interfaces to the PL (AXI_HP{0:3}) and the
interconnect. The CPU clock domain controls the ARM processors along with many of the CPU
peripherals.
The CPU clock domain is composed of four separate clocks: CPU_6x4x, CPU_3x2x, CPU_2x, and
CPU_1x. These four clocks are named according to their frequencies, which are related by one of two
ratios: 6:3:2:1 or 4:2:2:1 (abbreviated 6:2:1 and 4:2:1). The operating clock ratio is determined by the
CLK_621_TRUE [0] bit value. In the 6:2:1 mode, the frequency of the CPU_6x4x clock is 6 times as fast
as the CPU_1x clock. Table 25-1, page 682 shows examples of how these clocks are related. Refer to
the applicable Zynq-7000 AP SoC data sheet for the maximum clock frequency of each clock domain.
All the CPU clocks are synchronous to each other; while the DDR clocks are independent of each
other and the CPU clocks. The I/O peripheral clocks, such as CAN reference clocks and SDIO
reference clocks, are all generated by a similar method, starting from the PS_CLK pin, through a PLL,
then a divider, and finally to the peripheral destination. Each peripheral clock is completely
asynchronous to all other clocks.
Interconnect Clock Domains
The individual clock domains are shown in Figure 25-2. The central interconnect has two main clock
domains: the DDR_2x and the CPU_2x. For the five sub-switches, four clocks are in the CPU_2x clock
domain, while the memory interconnect clock is in the DDR_2x clock domain. The direct path
between the CPU (via the L2 cache) and DDR controller is in the DDR_3x clock domain, ensuring
maximum throughput.The direct path between CPU and OCM is in the CPU_6x4x clock domain. The
direct path between the SCU ACP and the PL is in the CPU_6x4x clock domain (clock domain crossing
between the PL clock domain and the CPU clock domain is done in an asynchronous AXI bridge in
the PS.
CPU Clock Stop
Each CPU clock can be individually stopped using slcr.A9_CPU_RST_CTRL.A9_CLKSTOP{0,1}.
PS Peripheral AMBA Clocks
Every peripheral within the PS is supplied with its own independently gated version of the CPU clock
for its AMBA bus connection to the control and status registers and sometimes to the controller logic
itself. This clock can be disabled when it is guaranteed that the peripheral is not addressed. This
gating is applied with a glitch-free clock gate as shown in Table 25-2.










