Patent ID: 7800975

Claim:
A digital data buffer having at least one data path with a data input for receiving a digital data input signal, a clock input for receiving a clock input signal, and a data output providing a digital data output signal for application to a data destination device, the buffer further having a clock output for providing an output clock signal to the data destination device and a phase locked loop with a phase aligner, a clock input, a feedback input, a feedback output and a plurality of clock outputs; wherein: the data path has a first data register with a data input, a clock input and a data output; the data path has a second data register with a data input, a clock input and a data output; the data input of the first data register is selectively coupled to the data input of the buffer or to a reference data input through a multiplexer; the data output of the first data register is coupled to the data input of the second data register; the data output of the buffer is coupled to the data output of the second data register; the clock input of the buffer is coupled to the clock input of the first data register (FF 1 ), the clock input of the buffer is coupled to the clock input of the phase locked loop; a first clock output of the phase locked loop provides a feedback clock signal for application to the feedback input of the phase locked loop; a reference data path is provided in parallel with the data path, including a third data register with a data input to which the reference data input is coupled, and an reference data output; a second clock output of the phase locked loop provides a clock signal shifted in phase by the phase aligner with respect to the feedback clock signal for application to the clock input of the second data register and to the clock input of a third data register; the data output of the second data register and the reference data output of the third data register are applied to inputs of a logic circuit that has a control output; the phase aligner in the phase locked loop has associated control circuitry with a control input coupled to the control output of the logic circuit; and a learn cycle control signal is applied in parallel to the multiplexer and to the control circuitry of the phase aligner, causing the phase aligner in a learn cycle to adjust the phase of the clock signal at the second clock output of the phase locked loop so as to optimize the setup/hold timing at the data input of the second data register.