IP Library Granted Patent US 7,376,855
Granted Patent B1
US 7,376,855 · App. 10/849,760 · Granted May 20, 2008

Fully stable clock domain synchronization technique for input/output data transmission

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,376,855
App. No.
10/849,760
Granted
May 20, 2008
Kind
B1
Abstract

Input/output data transmission between a transmitting integrated circuit and a receiving integrated circuit requires a clock domain synchronizer to synchronize incoming data aligned to a clock signal of the transmitting integrated circuit to a clock signal of the receiving integrated circuit. During a start-up routine, the clock domain synchronizer propagates a pre-determined pattern of data bits through a first circuit path designed to reduce or eliminate metastability. During a normal operations mode, the clock domain synchronizer synchronizes the data signal to the clock signal of the receiving integrated circuit through a second circuit path.

Claims (58)

1. A computer system, comprising:

a transmitting integrated circuit arranged to generate a data signal, the data signal being aligned with a first clock signal; and

a receiving integrated circuit arranged to receive the data signal and the first clock signal, the receiving integrated circuit having a clock domain synchronizer that comprises:

a first circuit path arranged to input the data signal dependent on the first clock signal, synchronize the data signal with a second clock signal, and pass the synchronized data signal to an output of the clock domain synchronizer, and

a second circuit path arranged to input the data signal and pass the data signal to the output dependent on the second clock signal,

wherein the second circuit path comprises:

circuitry arranged to generate an internal clock signal, wherein the internal clock signal is equivalent to the second clock signal less clock edges occurring during times of transitions of the data signal; and

circuitry arranged to output the data signal dependent on the internal clock signal, and

wherein the circuitry arranged to generate the internal clock signal comprises:

an XOR gate having a first input operatively connected to the data signal and a second input operatively connected to the second clock signal; and

a pulse suppression circuit having an input connected to an output of the XOR gate, wherein the pulse suppression circuit is arranged to suppress glitches that are narrower than a pre-determined pulse width, and wherein the pulse suppression circuit is further arranged to output the internal clock signal.

2. The computer system of claim 1 , wherein the second circuit path is independent of the first clock signal.

3. The computer system of claim 1 , wherein the first circuit path and the second circuit path are in parallel.

4. The computer system of claim 1 , wherein the first clock signal has a frequency of the transmitting integrated circuit, and wherein the second clock signal has a frequency of the receiving integrated circuit.

5. The computer system of claim 4 , wherein the frequency of the second clock signal is higher than the frequency of the first clock signal.

6. The computer system of claim 1 , wherein the first circuit path and the second circuit path are not dependent on each other.

7. The computer system of claim 1 , wherein one of the first circuit path and the second circuit path is active at a given time.

8. The computer system of claim 1 , wherein the first circuit path is deactivated and the second circuit path is activated during a start-up routine of at least one of the receiving integrated circuit and the clock domain synchronizer.

9. The computer system of claim 8 , wherein the first circuit path is activated and the second circuit path is deactivated after completion of the start-up routine.

10. The computer system of claim 8 , wherein, during the start-up routine, the data signal comprises a pre-determined pattern of bits.

11. The computer system of claim 1 , wherein the circuitry arranged to output the data signal comprises:

a flip-flop having a data input operatively connected to the data signal and a clock input operatively connected to the internal clock signal, wherein an output of the flip-flop is operatively connected to the output of the clock domain synchronizer.

12. The computer system of claim 1 , wherein the circuitry arranged to output the data signal comprises:

a flip-flop having a data input operatively connected to the data signal and a clock input operatively connected to the internal clock signal,

wherein the pre-determined pulse width is substantially equal to at least one of a set-up time and a hold time of the flip-flop.

13. A computer system, comprising:

means for transmitting a data signal and a first clock signal to which the data signal is aligned; and

means for receiving the data signal and the first clock signal, the means for receiving having a clock domain synchronizer comprising:

means for synchronizing the data signal dependent on the first clock signal to a second clock signal, and

means for propagating the data signal to an output of the clock domain synchronizer dependent on the second clock signal,

wherein the means for propagating is activated prior to entering a mode of operations in which the means for synchronizing is activated,

wherein the means for propagating comprises:

circuitry arranged to generate an internal clock signal, wherein the internal clock signal is equivalent to the second clock signal less clock edges occurring during times of transitions of the data signal; and

circuitry arranged to output the data signal dependent on the internal clock signal, and

wherein the circuitry arranged to generate the internal clock signal comprises:

an XOR gate having a first input operatively connected to the data signal and a second input operatively connected to the second clock signal; and

a pulse suppression circuit having an input connected to an output of the XOR gate, wherein the pulse suppression circuit is arranged to suppress glitches that are narrower than a pre-determined pulse width, and wherein the pulse suppression circuit is further arranged to output the internal clock signal.

14. The computer system of claim 13 , wherein the means for propagating is not dependent on the first clock signal.

15. The computer system of claim 13 , wherein the means for synchronizing and the means for propagating are not dependent on each other.

16. The computer system of claim 13 , wherein the first clock signal has a frequency of the means for transmitting, and wherein the second clock signal has a frequency of the means for receiving.

17. The computer system of claim 13 , wherein the means for propagating further comprises:

means for outputting the data signal to the output of the clock domain synchronizer dependent on the internal clock signal.

18. The computer system of claim 17 , wherein, when the means for propagating is activated, the data signal comprises a predetermined pattern of bits.

19. A method of performing computer system operations, comprising:

transmitting a data signal and a first clock signal to which the data signal is aligned;

in a first mode prior to a second mode, propagating the data signal to an output node dependent on a second clock signal; and

in the second mode:

synchronizing the data signal dependent on the first clock signal to the second clock signal, and

propagating the synchronized data signal to the output node through a circuit path,

wherein the circuit path comprises:

circuitry arranged to generate an internal clock signal, wherein the internal clock signal is equivalent to the second clock signal less clock edges occurring during times of transitions of the data signal; and

circuitry arranged to output the data signal dependent on the internal clock signal, and

wherein the circuitry arranged to generate the internal clock signal comprises:

an XOR gate having a first input operatively connected to the data signal and a second input operatively connected to the second clock signal; and

a pulse suppression circuit having an input connected to an output of the XOR gate, wherein the pulse suppression circuit is arranged to suppress glitches that are narrower than a pre-determined pulse width, and wherein the pulse suppression circuit is further arranged to output the internal clock signal.

20. The method of claim 19 , wherein, in the first mode, the data signal comprises a predetermined pattern of bits.

21. The method of claim 19 , wherein propagating the data signal to the output node in the first mode comprises:

generating an internal clock signal dependent on the second clock signal, the generating comprising suppressing clock edges occurring during times of transitions of the data signal.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037303/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2004
From: GAUTHIER, CLAUDE R.; ROY, ANINDA K.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 015384/0646 →