Pro catalog
Clock-Domain Crossing
Clock-domain crossing FIFOs, synchronizers, and handshake bridges.
Category overview
Clock-domain crossing FIFOs, synchronizers, and handshake bridges.
IP blocks
-
A robust 1-bit handshake protocol for crossing clock domains ensuring reliable data transfer without loss.
-
Synchronizes an asynchronous active-low reset signal to a synchronous clock domain using a 3-stage flip-flop chain to minimize metastability.
-
A 4-bit bus synchronizer using a two-stage flip-flop per bit to safely transfer asynchronous signals into a synchronous domain.
-
4-bit Gray code bus synchronizer with Valid/Ready handshake for asynchronous clock domain crossing.
-
Crosses a single-cycle pulse from src_clk to dst_clk using a req/ack toggle handshake.
-
Asynchronous set, synchronous clear flag with credit-based flow control for pulse transfer across clock domains.
-
2-stage asynchronous reset synchronizer chain for safe Gray-coded FIFO pointer synchronization across clock domains with active-low reset handling.
-
Dual-clock domain crossing for single-cycle pulses with credit-based flow control.
-
Enable Level Synchronizer with Busy Hold for CDC
-
A 16-bit cross-domain clock synchronizer using a four-phase handshake protocol with backpressure support.
-
Reliable asynchronous clock domain crossing using a two-way handshake protocol for 8-bit data payloads.
-
Synchronizes an 8-bit bus using a two-flop synchronizer chain per bit — educational follow-on to single-bit two_ff_sync.
-
Cross-clock domain synchronizer for multi-bit select signals using Gray code encoding to prevent metastability glitches.
-
Implements a pulse-acknowledgment round-trip mechanism across two asynchronous clock domains to ensure reliable single-cycle pulse transmission and acknowledgment.
-
Asynchronous clock domain crossing module for 8-bit payloads using Req/Ack handshake with backpressure.
-
Transfers a single-clock-cycle pulse across asynchronous clock domains using a 2-FF synchronizer, edge detector, and pulse stretcher. Supports clock ratios up to 10:1 and variable reset polarity.
-
Samples data on a rising edge of a synchronized slow enable signal in a fast clock domain.
-
Captures a 4-bit data bus synchronized to a destination clock domain using a toggle mechanism and 2-stage synchronizer.
-
Clock Domain Crossing module that transfers an 8-bit payload using a synchronized toggle signal for handshaking.
-
Toggle synchronizer with 4-bit payload hold for asynchronous clock domain crossing.
-
Bidirectional toggle synchronizer with request and acknowledge paths for asynchronous clock domains.
-
Two-flip-flop CDC synchronizer with async reset stretching for source and destination domains.
-
Parameterized two-stage synchronizer for single-bit asynchronous signal crossing with optional async reset support.