Can elastic blocks communicate with synchronous blocks?
Yes, since we can consider a synchronous block like an asynchronous one with a fixed frequency handshake signal (the clock). The communication between two blocks, one synchronous and the other elastic, can be done using two different schemes: A tightly-coupled handshake in which both blocks run at the same frequency and the synchronous clock is treated as a normal handshake signal by the asynchronous block. In this scheme, it is required that the asynchronous block has a worst-case period not longer than the synchronous clock period. A loosely-coupled handshake in which both blocks can run at independent frequencies. In this scheme, synchronization mechanisms are required to safely transmit data from one block to the other (e.g. two flip-flop synchronizers or asynchronous FIFOs). This scheme implies a communication latency penalty. In case of using asynchronous FIFOs, the penalty is produced by the synchronization of the full/empty signals.