::std::cdc::

Entity handshake

pub unsafe entity handshake<T>(from_clk: clock, rst: bool, data: Option<T>, to_clk: clock) -> Option<T>
Expand

Synchronize data from the domain of from_clk to to_clk via handshaking. Primarily to be used to cross domains of similar speed. A single-cycle pulse on data in from_clk results in a single-cycle output in to_clk.

Safety

If the data in from_clk is active for more than one cycle in a row, the behaviour is unpredictable. Likewise, the behaviour is unpredictable if the data occurs too frequently, i.e. within a few clock cycles in the slowest domain.