¿Qué significa "bloquear el reloj"?


11

En mis apuntes de clase sigo leyendo "no cierren el reloj". Intenté buscar en Internet, pero no puedo encontrar el significado exacto de esta frase.



3
@ user129048 hay otras preguntas que tratan este tema en este sitio. En resumen, si cierra el reloj tendrá un retraso que es malo. La mayoría de los FPGA tienen líneas de reloj dedicadas, y la activación del reloj no usará esas líneas.
Voltaje pico

1
Al igual que usa una puerta para permitir que su perro / caballo / etc. entre y salga, pueden pasar si la puerta está abierta. El reloj y el reinicio son solo señales que se pasan a un módulo de lógica al igual que las otras señales. Puede permitir o bloquear ese reloj para que no continúe, sin dejarlo pasar. Evitar que la lógica del otro lado tenga esa señal como entrada.
old_timer

Respuestas:


19

Para "bloquear el reloj" significa poner una puerta lógica en la línea del reloj para encenderlo o apagarlo.

esquemático

simular este circuito : esquema creado con CircuitLab

Los diagramas anteriores muestran y AND y OR utilizados para bloquear el reloj. Uno obliga al reloj a bajar el otro alto.

Para evitar pulsos de reloj que son 'demasiado cortos', ya sean altos o bajos ("pulsos de ejecución"), debemos asegurarnos de que:

  • La señal de control para la puerta AND debe cambiar solo cuando el reloj está bajo .
  • La señal de control para la puerta OR debe cambiar solo cuando el reloj está alto .

Los relojes con compuerta son muy útiles para reducir la potencia en CMOS ya que la lógica permanece "silenciosa" mientras el reloj está parado. Encontrará que las herramientas de síntesis modernas tienen una opción especial para insertar la activación automática del reloj.

esquemático

simular este circuito

Arriba hay dos circuitos que generan de forma segura un reloj cerrado. Los circuitos se basan en el hecho de que hay un pequeño retraso (reloj a Q) para que la señal de control salga del registro. Así, la señal de control cambia en la puerta cuando el reloj tiene una polaridad conocida.


3
Muy buena respuesta. Solo ampliaré los beneficios de poder de los relojes privados. La red de reloj en un CI, especialmente en complejos como los microprocesadores, puede ser realmente vasta. Tan grande que se ha demostrado (lo siento, no tengo la referencia a mano) que el cambio de la red de reloj solo puede representar el 30% del consumo total de energía. Esto se consume incluso si la lógica real cronometrada por ella no tiene nada que hacer, por ejemplo. los registros y las salidas no cambian en absoluto. Activar el reloj puede desactivar el reloj por completo en las partes afectadas de la red, lo que reduce significativamente el consumo de energía.
ultimA

44
@Curd: Cuando el OP dice "no bloquear el reloj", el profesor quiere decir "no bloquee el reloj literalmente como con una sola puerta lógica". Ese es un buen consejo. En la práctica, aunque "activación de reloj" significa "deshabilitar el reloj" o poder hacerlo, y se recomienda hacerlo por razones de energía siempre que sepa cómo hacerlo correctamente (es decir, no con una lógica puerta, pero con suficiente lógica para evitar runas y fallas en la línea del reloj).
ultimA

8
Tengo que adivinar aquí por qué el profesor dice esto: la activación del reloj, aunque presentada aquí como simple, tiene muchas dificultades. Por lo tanto, está muy mal visto. En el diseño ASIC (de donde vengo), solo se realiza mediante las herramientas, que se supone que son confiables, o por los ingenieros principales principales, que también se supone que son confiables para saber qué están haciendo.
Oldfart

44
@oldfart Esa es muy probablemente la explicación. Especialmente si OP está en una clase FPGA, es poco probable que alguna vez estén activando un reloj.
mbrig

3
@MITURAJ, la activación del reloj ciertamente se puede hacer en la entrada de diseño. Creo que estás describiendo lo que se debe hacer, no lo que se hace "generalmente". La libertad de los FPGA permite a cualquiera implementar malas ideas. Muchos diseños malos por ahí.
TonyM

6

Gating, en este contexto, significa pasar una señal a través de una puerta lógica para controlarla.

Pasarlo a través de una entrada de una compuerta AND de 2 entradas permite que un bit de control en la otra entrada fuerce la salida de la compuerta AND a un nivel bajo o permita que la señal pase y salga. Una puerta OR puede realizar una función similar, forzando la señal a alta o dejando pasar.

Entonces, activar un reloj significa forzarlo a bajo / alto o dejarlo pasar.

No activar relojes es un buen consejo. Se puede hacer con cuidado y comprensión profunda de las posibles consecuencias. Estos incluyen la metaestabilidad al tomar señales cronometradas en el dominio de reloj cerrado y los peores resultados de la síntesis / diseño controlado por el tiempo.

Pero casi siempre hay otras formas de lograr el mismo control sobre un circuito que activar el reloj, sin todos los riesgos y penalizaciones.


6

Significa:
No use una compuerta AND u OR (o cualquier término combinatorio más complejo) para derivar una señal de reloj de otra señal de reloj.

La razón de esa regla es que las condiciones de carrera entre las múltiples entradas del término combinatorio pueden causar múltiples bordes de reloj (fallas) donde solo se espera un borde de reloj.


2
Sería bueno si el votante capaz de explicar lo que considera incorrecto con esta respuesta.
Cuajada

4

Para alta velocidad, implica no agregar puertas lógicas que agreguen retardo de propagación al reloj, ya que puede causar condiciones de carrera al trabajar con datos usando el reloj original.


Nunca he escuchado el término reloj de puerta utilizado de esta manera, ¿tiene una fuente para eso?
BeB00

@ BeB00: solo busca en google "glitch gating free" y encontrarás mucho
Cuajada


Este fue mi primer pensamiento al no haber escuchado el término utilizado anteriormente, pero hay veces que se necesitará el almacenamiento en búfer y la compuerta probablemente tenga más significado que el almacenamiento en búfer en este caso. Las características de giro y borde pueden cambiar con el almacenamiento en búfer simple y deben considerarse en cualquier caso.
KalleMP
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.