stringtranslate.com

Desviación del reloj

La desviación del reloj (a veces llamada desviación de la sincronización ) es un fenómeno en los sistemas de circuitos digitales síncronos (como los sistemas informáticos ) en los que la misma señal de reloj procedente llega a diferentes componentes en diferentes momentos debido a la puerta o, en tecnología de semiconductores más avanzada , a la propagación de la señal por cable. demora . La diferencia instantánea entre las lecturas de dos relojes cualesquiera se llama desviación.

El funcionamiento de la mayoría de los circuitos digitales se sincroniza mediante una señal periódica conocida como " reloj " que dicta la secuencia y el ritmo de los dispositivos en el circuito. Este reloj se distribuye desde una única fuente a todos los elementos de memoria del circuito, que por ejemplo podrían ser registros o flip-flops . En un circuito que utiliza registros activados por flanco, cuando el flanco del reloj o el tic llega a un registro, el registro transfiere la entrada del registro a la salida del registro, y estos nuevos valores de salida fluyen a través de lógica combinacional para proporcionar los valores en las entradas del registro para el siguiente. tictac del reloj.

Idealmente, la entrada a cada elemento de la memoria alcanza su valor final a tiempo para el siguiente tic del reloj, de modo que el comportamiento de todo el circuito pueda predecirse exactamente. La velocidad máxima a la que puede funcionar un sistema debe tener en cuenta la variación que se produce entre los distintos elementos de un circuito debido a diferencias en la composición física, la temperatura y la longitud del camino.

En un circuito síncrono, se dice que dos registros, o flip-flops, son "secuencialmente adyacentes" si una ruta lógica los conecta. Dados dos registros secuencialmente adyacentes R i y R j con tiempos de llegada del reloj en los pines del reloj del registro de origen y de destino iguales a T C i y T C j respectivamente, la desviación del reloj se puede definir como: T desviación i, j = T C i − T C j .

En diseño de circuitos

La desviación del reloj puede deberse a muchas cosas diferentes, como la longitud de la interconexión de los cables, las variaciones de temperatura, la variación en los dispositivos intermedios, el acoplamiento capacitivo , las imperfecciones del material y las diferencias en la capacitancia de entrada en las entradas de reloj de los dispositivos que usan el reloj. A medida que aumenta la velocidad del reloj de un circuito, la sincronización se vuelve más crítica y se puede tolerar menos variación para que el circuito funcione correctamente.

Hay dos tipos de sesgo de reloj: sesgo negativo y sesgo positivo . La desviación positiva ocurre cuando el registro receptor recibe el tic del reloj más tarde que el registro transmisor. La desviación negativa es lo contrario: el registro transmisor recibe el tic del reloj más tarde que el registro receptor. El desvío de reloj cero se refiere a la llegada del tic del reloj simultáneamente al registro de transmisión y recepción. [1]

sesgo dañino

Hay dos tipos de violaciones que pueden ser causadas por un desfase del reloj. Un problema se produce cuando el reloj llega al primer registro y la señal del reloj hacia el segundo registro viaja más lento que la salida del primer registro al segundo registro: la salida del primer registro llega a la entrada del segundo registro más rápido y, por lo tanto, se sincroniza reemplazando la datos iniciales en el segundo registro, o tal vez destruir la integridad de los datos bloqueados. Esto se denomina infracción de retención porque los datos anteriores no se retienen el tiempo suficiente en el flip-flop de destino para que se registren correctamente. Otro problema se produce si el flip-flop de destino recibe el tic del reloj antes que el flip-flop de origen: la señal de datos tiene mucho menos tiempo para llegar al flip-flop de destino antes del siguiente tic del reloj. Si no lo hace, se produce una infracción de configuración , denominada así porque los nuevos datos no estaban configurados ni estables antes de que llegara el siguiente tic del reloj. Una infracción de retención es más grave que una infracción de configuración porque no se puede solucionar aumentando el período de reloj. El sesgo positivo y el sesgo negativo no pueden impactar negativamente las restricciones de tiempo de configuración y retención respectivamente (consulte las desigualdades a continuación).

Sesgo beneficioso

Cuando una señal sincroniza ampliamente un circuito, las señales/transiciones de estado que inicia deben estabilizarse antes de que señale otro conjunto de transiciones de estado, y eso limita la frecuencia superior del reloj. Por lo tanto, la inclinación disminuye la frecuencia de reloj a la que el circuito funcionará correctamente. Para cada registro de origen y registro de destino conectados por una ruta, se deben cumplir las siguientes desigualdades de configuración y retención:

