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 518
UG585 (v1.11) September 27, 2016
Chapter 16: Gigabit Ethernet Controller
• Each PTP message is identified with a message Type which is a 4 bit field in the PTP message
header. Message Types are identified in Table 16-8
•The versionPTP field signifies which PTP version is being used – PTPv1 or PTPv2.
•The messageLength field signifies the total length of the PTP message. It is different for different
PTP messages.
•The flag field is used for various purposes and can carry different values for different types of
frames. An example of use for this field as a twoStepFlag in Sync and PDelay_Req frames is to
distinguish one-step and two-step time stamping. If the sending master clock can perform
one-step time stamping, the twoStepFlag carries a value of 0.
Note: The Zynq-7000 AP SoC supports two-step timestamping – the twoStepFlag should always
be 1.
•The correctionField is generally significant for transparent clocks. The transparent clocks update
the correctionField to specify the slave regarding the exact time the PTP frames took to traverse
through the transparent clocks. If transparent clocks are not present in the path of a PTP
message, the correctionField can have a zero value.
•The sequenceId field is extensively used in the PTP messages. The originator of certain PTP
frames message Types assigns a sequence ID to the corresponding message through the
sequenceId field.
•The controlField is provided to maintain backward compatibility with PTPv1 based hardware
designs. It contains different values for different types of PTP frames.
•The logMessageInterval field is provided to represent the mean time interval between successive
PTP messages.
The steps to develop a simple and typical non-OS standalone example which can be used to
synchronize PTP clocks between two Zynq-7000 AP SoC systems are described in the following
sections. This information should be used for reference purpose only and is not meant to provide the
best possible implementation for accuracy. Please refer to the IEEE1588 standard specification for
more information.
The IEEE1588 implementation involves the following.
1. Controller initialization
Table 16-8: Message Types
PTP Frames Message Type
Sync 0x0
Delay_Req 0x1
PDelay_Req 0x2
PDelay_Resp 0x3
Follow_up 0x8
Delay_Resp 0x9
PDelay_Resp_Follow_Up 0xA
Announce 0xB
Management 0xC
Signaling 0xD










