A handshake is a storage contract at an edge: what was offered, what was accepted, and which side must retain state when progress pauses.
Read an edge-aligned VALID/READY trace without inventing transfers between edges.
Retain an offered item through a stall and identify the waiting-dependency deadlock.
Track input acceptance, output completion and occupancy through a two-slot skid buffer.
Relate local backpressure and credit accounting without treating them as identical protocols.
Handshakes appear on every AXI channel, AXI-Stream beat, APB PREADY, and PCIe credit pools.
Only the READY-high sampling branch while VALID is asserted. The waiting branch retains the offer.
Concepts — Follow accepting edges, waiting dependencies and two-slot storage.
Integration — Budget FIFO capacity and arbitration service assumptions.
Deep Dive — Distinguish AXI/APB timing and measure useful accepted bytes.
Worked Examples — Reason through a blocked source and a concurrency limit.
Debug — Choose evidence before assigning a throughput or CDC cause.
Interview — Explain retained offers and admission capacity in your own words.