¿Puedo usar el sincronizador de 2 Flop para migrar un pulso de un dominio de reloj a otro siempre que la fase de los relojes cambie de fase pero sea de la misma frecuencia?

3

Quiero migrar esta señal de CLKA a CLKB. Las frecuencias de ambos relojes son iguales pero están fuera de fase.

¿Se puede usar el sincronizador 2-Flop para esto? Tenga en cuenta que la señal puede ser baja / alta para un ciclo de reloj CLKA (pulso).

    
pregunta ashishdevre

3 respuestas

2

El problema es cuánto están fuera de fase. Si los datos pueden cambiar durante los tiempos de configuración y retención del FF, tiene un problema de metastabilidad y necesita usar 2 FF: el segundo se marcará cuando finalice el timbre del primero. De lo contrario 1 será suficiente. Los límites de PW se basan en la misma consideración.

    
respondido por el toiler
1

Si la relación de fase es fija, entonces un solo FF debería ser suficiente. Siempre tiene dos opciones de qué borde de reloj usar para hacer que el tiempo funcione.

Si la relación de fase varía con el tiempo, y especialmente si puede variar más que el período de reloj, entonces dos FF no son suficientes. Todavía hay un pequeño probablemente que se perderá un pulso. El término técnico para esta situación es " plesiochronous ".

Necesitará una estructura más compleja llamada "búfer elástico": esencialmente una FIFO de 1 bit de poca profundidad, que requiere un mínimo de tres FF para los datos (determinada por la excursión máxima de pico a pico de la fase), más alguna lógica de control.

Tengo un diseño para una tienda elástica de 3 bits que hice hace mucho tiempo para una aplicación de telecomunicaciones. Utiliza un total de 9 FF, que es aún más simple que un FIFO asíncrono 16x1 basado en LUT y su lógica de control. Si quieres verlo, intentaré desenterrarlo.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas