Este es un contador de rizo:
simular este circuito – Esquema creado mediante CircuitLab
Se trata de un contador asíncrono que se divide el reloj de entrada por 2 de cada etapa. Se trata de un contador asíncrono, ya que cada etapa va a cambiar en diferentes momentos y cada flip-flop tiene diferentes del reloj de entrada. La diferencia de tiempo entre cada etapa está determinada por el RELOJ->Q demora de los flip-flop utilizado. La simulación resultado se muestra a continuación, mostrando que cada etapa se retrasa la salida de la transición por el reloj-para-retardo de salida.
Ahora a poner el significado de esto en la perspectiva de un FPGA, el momento de la herramienta de análisis quiere asegurarse de que todo lo que está consiguiendo en la velocidad de reloj en el momento adecuado. Parte de eso es hacer de cada señal que ingresa el pin CLK de un flip-flop de un sistema de reloj que debe ser sincronizado con todos los demás relojes. Como tal, si que he entrado en el de arriba esquemático en una FPGA de la herramienta de síntesis, considera que las redes CLK_IN
, DIV_2
, DIV_4
y DIV_8
a ser "reloj" redes independientemente de si se utilizan para conducir cualquiera de los otros relojes. Esto probablemente va a funcionar bien como un contador (hay una posibilidad de que un momento de la infracción por cada uno de los flip-flop), pero no lo hizo en el sincrónico de la lógica del método.
Si usted está usando esto para tomar una rápida entrada de reloj y se derivan de un único pulso más lento (por ejemplo, hacer DIV_8
un reloj maestro para el sistema), entonces probablemente esté bien.
El problema viene cuando se desea tener un rápido acceso a los circuitos de velocidad de reloj de con CLK_IN
interactuar con lentos los circuitos de velocidad de reloj de con DIV_8
. En este caso, usted quiere los flancos de subida del reloj sincronizado, pero usted tendrá un gran desfase de reloj entre estas reloj de redes. La cantidad de desfase de reloj generada por una etapa podría ser suficiente para causar errores de sincronización, y más etapas, casi se garantiza.
Si desea crear dos relojes sincronizados dentro de un FPGA, su mejor apuesta es usar un generador de reloj síncrono, o un módulo de reloj que es interna a la FPGA, como un PLL/DCM bloque.