¿Cómo se puede usar un registro de desplazamiento para rebotar un interruptor?

4

Este es el problema :

Estaeslasoluciónpropuesta:

Lo que no entiendo :

El botón rebota en el tiempo de configuración / retención de la entrada del circuito, lo que hace que el FF pase a un estado metaestable en el que puede establecerse en Alto o en Bajo. Entonces, ¿cómo puede la siguiente FF en la secuencia de registro de desplazamiento obtener la entrada inicial correctamente?

En otras palabras, si el botón rebotó en un momento crítico que provocó que el primer FF bajara, ¿cómo puede el siguiente FF interpretar la señal original (presionar el botón) correctamente?

    
pregunta midnightBlue

2 respuestas

1

Para responder a su pregunta específica, la mayoría de los flip-flops en general, y los flip-flops utilizados en los registros de desplazamiento en particular, tienen un mínimo tiempo de propagación de reloj a salida. Lo que esto significa es que la salida no cambiará de estado durante un cierto período de tiempo después de cada flanco de reloj, y esta vez es mayor que el tiempo máximo de retención de entrada del siguiente flip-flop.

En la mayoría de los casos, cada flip-flop está diseñado para que el tiempo de retención de entrada requerido sea, de hecho, cero. Y ningún flip-flop tiene un retardo de reloj a salida mínimo que sea menor que cero.

Cuando conectas flip-flops en serie para lidiar con la metastabilidad potencial, incluso si el primero se vuelve metaestable, no se puede evitar que el segundo sea metaestable; la metastabilidad debe persistir durante un período de reloj antes de que potencialmente pueda hacer que la segunda también sea metaestable.

    
respondido por el Dave Tweed
0

En un sentido muy ideal, la metastabilidad se puede mantener durante un tiempo infinito para condiciones inmutables. Básicamente, todo se reduce al hecho de que no puedes probar que el estado indeterminado no se mantendrá para siempre. En realidad, con el desfase ferroviario y la falta de coincidencia de los transistores, sería un evento extremadamente raro para que la metastabilidad persista durante la duración de un ciclo de reloj.

En este diseño, está utilizando FF activados por flanco que consisten en pares de pestañas maestro / esclavo. Cuando el reloj cambia de estado (en el borde negativo), se interrumpen las condiciones bajo las cuales puede persistir la metastabilidad. Sin embargo, todavía se podría argumentar que la metastabilidad se transfirió al seguimiento en el pestillo del FF. Esto es, por supuesto, un evento aún más raro, porque las probabilidades se multiplican juntas. Para cuando haya agregado un segundo FF, cualquier persona razonable aceptaría que la metastabilidad básicamente no puede propagarse a través de los FF.

Aquí hay algunos números para demostrar el efecto. Digamos que la probabilidad de obtener un estado metaestable que persista durante 1/2 ciclo de reloj en el flanco ascendente es \ $ P_r = \ dfrac {1} {2,000,000} \ $ y que la probabilidad de propagar un estado metaestable que persiste durante 1 / 2 un ciclo de reloj en el flanco descendente es \ $ P_f = \ dfrac {1} {1,000,000} \ $ entonces la probabilidad combinada de hacerlo a través de un FF es \ $ P_r * P_f = \ dfrac {1} {1,000,000 * 2,000,000} = \ dfrac {1} {2 * 10 ^ {12}} \ $. Después de un segundo FF, esto podría reducirse a \ $ P_ {2FF} = \ dfrac {1} {2 * 10 ^ {24}} \ $. Por supuesto, estos son números que se acaban de sacar del aire.

Este tipo de eventos siguen las estadísticas de la ley de poder. Si observamos la probabilidad frente a la duración de la persistencia del estado metaestable, probablemente seguiría un comportamiento con cada duplicación del factor de tiempo, lo que significa que la probabilidad es algún factor (tal vez X 1/2 o X 1/10) menor.

    
respondido por el placeholder

Lea otras preguntas en las etiquetas