I want to transfer the data from one clock domain to another domain. Do I need to put dual synchronizer FF for all data bus and control lines or I just have to do synchronization for handshake signals?
Just for data_enable signals - signals that tell destination domain that data is valid. Also, make sure that data bus signals don't change at all when data_enable signal is valid.
>> put dual synchronizer FF for all data bus and control lines
or
>> do synchronization for handshake signals?
----------------------------------------------------------------------------
For bus signals cross clock domains, you SHOULD NOT use synchronizers for all data bus & control signals.
Synchronizer only works for signle bit.
-----------------------------------------------------------------------------
So just pass bus signals through a well-defined handshake protocol or a FIFO.
Use Handshaking mechanism if there are control signals and if the clock is of same frequency, else use a FIFO if the frequency difference of the two clocks is very large.