D.2. block diagram – Altera 10-Gbps Ethernet MAC MegaCore Function User Manual

Page 167

Advertising
background image

D–2

Appendix D: ToD Synchronizer

10-Gbps Ethernet MAC MegaCore Function User Guide

February 2014

Altera Corporation

D.2. Block Diagram

Figure D–1

shows the connections between the ToD Synchronizer, master ToD, slave

ToD, and sampling clock PLL.

The ToD Synchronizer block diagram comprises the following components::

Master TOD clock domain—consists of three interfaces: clk_master,
reset_master

, and tod_master_data.

Slave TOD clock domain—consists of five interfaces: clk_slave, reset_slave,
tod_slave_valid

, tod_slave_data, and start_tod_sync.

Sampling clock PLL—consists of the clk_domain interface.

The Tod Synchronizer module synchronizes the master ToD clock domain with the
slave ToD clock domain. The dual-clock FIFO in the Tod Synchronizer block takes in
the time of day from the master ToD clock domain and transfers it to the slave ToD
clock domain. The slave ToD then will load the synchronized time of day into its own
internal counter, which then increments based on the new value.

As the ToD transfer is in progress, the master ToD domain keeps incrementing. When
the ToD reaches the slave ToD clock domain and is ready to be loaded, it is much
slower than the master ToD domain. To achieve high accuracy synchronization, the
latency caused by the transfer must be reflected in the synchronized ToD.

The sampling clock PLL (clk_sampling) samples the FIFO fill level and calculates the
latency through the FIFO. For better accuracy, the sampling clock must be derived
from the master (clk_master) or slave (clk_slave) clock domain using a PLL.

If you use the recommended sampling clock frequency, the ToD Synchronizer module
takes 64 clock cycles of sampling clock for every newly synchronized ToD to be valid
at the output port.

Figure D–1. Connection between ToD Synchronizer, Master ToD, Slave ToD, and Sampling Clock PLL

Slave ToD

time_of_day_96b_load_valid

time_of_day_96b_load_data

period_rst_n

period_clk

ToD Synchronizer

tod_master_data

reset_master

clk_master

tod_slave_valid

Synchronization valid

Synchronization ToD

tod_slave_data

reset_slave

clk_slave

clk_sampling

start_tod_sync

Master ToD

PLL

time_of_day_96b

Master ToD

1’b1

Sampling clock

Master reset

Slave reset

Master clock

Slave clock

period_rst_n

period_clk

Advertising