dónde

Los desvíos positivos del reloj son buenos para corregir violaciones de configuración, pero pueden causar violaciones de retención. La desviación negativa del reloj puede proteger contra una infracción de retención, pero puede provocar una infracción de configuración.

En las desigualdades anteriores, se utiliza un único parámetro, J , para tener en cuenta la fluctuación . Este parámetro debe ser un límite superior para la diferencia de fluctuación en todos los pares de registro de origen/registro de destino. Sin embargo, si se conoce la estructura de la red de distribución de reloj, diferentes pares de registro de origen/registro de destino pueden tener diferentes parámetros de fluctuación, y se puede usar un valor de fluctuación diferente para la restricción de retención en contraste con el valor para la restricción de configuración. Por ejemplo, si el registro de origen y el registro de destino reciben sus señales de reloj desde un búfer de reloj cercano común , la fluctuación limitada por esa restricción de retención puede ser muy pequeña, ya que cualquier variación en esa señal de reloj afectará a los dos registros por igual. Para el mismo ejemplo, el límite de fluctuación para la restricción de configuración debe ser mayor que para la restricción de retención, porque la fluctuación puede variar de un tic de reloj a otro. Si el registro de origen recibe su señal de reloj desde un búfer hoja de la red de distribución de reloj que está muy alejado del búfer hoja que alimenta el registro de destino, entonces el límite de fluctuación tendrá que ser mayor para tener en cuenta las diferentes rutas de reloj hacia los dos registros. , que pueden tener diferentes fuentes de ruido acopladas.

Figura 1. Los peligros del sesgo cero. La ruta FF2 -> FF3 funcionará mal con una violación de retención si se produce una pequeña cantidad de retraso de reloj adicional a FF3, como fluctuación del reloj.
Figura 2. Una pequeña cantidad de retraso insertada en la entrada de reloj de FF2 protege contra una violación de retención en la ruta FF2 -> FF3 y, al mismo tiempo, permite que la ruta FF1 -> FF2 funcione en un período de reloj más bajo. Este circuito de inclinación intencional es más seguro y más rápido que el circuito de inclinación cero de la Figura 1.

Las figuras 1 y 2 ilustran una situación en la que la desviación intencional del reloj puede beneficiar a un circuito síncrono. [2] En el circuito de inclinación cero de la Figura 1, un camino largo va desde el flip-flop FF1 al flip-flop FF2, y un camino corto, como un camino de registro de desplazamiento, de FF2 a FF3. La ruta FF2 -> FF3 está peligrosamente cerca de tener una violación de retención: si se produce incluso una pequeña cantidad de retraso de reloj adicional en FF3, esto podría destruir los datos en la entrada D de FF3 antes de que llegue el reloj para sincronizarlo hasta la Q de FF3. producción. Esto podría suceder incluso si FF2 y FF3 estuvieran físicamente cerca uno del otro, si sus entradas de reloj procedieran de diferentes buffers de hoja de una red de distribución de reloj.

La Figura 2 muestra cómo se puede solucionar el problema con una desviación intencional del reloj. Se interpone una pequeña cantidad de retraso adicional antes de la entrada del reloj de FF2, lo que luego posiciona de manera segura la ruta FF2 -> FF3 lejos de su violación de retención. Como beneficio adicional, este mismo retraso de reloj adicional relaja la restricción de configuración para la ruta FF1 -> FF2. La ruta FF1 -> FF2 puede funcionar correctamente en un período de reloj menor que el requerido para el caso de sesgo de reloj cero, por una cantidad igual al retraso del búfer de retraso de reloj agregado.

Un error común acerca del desvío intencional del reloj es que es necesariamente más peligroso que el desfase cero, o que requiere un control más preciso de los retrasos en la red de distribución del reloj. Sin embargo, es el circuito de desviación cero de la Figura 1 el que está más cerca de fallar: una pequeña cantidad de desviación positiva del reloj para el par FF2 -> FF3 causará una violación de retención, mientras que el circuito de desviación intencional de la Figura 2 es más tolerante a retrasos no deseados. variaciones en la distribución del reloj.

Sesgo óptimo

