Low latency data transfer between clock domains operated in various synchronization modes
First Claim
1. A method of transferring data from a first clock domain to a second clock domain, the method comprising:
- writing the data from the first clock domain into a first buffer for a data transfer from the first clock domain to the second clock domain and into a second buffer for the data transfer from the first clock domain to the second clock domain, wherein the second clock domain has a fixed clock frequency, and the first clock domain has a variable clock frequency not exceeding the clock frequency of the second clock domain, the first clock domain and the second clock domain operate in a synchronous mode when the variable clock frequency is equal to the fixed clock frequency, and the first clock domain and the second clock domain operate in an asynchronous mode when the variable frequency is lower than the fixed frequency, wherein the first buffer has a first time delay for the data transfer from the first clock domain to the second clock domain, wherein the second buffer has a second time delay for the data transfer from the first clock domain to the second clock domain, the second delay time is longer than the first delay time, the first buffer and the second buffer being connected in parallel to each other and in series with the first clock domain and the second clock domain, wherein the first and the second buffers being connected to a multiplexor in the second clock domain;
forwarding the data from the first buffer via the multiplexor into the second clock domain based on the first clock domain and the second clock domain operating in the synchronous mode; and
forwarding the data from the second buffer via the multiplexor into the second clock domain based on the first clock domain and the second clock domain operating in the asynchronous mode.
1 Assignment
0 Petitions
Accused Products
Abstract
Transferring data from a first clock domain to a second clock domain, wherein the second clock domain has a fixed clock frequency, and the first clock domain has a variable clock frequency. The first clock domain and the second clock domain operate in a synchronous mode when the variable clock frequency is equal to the fixed clock frequency, and in an asynchronous mode when the variable frequency is lower than the fixed frequency. A first buffer and a second buffer are used for a data transfer from the first clock domain to the second clock domain. The second clock domain comprises a multiplexor connected to the first buffer and the second buffer. The multiplexor forwards data from the first buffer further into the second clock domain in the synchronous mode and from the second buffer into the second clock domain in the asynchronous mode.
26 Citations
20 Claims
-
1. A method of transferring data from a first clock domain to a second clock domain, the method comprising:
-
writing the data from the first clock domain into a first buffer for a data transfer from the first clock domain to the second clock domain and into a second buffer for the data transfer from the first clock domain to the second clock domain, wherein the second clock domain has a fixed clock frequency, and the first clock domain has a variable clock frequency not exceeding the clock frequency of the second clock domain, the first clock domain and the second clock domain operate in a synchronous mode when the variable clock frequency is equal to the fixed clock frequency, and the first clock domain and the second clock domain operate in an asynchronous mode when the variable frequency is lower than the fixed frequency, wherein the first buffer has a first time delay for the data transfer from the first clock domain to the second clock domain, wherein the second buffer has a second time delay for the data transfer from the first clock domain to the second clock domain, the second delay time is longer than the first delay time, the first buffer and the second buffer being connected in parallel to each other and in series with the first clock domain and the second clock domain, wherein the first and the second buffers being connected to a multiplexor in the second clock domain; forwarding the data from the first buffer via the multiplexor into the second clock domain based on the first clock domain and the second clock domain operating in the synchronous mode; and forwarding the data from the second buffer via the multiplexor into the second clock domain based on the first clock domain and the second clock domain operating in the asynchronous mode. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system comprising:
-
a first clock domain and a second clock domain, wherein the second clock domain has a fixed clock frequency, the first clock domain has a variable clock frequency not exceeding the clock frequency of the second clock domain, the first clock domain and the second clock domain operating in a synchronous mode when the variable clock frequency is equal to the fixed clock frequency, the first clock domain and the second clock domain operating in an asynchronous mode when the variable frequency is lower than the fixed frequency; a first buffer and a second buffer for a data transfer from the first clock domain to the second clock domain, the first buffer having a first delay time for the data transfer from the first clock domain to the second clock domain, the second buffer having a second delay time for the data transfer from the first clock domain to the second clock domain, the second delay time being longer than the first delay time, the first buffer and the second buffer being connected in parallel to each other and in series with the first clock domain and the second clock domain, wherein the first buffer and the second buffer are connected to a multiplexor in the second clock domain, said multiplexor forwarding data transferred by the first buffer in the synchronous mode or the data transferred by the second buffer in the asynchronous mode. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product for transferring data from a first clock domain to a second clock domain, the computer program product comprising:
a non-transitory computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising; writing the data from the first clock domain into a first buffer for a data transfer from the first clock domain to the second clock domain and into a second buffer for the data transfer from the first clock domain to the second clock domain, wherein the second clock domain has a fixed clock frequency, and the first clock domain has a variable clock frequency not exceeding the clock frequency of the second clock domain, the first clock domain and the second clock domain operate in a synchronous mode when the variable clock frequency is equal to the fixed clock frequency, and the first clock domain and the second clock domain operate in an asynchronous mode when the variable frequency is lower than the fixed frequency, wherein the first buffer has a first time delay for the data transfer from the first clock domain to the second clock domain, wherein the second buffer has a second time delay for the data transfer from the first clock domain to the second clock domain, the second delay time is longer than the first delay time, the first buffer and the second buffer being connected in parallel to each other and in series with the first clock domain and the second clock domain, wherein the first and the second buffers being connected to a multiplexor in the second clock domain; forwarding the data from the first buffer via the multiplexor into the second clock domain based on the first clock domain and the second clock domain operating in the synchronous mode; and forwarding the data from the second buffer via the multiplexor into the second clock domain based on the first clock domain and the second clock domain operating in the asynchronous mode. - View Dependent Claims (17, 18, 19, 20)
Specification