Clock Domain Crossing

Almost every chip has multiple clocks, and signals crossing between them cause some of the hardest bugs in digital design. This path teaches clock domain crossing from the ground up: why metastability happens and cannot be timed away, the two-flop synchronizer, why buses need gray code, asynchronous FIFOs, handshake and pulse synchronizers, reset synchronization, and how CDC is actually verified.

8 modulesIntermediateVerilogSystemVerilogCDC analysis