Visible to Intel only — GUID: nfa1457441368124
Ixiasoft
1.4.2. Adjusting Offset, Jitter, and Wander
The TOD clock supports several types of adjustments:
- Offset—use the OffsetNS and OffsetFNS registers to adjust large offsets in assisting faster system convergence. The offset can be positive or negative. The maximum correction is (109 - 50) ns.
- Jitter—use the JitterTimer and JitterAdjust registers to achieve small time scales (milliseconds or microseconds) frequency correction.
The jitter adjustment can either be a positive or negative adjustment per unit time. This helps achieve better frequency corrections. For very low values of the jitter, such as 1 ns correction for every second, the timer must be larger and the adjustment value must be smaller.
For example, to achieve 1 ns correction every second in a clock domain of 3.2 ns period, configure the registers as follow:- JitterTimer = 0x12A05F20, which is the hexadecimal value of (1000000000/3.2).
- JitterAdjust = 0x10000, which sets the nanosecond field to 0x1 and the fractional nanosecond field to 0x0.
- Wander—use the WanderTimeLSB, WanderTimeMSB, and WanderAdjust registers to achieve large time scale correction.
The wander adjustment can either be a positive or negative adjustment per unit time. Wander adjustments are typically on larger time scales such as per hour. For very low values of the wander such as 1 ns per 24 hours, the timer must be larger and the adjustment value must be smaller.
For example, to achieve 1 ns positive correction every 24 hours (86,400,000,000,000 ns) in a clock domain of 3.2 ns period, configure the registers as follow:- WanderAdjust[31:16] = 0x0001 (1 nanosecond)
- WanderAdjust[15:0] = 0x0000 (0 fractional nanosecond)
- WanderTimerLSB[30] = 0x0 (positive direction)
- WanderTimerLSB[29:0] = 0x2D68_B000 (lower 30-bit of 86400000000000 ns/3.2 ns)
- WanderTimerMSB[15:0] = 0x6239 (upper 16-bit of 86400000000000 ns/3.2 ns)
For example, to achieve 1 ns negative correction every 24 hours (86,400,000,000,000 ns) in a clock domain of 3.2 ns period, configure the registers as follow:- WanderAdjust[31:16] = 0x0001 (1 nanosecond)
- WanderAdjust[15:0] = 0x0000 (0 fractional nanosecond)
- WanderTimerLSB[30] = 0x1 (negative direction)
- WanderTimerLSB[29:0] = 0x2D68_B000 (lower 30-bit of 86400000000000 ns/3.2 ns)
- WanderTimerMSB[15:0] = 0x6239 (upper 16-bit of 86400000000000 ns/3.2 ns)
Note: The adjustments are available only when PERIOD_CLOCK_FREQUENCY is set to 0.