CDC Pointers
An asynchronous FIFO uses an 8-bit pointer to track the write address. The designer crosses this pointer directly from the 200 MHz write domain to the 100 MHz read domain using a bank of eight standard 2-flop synchronizers. During silicon validation, the FIFO frequently drops data. Why is passing a multi-bit binary counter through standard synchronizers architecturally flawed?
