Configuración y salida de tiempo de espera cuando se viola

Considere un flip flop D activado por flanco positivo con señal de entrada X con un tiempo de configuración de 20 ns y un tiempo de espera de 0 ns. ¿Cuál será la salida?

C es una señal de reloj con un período de 40 ns.

Ingrese la descripción de la imagen aquí

Durante el sexto borde positivo, vemos que los datos (o X) no son estables durante 20 ns (tiempo de configuración) antes de que pasen de 1 a 0. Entonces, la salida no es predecible, ¿verdad?

Cuando le pregunté esto a mi profesor, me dijo que la salida del flip flop sería el valor de la entrada (X) antes de 20 ns, que aquí es 1.

¿Está en lo correcto?

Respuestas (5)

Si el tiempo de configuración del flip-flop es de 20 ns, significa que los datos deben ser estables al menos 20 ns antes del borde del reloj de captura. Del mismo modo, el tiempo de espera es la cantidad de tiempo que los datos deben permanecer estables después de que aparece un borde de reloj. Así que juntos definen una "ventana de espera de configuración", en la que los datos deben permanecer estables.

ingrese la descripción de la imagen aquíSi los datos cambian/alterna dentro de esta ventana, la salida es impredecible o metaestable.

En su pregunta, los datos se alternan dentro de la ventana de configuración antes del sexto borde del reloj, lo que significa que la salida es impredecible.

Quizás puedas corregir a tu profesor tomo.
Y vale la pena mencionar que, dependiendo de los retrasos internos, los tiempos de espera pueden ser negativos. Es decir, para algunos circuitos integrados, puede liberar los datos antes de que llegue el borde del reloj. Pero queda una ventana en la que los datos deben ser estables.
Corrección menor: en los procesos modernos, la verdadera metaestabilidad solo ocurre en una ventana del orden de los femtosegundos. En la gran, gran mayoría de los casos en los que se viola la configuración/retención, no verá la metaestabilidad. El resultado en estos casos será en realidad determinista pero altamente dependiente de la temperatura además de las entradas. Todavía no estaría de acuerdo con el profesor y estaría de acuerdo con usted en que el resultado es impredecible para todos los efectos, pero la metaestabilidad no es el problema (y, de hecho, rara vez lo es).

Tu profesor necesita reducir las hierbas.

Dado que los datos cambian dentro del tiempo de configuración, y dado que el tiempo de configuración es una cantidad mínima de tiempo antes del reloj que los datos necesitan para ser estables, es imposible saber si la salida será cero o uno. De hecho, podría incluso entrar en un estado metaestable y oscilar.

Si los datos son estables entre los tiempos de configuración y espera, entonces el fabricante del pestillo D garantiza que la salida del pestillo D será predecible, lo que dice que será en la hoja de datos.

Si los datos cambian durante la configuración para mantener la ventana, entonces es probable que la salida sea un 0 o 1 sólido, pero el fabricante no afirma cuál.

Es probable que solo sea un 0 o 1 sólido, no está garantizado. La salida podría volverse metaestable. Esto significa que podría haber un tiempo adicional finito e impredecible, más allá del retraso de propagación normal citado en la hoja de datos, para el cual dos puertas impulsadas por esta salida podrían tomar decisiones diferentes sobre si era un 0 o un 1. Esto es algo malo.

La salida será desconocida y un simulador la reflejará estableciendo el valor de salida en 'X'.

Si la entrada cumple con los requisitos de configuración y tiempo de espera, entonces la salida está esencialmente "garantizada" para reflejar la entrada; si viola el tiempo de configuración, el comportamiento ya no está garantizado ni es completamente predecible, como dices.

Su profesor puede estar "probablemente" en lo cierto en el sentido de que puede estar expresando lo que es muy probable que termine siendo la señal de salida, especialmente si está interpretando el tiempo de configuración como una descripción determinista del comportamiento del flip-flop, en lugar de un requisito mínimo con posible variación de un conjunto de condiciones al siguiente. Pero su interpretación e instintos realmente dan en el blanco. Los tiempos de configuración y espera generalmente se usan para expresar valores mínimos/máximos para los cuales el comportamiento se puede predecir de manera confiable a través de variaciones de proceso/voltaje/temperatura, y cuando la entrada los viola, la salida no se puede predecir de manera confiable .

Si el flip-flop generalmente tiene hasta 20 ns de retraso desde la entrada hasta donde el borde del reloj tiene efecto, entonces lo más probable es que la salida termine siendo lo que era la entrada "alrededor" (hasta) 20 ns antes del borde del reloj, como su profesor sugiere. Pero lo único que se especifica para el dispositivo es que si se cumplen los tiempos de configuración y espera, la salida seguirá a la entrada.

Así que supongo que, en otras palabras, ambos pueden tener razón hasta cierto punto, pero su interpretación es 100 % correcta, mientras que la respuesta de su profesor es solo "probablemente" correcta, y el grado en que su respuesta será correcta es, como usted dice, impredecible.

(Y, por supuesto, en un sentido práctico, en lugar de académico, solo usaría esa respuesta en un diseño en el que fuera aceptable que la salida en ese ciclo de reloj fuera "probablemente 1" sin ninguna especificación de cuán probable era eso, o dónde no hubo consecuencias reales por la posibilidad de que el flip-flop entrara en un estado metaestable "por un tiempo". Esas aplicaciones tienden a ser más raras).