Protocols

Handshaking

A synchronization protocol where communicating parties exchange signals to coordinate data transfer.

Detailed Explanation

Handshaking ensures data validity and acknowledgment. The most common pattern is valid-ready: the sender asserts valid with data; the receiver asserts ready when it can accept. The transfer completes when both are high simultaneously.

Handshaking can be two-phase (signals toggle to indicate events) or four-phase (signals return to initial levels). Four-phase is more common in synchronous designs. Proper handshaking prevents data loss, duplication, and deadlock.