Distinguir dominios de reloj en diseños

2

Lo encuentro confuso al definir varios dominios de reloj en el diseño. Realicé búsquedas en Internet, pero no obtuve una claridad completa al respecto.

En un cierto diseño basado en FPGA (serie Actel ProASIC), estoy generando tres relojes: 48MHz, 24MHz y 12MHz desde una entrada de cristal de 8MHz usando un PLL. Además, al usar uno de estos 3 relojes (48/24/12) tengo que generar señales de reloj de 8MHz, 4MHz, 2MHz y 1MHz para usar en algunos de los módulos lógicos.

Mi suposición es que, dado que 48MHz, 24MHz y 12MHz se generan a partir del mismo PLL y tienen una relación de fase constante, puedo considerarlos como parte de un solo dominio de reloj. Y puedo usar una señal de reinicio común sincronizada w.r.t. 48MHz para restablecer los flip-flops cronometrados en 48MHz, 24MHz o 12MHz. ¿Es correcto el supuesto anterior?

Para la generación de señales de reloj de 8MHz, 4MHz, 2MHz y 1MHz, estoy usando contadores de ejecución libre a 48MHz (podría haber usado 24MHz también para este propósito, pero 12MHz requirió una división fraccional para generar 8MHz). Estoy confundido si los relojes generados de 8, 4, 2 y 1MHz pueden considerarse en el mismo dominio de reloj de 48MHz. ¿Cuál debería ser la regla general para diferenciar varios dominios de reloj?

¿Puedo usar la señal de reinicio mencionada anteriormente para reiniciar los flip-flops con 8, 4, 2 y 1MHz? ¿O debería generar señales de reinicio separadas para este propósito?

    
pregunta rvkrysh

1 respuesta

4

Primera parte de la respuesta: los relojes procedentes del mismo oscilador y producidos en un PLL interno tienen una relación de fase conocida. Las herramientas lo saben y verifican que las transferencias de uno de estos relojes a otro no terminen en una infracción de tiempo. Asegúrese de tener todas las restricciones apropiadas en el diseño y verifique la salida de los informes de tiempo.

Segunda parte de la respuesta: no lo hagas de esta manera. La mejor manera es usar un solo reloj: 48 MHz en su caso. Todos los demás dominios de reloj pueden ser reemplazados por su reloj de 48 MHz y una señal de habilitación de reloj. Por ejemplo, el dominio de 12 MHz está utilizando una señal de habilitación de reloj que es alta en cada cuarto ciclo de reloj de 48 MHz. Esto ahorra muchos problemas con los cruces del dominio del reloj e incluso ahorra recursos.

    
respondido por el asdfex

Lea otras preguntas en las etiquetas