sun_ray
Advanced Member level 3
- Joined
- Oct 3, 2011
- Messages
- 772
- Helped
- 5
- Reputation
- 10
- Reaction score
- 5
- Trophy points
- 1,298
- Activity points
- 6,828
"Safely transfer" means exactly what in this case? Consistency of the two bit data word?
Is the receiving clock rate guaranteed to be higher or equal to the sending?
I guess there must be a starting pattern (simple or complex) for each packet of data. This pattern synchronizes the two domains (their clocks), for a period of time in the least.
Safely transfer means the data in the originating clock domain should not be destroyed in the receiving clock domain. Hope this clarifies your question. Please let me know if it needs more clarity.
We can think of two cases for this problem
(a)The clock frequency for the receiving clock domain can be higher or equal to the frequency of the originating clock domain.
(b) The clock frequency for the receiving clock domain can be lesser or equal to the frequency of the originating clock domain.
I answered it as far I see a reasonable answer. I'm sure others will supplement my post if they consider it necessary.CAN YOU PLEASE REPLY TO MY QUESTIONS IN THE THREAD OF MULTIPLIER VERILOG OPERATOR AND MULTIPLICATION?
I think the term data word consistency is asking for a more specific detail. Let me assume, that you need word consistency.
In the second case, part of the data will be necessary lost and some synchronization methods are excluded.
To suggest a simple synchronization method, decode the 2 bit to 4 bit one-state-hot and re-encode it at the receiver side after double registering the data. In the special case of receiving no bit set, keep the previous state.
I answered it as far I see a reasonable answer. I'm sure others will supplement my post if they consider it necessary.
I suggested decode to 1-out of-4 (one state hot).Can you please provide a solution for case (a) ?
E.g. DC FIFO, because it would overflow.What do you mean by "some synchronization methods are excluded."
E.g. DC FIFO, because it would overflow.
I thought "DC FIFO" (domain crossing FIFO) to be a known technical term.
You presumed that the data is changing every clock cycle of the sending domain. So in case b, data words are necessary lost, isn't it?
"In the special case of receiving no bit set, keep the previous state" is said related to re-encoding one-state-hot. If you think about the solution in detail, you'll realize that this can happen.
You can achieve a similar behaviour as with grey encoding when re-encoding the one-state hot signal in a suitable way. When two bits are set, you you can select just one of it (priority encoding), if none is set, you keep the previous state.The one hot encoding is not grey encoding. In a grey encoding the data at the output of the synchronizer either changes or remains at the earlier value. So still there can be issue with transferring the data by doing one hot encoding.
Case b is clear, for case a, I don't think that data is lost. The meaning of the data hasn't been clearly stated, so you need to guess about it.For the two scenarios mentioned as "a" and "b", data will be lost.
Case b is clear, for case a, I don't think that data is lost. The meaning of the data hasn't been clearly stated, so you need to guess about it.
You can achieve a similar behaviour as with grey encoding when re-encoding the one-state hot signal in a suitable way. When two bits are set, you you can select just one of it (priority encoding), if none is set, you keep the previous state.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?