Claims
- 1. An interface circuit for synchronizing the transfer of data through an output port 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 first latch having a data input for receiving a data signal from said first clock domain, an enable input for receiving said first clock signal, a clock input for receiving said first clock signal; and an output; a second latch having a data input coupled to said first latch output, a clock input for receiving a gating signal, a clock input for receiving said first clock signal, and an output; a third latch having a data input for receiving said data signal, an enable input for receiving a phase select signal, a clock input for receiving said first clock signal, and an output; and a multiplexer having a first data input coupled to said second latch output, a second data input coupled to said third 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.
- 2. The interface circuit set forth in claim 1 wherein said second clock signal and said first clock signal are derived from a common core clock.
- 3. The interface circuit set forth in claim 2 wherein a frequency of said second clock signal and a frequency of said first clock signal are in a ratio of N:1 where N is an integer.
- 4. The interface circuit set forth in claim 3 wherein a selection signal applied to the selector input selects said first data input of said multiplexer when a rising edge of said first clock signal is approximately in phase with a rising edge of said second clock signal.
- 5. The interface circuit set forth in claim 2 wherein a frequency of said second clock signal and a frequency of said first clock signal are in a ratio of (N+2):1 where N is an integer.
- 6. The interface circuit set forth in claim 5 wherein a selection signal applied to the selector input selects said first data input of said multiplexer during one clock cycle of said second clock signal.
- 7. An interface circuit for synchronizing the transfer of data from an output of a state machine in 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 first latch having a data input for receiving said state machine output, an enable input that is set to an enabled value, and an output; and a second latch having a data input coupled to said first latch output, an enable input for receiving a gating signal, a clock input for receiving said first clock signal, and an output coupled to an input of said state machine.
- 8. The interface circuit set forth in claim 7 wherein said second clock signal and said first clock signal are derived from a common core clock.
- 9. The interface circuit set forth in claim 8 wherein a frequency of said second clock signal and a frequency of said first clock signal are in a ratio of N:1 where N is an integer.
- 10. The interface circuit set forth in claim 8 wherein a frequency of said second clock signal and a frequency of said first clock signal are in a ratio of (N+2):1 where N is an integer.
- 11. A computer system comprising:a pipelined, x86-compatible processor having dual integer and dual floating point execution units, separate load/store and branch units, an L1 instruction cache and an L1 data cache; system memory for storing data or instructions; a core clock; and an interface circuit for synchronizing the transfer of data through an output port 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 first latch having a data input for receiving a data signal from said first clock domain, a clock input for receiving said first clock signal, an enable input that is set to an enabled value and an output; a second latch having a data input coupled to said first latch output, an enable input for receiving a gating signal, a clock input for receiving said first clock signal, and an output; a third latch having a data input for receiving said data signal, a enable input for receiving a phase select signal, a clock input for receiving said first clock signal, and an output; and a multiplexer having a first data input coupled to said second latch output, a second data input coupled to said third 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.
- 12. The computer system set forth in claim 11 wherein said second clock signal and said first clock signal are derived from said core clock.
- 13. The computer system set forth in claim 12 wherein a frequency of said second clock signal and a frequency of said first clock signal are in a ratio of N:1 where N is an integer.
- 14. The computer system set forth in claim 13 wherein a selection signal applied to the selector input selects said first data input of said multiplexer when a rising edge of said first clock signal is approximately in phase with a rising edge of said second clock signal.
- 15. The computer system set forth in claim 12 wherein a frequency of said second clock signal and a frequency of said first clock signal are in a ratio of (N+2):1 where N is an integer.
- 16. The computer system set forth in claim 15 wherein a selection signal applied to the selector input selects said first data input of said multiplexer during one clock cycle of said second clock signal.
- 17. A computer system comprising:a pipelined, x86-compatible processor having dual integer and dual floating point execution units, separate load/store and branch units, an L1 instruction cache and an L1 data cache; system memory for storing data or instructions; a core clock; and an interface circuit for synchronizing the transfer of data from an output of a state machine in 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 first latch having a data input for receiving said state machine output, a clock input for receiving said first clock signal, an enable input set to an enabled value, and an output; and a second latch having a data input coupled to said first latch output, an enable input for receiving a gating signal, a clock input for receiving said first clock signal, and an output coupled to an input of said state machine.
- 18. The computer system set forth in claim 17 wherein said second clock signal and said first clock signal are derived from a common core clock.
- 19. The computer system set forth in claim 18 wherein a frequency of said second clock signal and a frequency of said first clock signal are in a ratio of N:1 where N is an integer.
- 20. The computer system set forth in claim 18 wherein a frequency of said second clock signal and a frequency of said first clock signal are in a ratio of (N+2):1 where N is an integer.
CROSS-REFERENCE TO RELATED APPLICATION
The present invention is related to that disclosed in U.S. patent application Ser. No. 09/477,488, filed concurrently herewith, entitled ALOW LATENCY CLOCK DOMAIN SYNCHRONIZATION CIRCUIT AND METHOD OF OPERATION. The above application is commonly assigned to the assignee of the present invention. The disclosure of the related patent application is hereby incorporated by reference for all purposes as if fully set forth herein.
US Referenced Citations (6)
Number |
Name |
Date |
Kind |
5022057 |
Nishi et al. |
Jun 1991 |
A |
5132990 |
Dukes |
Jul 1992 |
A |
5487092 |
Finney et al. |
Jan 1996 |
A |
5680594 |
Charneski et al. |
Oct 1997 |
A |
6175603 |
Chapman et al. |
Jan 2001 |
B1 |
6239626 |
Chesavage |
May 2001 |
B1 |