Si los tiempos de llegada del reloj a los registros individuales se consideran variables que deben ajustarse para minimizar el período del reloj mientras se satisface la configuración y se mantienen desigualdades para todos los caminos a través del circuito, entonces el resultado es un problema de programación lineal . [3] En este programa lineal, el desfase cero del reloj es simplemente un punto factible: la solución del programa lineal generalmente da un período de reloj menor que el que se logra con el desfase cero. Además, se pueden garantizar márgenes de seguridad mayores o iguales al caso de sesgo cero estableciendo tiempos de configuración y retención y límites de fluctuación apropiadamente en el programa lineal.

Debido a la forma simple de este programa lineal, está disponible un algoritmo fácilmente programado para llegar a una solución. [2] La mayoría de los sistemas CAD para diseño VLSI y FPGA contienen funciones para optimizar los desfases del reloj.

Confusión entre asimetría del reloj y fluctuación del reloj

Además del desfase del reloj debido a las diferencias estáticas en la latencia del reloj desde la fuente del reloj hasta cada registro sincronizado, ninguna señal de reloj es perfectamente periódica, de modo que el período del reloj o el tiempo del ciclo del reloj varía incluso en un solo componente, y esta variación es conocida. como fluctuación del reloj . En un punto particular de una red de distribución de relojes, la fluctuación de fase es el único factor que contribuye a la incertidumbre en la sincronización del reloj.

Como aproximación, suele ser útil analizar la incertidumbre total de sincronización del reloj entre dos registros como la suma de la desviación espacial del reloj (las diferencias espaciales en la latencia del reloj desde la fuente del reloj) y la fluctuación del reloj (es decir, la no periodicidad del reloj). en un punto particular de la red). Desafortunadamente, el desfase del reloj espacial varía en el tiempo de un ciclo al siguiente debido a variaciones locales dependientes del tiempo en el suministro de energía, la temperatura local y el acoplamiento de ruido a otras señales.

Por lo tanto, en el caso habitual de envío y recepción de registros en diferentes ubicaciones, no existe una forma clara de separar la incertidumbre total de la sincronización del reloj en asimetría espacial y fluctuación. Por lo tanto, algunos autores utilizan el término desfase del reloj para describir la suma del desfase del reloj espacial y la fluctuación del reloj. Por supuesto, esto significa que el desfase del reloj entre dos puntos varía de un ciclo a otro, lo cual es una complejidad que rara vez se menciona. Muchos otros autores utilizan el término sesgo del reloj sólo para la variación espacial de los tiempos del reloj, y utilizan el término fluctuación del reloj para representar el resto de la incertidumbre total del tiempo del reloj. Por supuesto, esto significa que la fluctuación del reloj debe ser diferente en cada componente, lo cual rara vez se analiza.

Afortunadamente, en muchos casos, la desviación espacial del reloj permanece bastante constante de un ciclo a otro, de modo que el resto de la incertidumbre total de la temporización del reloj puede aproximarse bien mediante un único valor común de fluctuación del reloj.

en una red

En una red como Internet , la desviación del reloj describe la diferencia de frecuencia ( primera derivada del desplazamiento con el tiempo) de diferentes relojes dentro de la red. [4] Las operaciones de red que requieren marcas de tiempo comparables entre hosts pueden verse afectadas por el desfase del reloj. Se han diseñado varios protocolos (por ejemplo, Network Time Protocol ) para reducir la desviación del reloj y producir funciones más estables. Algunas aplicaciones (como los servidores de juegos ) también pueden utilizar su propio mecanismo de sincronización para evitar problemas de confiabilidad debido al desfase del reloj.

Interfaces

La desviación del reloj es la razón por la cual, a velocidades rápidas o largas distancias, se prefieren las interfaces serie (p. ej. , SCSI conectado en serie o USB ) a las interfaces paralelas (p. ej., SCSI paralelo ). [ cita necesaria ]

Ver también

Referencias

  1. ^ Friedman, EG Diseño de distribución de reloj en circuitos VLSI: descripción general , Simposio internacional sobre circuitos y sistemas del IEEE de 1993 (págs. 1475-1478). IEEE, 1993.
  2. ^ ab Maheshwari, N. y Sapatnekar, SS, Análisis de temporización y optimización de circuitos secuenciales , Kluwer, 1999.
  3. ^ Fishburn, JP (julio de 1990). "Optimización de la desviación horaria" (PDF) . Transacciones IEEE en computadoras . 39 (7): 945–951. doi :10.1109/12.55696.
  4. ^ Molinos, D. (1992). "Especificación, implementación y análisis del protocolo de tiempo de red (versión 3)". herramientas.ietf.org . doi : 10.17487/RFC1305 . Consultado el 30 de octubre de 2017 .