IP PortfolioSoC interconnectclock domain crossing

of_sync_handshake

Four-phase req/ack handshake synchronizer

Maturity simulatedTargets FPGA + ASICDifficulty MediumPriority 1

Return-to-zero request/acknowledge handshake between asynchronous clock domains with a valid/ready source port, a load strobe and valid/ready destination port, and a source-side completion pulse. Only single-bit levels cross (through of_sync_bit), so it is safe for any clock ratio.

Simulated. The RTL is lint clean and passes its self-checking testbench against a reference model in simulation. It has not been run on an FPGA board or in silicon.

Interfaces

PortDirectionKindWidthNotes
src_clkinclock1 

Standards

No external standard applies.

More in clock domain crossing

IDBlockMaturity
of_sync_bitMulti-flop bit synchronizerfpga-routed
of_sync_busMulti-bit bus synchronizer (handshake)fpga-routed
of_sync_pulseToggle pulse synchronizersimulated
of_sync_resetReset synchronizersimulated