FIFO asíncrono en cruce de dominio de reloj

El problema del cruce del dominio del reloj se puede resolver mediante el uso de FIFO asíncrono con la frecuencia de entrada f1 del dominio de origen y f2 de la frecuencia de destino.

ingrese la descripción de la imagen aquí

Si los datos se envían en ráfagas, la profundidad se puede calcular mediante

ingrese la descripción de la imagen aquí

Pero, ¿y si los datos se envían continuamente?

Si f1>f2, ninguna profundidad es suficiente... Tarde o temprano llenará el fifo y comenzará a perder datos. En todos los demás casos, solo use 2 chanclas como se describe en este artículo: zipcpu.com/blog/2017/10/20/cdc.html
Los sincronizadores flip-flop @Jules 2 solo funcionan para datos asíncronos , es decir, no puede usarlos para pasar un bus paralelo a través de un dominio de reloj. Si desea pasar datos en paralelo, debe utilizar técnicas más avanzadas de rutas multiciclo o FIFO asíncronos. Este artículo proporciona información muy útil sobre los diferentes tipos de cruces de dominios de reloj.

Respuestas (1)

El FIFO solo funciona si la tasa de entrada promedio no es mayor que la tasa de salida promedio . 1

En este caso, la salida es continua, por lo que la tasa de salida promedio es igual a la tasa de reloj de salida.

Si la entrada es en ráfagas, entonces la tasa de entrada promedio es la frecuencia del reloj de entrada multiplicada por el ciclo de trabajo de ráfagas.

Pero si la entrada es continua, entonces la tasa de entrada promedio es igual a la tasa de reloj de entrada, y esto viola la primera regla establecida anteriormente. El FIFO se desbordará.


1 A veces se usa el control de flujo para asegurar que esto sea cierto.