Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

double flip flop synchronizer design for clock domain crossing

Status
Not open for further replies.

kichhu

Newbie level 4
Joined
Oct 8, 2007
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,327
Hi
When we use a double flip-flop for dealing with metastability in CDC, although the second one helps to come out of metastability state, it doesnt necessarily give the correct output value right? for e.g., say the first flip flop went into a metastability state while trying to latch a "1" ... a "0" can be seen at the output of the second flip flop after the metastability state is resolved right? If this is correct then how is this handled? to make sure a wrong value is not propogated?

Thanks
 

Metastability happens, if the input is changing while you sample it. In so far, it's impossible to decide if '0' or '1' is the correct value. Thus no "wrong" value will be propagated. Please notice however, that double FF synchronizers work only for single bits, not for aggregates of multiple bits. They demand for other synchronizing means to pass consistent values between domains.
 

Metastability happens, if the input is changing while you sample it. In so far, it's impossible to decide if '0' or '1' is the correct value. Thus no "wrong" value will be propagated. Please notice however, that double FF synchronizers work only for single bits, not for aggregates of multiple bits. They demand for other synchronizing means to pass consistent values between domains.

Thank you so much for the reply.
Im just wondering over ... so for e.g.: say the transmitter sent a zero and then a one...the receiver is supposed to read zero but due to setup time violation if the data is not read properly and the metastable got resolved into a one.....how will the receiver ever know that the data it read is wrong? or is the main resp of the synchronizer just to make sure no metastability and reading wrong data issue to be taken care by something else?

Thanks
 

we need to make sure that data 0 is atleast stable for two clocks in the receiver domain before sending 1.
If the receiver fails to receive correct data, we need to use different type of synchronizer to get the correct value.
 

Thank you so much for the reply.
Im just wondering over ... so for e.g.: say the transmitter sent a zero and then a one...the receiver is supposed to read zero but due to setup time violation if the data is not read properly and the metastable got resolved into a one.....how will the receiver ever know that the data it read is wrong? or is the main resp of the synchronizer just to make sure no metastability and reading wrong data issue to be taken care by something else?

Thanks

Since the signal is considered to be asynchronous for the receiving clock domain, it is always possible that it is sampled just before or just after it changes. Both are "correct", so the receiving logic must not depend on the exact position of the incoming edges. There will be some jitter, even without metastability. The metastability synchronizer does not change this, but it guarantees that we get '0' or '1', and not some inbetween value that can cause problems. This means that it doesn't matter if the metastability resolves to '0' or '1'. The result is the same as the normal jitter.
 
Last edited:
  • Like
Reactions: FvM

    FvM

    Points: 2
    Helpful Answer Positive Rating
Thanks a lot for all the replies/clarifications.
It will be of lot of help if someone can post any reference or something that has more information on these transmit/receive protocols type stuff used at the multi-clock domain digital design level....esp for I/O circuits

Thanks
 


Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top