Time Representation - 3.0 English - PG314

Versal Devices Integrated 100G Multirate Ethernet MAC Subsystem Product Guide (PG314)

Document ID
PG314
Release Date
2024-11-13
Version
3.0 English

The IEEE 1588 uses two types of time field formats:

Time-of-Day (ToD) Format
IEEE 1588-2008 format consisting of an unsigned 48-bit second field and a 32-bit nanosecond field. This format is compatible with version 1 of the standard.
Correction Field Format
Introduced in version 2 to handle Transparent clocks and better than 1 ns precision. It is a signed 64-bit integer in units of 2-16 ns. For example, 2.5 ns is represented as 64’h0000_0000_0002_8000.

The system_timer is implemented as an internal, unsigned linear counter which counts time in units of 2-40 ns. Each clock cycle system_timer is incremented by the quantity increment_value, which represents the period of the system timer clock in the same units. For example, for a nominal 644.0625 MHz clock, the increment value would be 42'h18D_3018_D302 (1,705,908,949,762 × 2-40 ns). This increment value is configured by the MRMAC at start-up. If KR4-FEC is used, a different initial value is configured: 42’h181_8181_8182.

The MRMAC exposes 55 bits of the system_timer through the various timestamping interfaces (that is, TX and RX packet timestamps). This is equivalent to a timer which counts in units of 2‑8 ns (that is, ~3.9 ps). User logic can map these 55 bits directly into Bits[62:8] of a Correction Field format timestamp. The bottom eight correction field bits should be set to 8’h0 as the architecture does not support this degree of precision.
Note: This same mapping is used in 1-step timestamp insertion.

The least-significant 32 bits of the MRMAC (that is, < 2-8 ns portion of the counter) is not available through the timestamping interfaces. This allows the system_timer to be adjusted at sub-nanosecond levels to track an external master clock, as described in the next section.