IP PortfolioSoC interconnectclock domain crossing

of_sync_pulse

Toggle pulse synchronizer

Maturity simulatedTargets FPGA + ASICDifficulty EasyPriority 1

Transfers single-cycle pulses between asynchronous clock domains with a source toggle flop, a 2-4 flop synchronizer and a destination edge detector; a synchronized feedback toggle gives a src_busy flag that guarantees no lost or duplicated pulses 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
pulse_ininparallel1 
pulse_outoutparallel1 
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_handshakeFour-phase req/ack handshake synchronizersimulated
of_sync_resetReset synchronizersimulated