User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 500
UG585 (v1.11) September 27, 2016
Chapter 16: Gigabit Ethernet Controller
If the transmitter checksum engine is prevented from generating the relevant checksums, bits [22:20]
of the transmitter DMA writeback status are updated to identify the reason for the error. Note that
the frame is still transmitted but without the checksum substitution, as typically the reason that the
substitution did not occur was that the protocol was not recognized.
16.2.7 IEEE 1588 Time Stamp Unit
IEEE 1588 is a standard for precision time synchronization in local area networks. It works with the
exchange of special precision time protocol (PTP) frames. The PTP messages can be transported over
IEEE 802.3/Ethernet, over Internet Protocol Version 4 or over Internet Protocol Version 6 as described
in the annex of IEEE P1588.D2.1.
The controller detects when the PTP event messages sync, delay_req, pdelay_req and pdelay_resp are
transmitted and received.
Synchronization between master and slave clocks is a two stage process.
First, the offset between the master and slave clocks is corrected by the master sending a sync
frame to the slave with a follow up frame containing the exact time the sync frame was sent.
Hardware assist modules at the master and slave side detect exactly when the sync frame was
sent by the master and received by the slave. The slave then corrects its clock to match the
master clock.
Second, the transmission delay between the master and slave is corrected. The slave sends a
delay request frame to the master which sends a delay response frame in reply. Hardware assist
modules at the master and slave side detect exactly when the delay request frame was sent by
the slave and received by the master. The slave then has enough information to adjust its clock
to account for delay. For example, if the slave was assuming zero delay the actual delay is half
the difference between the transmit and receive time of the delay request frame (assuming
equal transmit and receive times) because the slave clock is lagging the master clock by the
delay time already.
For hardware assist it is necessary to timestamp when sync and delay_req messages are sent and
received. The timestamp is taken when the message timestamp point passes the clock timestamp
point. The message timestamp point is the SFD and the clock timestamp point is the MII interface.
(The 1588 spec refers to sync and delay_req messages as event messages as these require
timestamping. Follow up, delay response and management messages do not require timestamping
and are referred to as general messages.)
1588 version 2 defines two additional PTP event messages. These are the peer delay request
(Pdelay_Req) and peer delay response (Pdelay_Resp) messages. These messages are used to calculate
the delay on a link. Nodes at both ends of a link send both types of frames (regardless of whether
they contain a master or slave clock). The Pdelay_Resp message contains the time at which a
Pdelay_Req was received and is itself an event message. The time at which a Pdelay_Resp message is
received is returned in a Pdelay_Resp_Follow_Up message.
The controller recognizes four different encapsulations for PTP event messages:
1588 version 1 (UDP/IPv4 multicast)
1588 version 2 (UDP/IPv4 multicast)
1588 version 2 (UDP/IPv6 multicast)