A method and apparatus for guaranteed data synchronization. In one embodiment,
a data synchronization unit includes a memory unit, a write pointer unit, a read
pointer unit, and synchronization pulse logic. The memory unit may receive information
from a source external to the data synchronization unit. The write pointer may
specify an address within the memory where incoming information is to be written.
A read pointer outgoing information is to be read from. The data synchronization
unit may also include synchronization pulse logic. The synchronization pulse logic
may be configured to, in a synchronization mode, to generate a synchronization
pulse. In response to an assertion of the synchronization pulse, the read pointer
may be initialized such that data read out of the memory unit is valid (i.e. guaranteed
to meet electrical requirements) at that time.