The reason this thread was raised is due to the reason, the tools which checks RTLs to see if there is any CDC problem or not, reports a violation if there is any combinational logic before a synchronizer.
Why the tool report it as a violation? Why will a designer put any combinational logic when the designer is trying to pass a signal from one clock domain to another clock domain. The designer will only put a synchronizer without using any combinatioal logic before the double stage synchronizer to pass the signal from one clock domain to another domain. Will not the designer will register the output of the signal which is coming out of clock domain 1 after passing throgh a combinational logic?So designer will take care of that. what is the possible reason that when the CDC Analysis tool was made in such a way so that if the CDC Analysis tool sees a combination logic before a synchronizer it will report a violation. Can you please explain from this angle?
Regards,