System and method for synchronizing data transfer from one domain to another by selecting output data from either a first or second storage device
First Claim
1. An interface circuit for synchronizing the transfer of data from a first clock domain driven by a first clock signal to a second clock domain driven by a second clock signal, the interface circuit comprising:
- a flip-flop having a data input for receiving a first data signal from a first clock domain, a clock input for receiving a first clock signal, and an output;
a latch having a data input coupled to said flip-flop output and a clock input for receiving a gating signal, and an output;
a multiplexer having a first data input coupled to said flip-flop output, a second data input coupled to said latch output, and a selector input for selecting one of said first data input or said second data input for transfer to an output of said multiplexer, wherein said first data input of said multiplexer is selected in response to a rising edge of said first clock signal being approximately in phase with a rising edge of said second clock signal; and
wherein said second clock signal and said first clock signal are derived from a common core clock.
2 Assignments
0 Petitions
Accused Products
Abstract
An interface circuit is disclosed for synchronizing the transfer of data from a first clock domain driven by a first clock signal to a second clock domain driven by a second clock signal, where the phase and frequency relationships of the first and second clock signals are known. The interface circuit comprises: 1) a flip-flop having a data input for receiving a first data signal from the first clock domain, a clock input for receiving the first clock signal, and an output; 2) a latch having a data input coupled to the flip-flop output, a clock input for receiving a gating signal, and an output; and 3) a multiplexer having a first data input coupled to the flip-flop output, a second data input coupled to the latch output, and a selector input for selecting one of the first and second data inputs for the multiplexer output.
56 Citations
15 Claims
-
1. An interface circuit for synchronizing the transfer of data from a first clock domain driven by a first clock signal to a second clock domain driven by a second clock signal, the interface circuit comprising:
-
a flip-flop having a data input for receiving a first data signal from a first clock domain, a clock input for receiving a first clock signal, and an output;
a latch having a data input coupled to said flip-flop output and a clock input for receiving a gating signal, and an output;
a multiplexer having a first data input coupled to said flip-flop output, a second data input coupled to said latch output, and a selector input for selecting one of said first data input or said second data input for transfer to an output of said multiplexer, wherein said first data input of said multiplexer is selected in response to a rising edge of said first clock signal being approximately in phase with a rising edge of said second clock signal; and
wherein said second clock signal and said first clock signal are derived from a common core clock. - View Dependent Claims (2, 3, 4, 5, 6)
a flip-flop having a data input for receiving a first data signal from said second clock domain, a clock input for receiving said second clock signal, and an output;
a latch having a data input coupled to said flip-flop output, a clock input for receiving said first clock signal, and an output; and
a multiplexer having a first data input coupled to said flip-flop output, a second data input coupled to said latch output, and a selector input for selecting one of said first data input and said second data input for transfer to an output of said multiplexer.
-
-
7. A computer system comprising:
-
a pipelined processor having dual integer and dual floating point execution units, separate load/store and branch units, an LI instruction cache and an LI data cache;
system memory for storing data or instructions;
a core clock;
an interface circuit for synchronizing the transfer of data from a first clock domain driven by a first clock signal in said processor to a second clock domain driven by a second clock signal in said processor, the interface circuit comprising;
a flip-flop having a data input for receiving a first data signal from a first clock domain, a clock input for receiving said first clock signal, and an output;
a latch having a data input coupled to said flip-flop output, a clock input for receiving a dating signal, and an output;
a multiplexer having a first data input coupled to said flip-flop output, a second data input coupled to said latch output, and a selector input for selecting one of said first data input or said second data input for transfer to an output of said multiplexer, wherein said first data input of said multiplexer is selected in response to a rising edge of said first clock signal being approximately in phase with a rising edge of said second clock signal; and
wherein said second clock signal and said first clock signal are derived from said core clock. - View Dependent Claims (8, 9, 10, 11, 12)
a flip-flop having a data input for receiving a first data signal from said second clock domain, a clock input for receiving said second clock signal, and an output;
a latch having a data input coupled to said flip-flop output, a clock input for receiving said first clock signal, and an output; and
a multiplexer having a first data input coupled to said flip-flop output, a second data input coupled to said latch output, and a selector input for selecting one of said first data input and said second data input for transfer to an output of said multiplexer.
-
-
13. For use in a processor, a method for synchronizing the transfer of data from a first clock domain driven by a first clock signal to a second clock domain driven by a second clock signal comprising the steps of:
-
receiving a first data signal from the first clock domain into a flip-flop having a data input, a clock input for receiving the first clock signal, and an output;
sampling the output of the flip-flop using a latch having a data input coupled to the flip-flop output, a clock input for receiving a gating signal, and an output; and
selecting one of the output of the flip-flop and the output of the latch using a multiplexer having a first data input coupled to the flip-flop output, a second data input coupled to the latch output, and a selector input for selecting one of the first data input or said second data input for transfer to an output of the multiplexer;
wherein a selection signal applied to the selector input selects the first data input of the multiplexer when a rising edge of the first clock signal is approximately in phase with a rising edge of the second clock signal.- View Dependent Claims (14, 15)
-
Specification