16 votos

¿Por qué los D-Flip Flops en cascada impiden la metaestabilidad?

Entiendo lo que es la metaestabilidad, pero no comprendo cómo la vinculación de los flip flops la reduce.

Si la salida del primer flipflop es metaestable, ésta se utiliza como entrada para el segundo. Pero no veo cómo el segundo flipflop podrá hacer algo con esta entrada y hacerla estable.

Gracias de antemano.

2 votos

Siempre buscando una oportunidad para mencionar el culo de Buridan: es.wikipedia.org/wiki/

12voto

user44635 Puntos 4308

La metaestabilidad no se puede "curar", pero si esperar lo suficiente La probabilidad de que ocurra puede hacerse arbitrariamente pequeña. Una vez que se ha reducido a una vez en la edad del universo, es poco probable que cause problemas.

Es como equilibrar un lápiz sobre su punta. Es probable que se caiga, y cuanto más esperes, menos probable será que se mantenga en pie.

Esperar mucho tiempo tiene dos problemas, y uno de ellos es fundamental.

El problema fundamental es que si tienes un solo elemento de memoria (latch o flip-flop, ambos sufren de metaestabilidad) en un sistema con reloj que recibe la salida de un sistema externo asíncrono, entonces físicamente no puedes definir un límite inferior al tiempo de espera, a veces la señal externa hará una transición cerca del borde de control del latch. Tienes que canalizar la señal a otro flip-flop para que espere allí. Esto le da un tiempo de espera mínimo garantizado de un ciclo de reloj.

El segundo problema es que a menudo se intenta hacer funcionar un sistema lo más rápido posible, y la velocidad de reloj del sistema no puede reducirse para dar suficiente tiempo al segundo flip-flop. La única manera de aumentar la latencia de la señal a lo necesario, sin disminuir el rendimiento, es canalizar la espera a más etapas.

Algunas personas tienen problemas para visualizar lo que ocurre entre las chanclas. Hay dos maneras de inducir la metaestabilidad, y ambas implican violar las reglas de los flip-flops. Una forma es violar los tiempos de preparación y retención de la entrada, para hacer una transición cuando el flip-flop espera que la entrada sea estable. La otra es violar los niveles lógicos de entrada, para hacer que la entrada de datos del flip-flop se sitúe en un nivel de voltaje intermedio. Un flip-flop que está siendo metaestable puede producir cualquier tipo de violación en su salida, para pasar en cascada al siguiente flip-flop.

7 votos

Por ejemplo, cuando diseñaba chips, yo era "dueño" de la metaestabilidad, de todos los cruces de reloj, hicimos los cálculos, calculamos las posibilidades de que el sincronizador fallara en cada flop, grupo de flops, etc., y vimos cuáles serían los resultados... sobre todo, un píxel de la pantalla podría estallar, y al final todo el chip se redujo a aproximadamente una vez cada dos años; se trataba de una tarjeta gráfica para Win95, que en ese momento no podía estar en funcionamiento más de un día, y decidimos que nadie notaría un MTBF de 2 años del sincronizador.

8 votos

Además, algo que nadie menciona es lo que ocurre en el peor de los casos de fallo de metaestabilidad... a veces el fallo del sincronizador hace que un flop oscile internamente a una frecuencia estúpidamente alta, quizás a niveles entre los máximos y mínimos digitales normales; si se escapa de su sincronizador de alta ganancia contra la metaestabilidad, ese ruidoso desastre puede infectar a todos los flops posteriores (a medida que las cosas se ventilan), lo que resulta en enormes consumos de corriente e incluso en un posible sobrecalentamiento y muerte del chip; así que preste atención a esto como un problema

0 votos

@Neil_UK Utilizas la palabra pestillo que creo que es confusa. En mis círculos, un latch es un elemento asíncrono. Yo los llamaría flip-flops para mayor claridad.

10voto

Claudia Puntos 6

Reduce la probabilidad de que la metaestabilidad afecte al circuito al permitir más tiempo hasta que la señal se utilice realmente. Con dos flip-flops, permite todo un ciclo de reloj adicional para que la señal se asiente. Con tres, permite dos ciclos de reloj adicionales.

2 votos

Buena respuesta. El punto importante es que la metaestabilidad no es evitó simplemente reducimos la probabilidad a un nivel aceptable.

1 votos

Entonces, la conexión en cascada de los flipflops da tiempo a que la señal se estabilice entre 0 y 1 pero no resuelve un valor erróneo? ya que una señal metaestable puede caer en ambos sentidos?

2 votos

@WouterA Si es metaestable entonces ambos valores son correctos.

4voto

Spehro Pefhany Puntos 90994

No impiden que la metaestabilidad afecte a la salida, pero pueden aumentar mucho el tiempo medio entre incidentes, ya que la metaestabilidad tendría que ser de una duración relativamente larga.

La conexión en cascada de tres (o más) flip-flops bien diseñados puede aumentar el tiempo entre incidentes hasta algo parecido a la edad de la Tierra.

0 votos

Depende de la velocidad de reloj y de la tecnología del proceso. Un flip-flop puede ser suficiente para que tu MTBF sea infinitesimal, siempre que mantengas una holgura alta.

0 votos

@jalalipop Claro que sí, hay información de pruebas reales (muy anticuadas ya) en el artículo original del IEEE. DOI: 10.1109/TC.1983.1676187

0 votos

@jalalipop: por lo general, este es un problema que es más relevante para cuando no se puede garantizar el tiempo de holgura aka diseño asíncrono, como el FIFO que se comunica entre el núcleo de la CPU y el SOC cuando los relojes respectivos no están bloqueados en fase. De lo contrario, basta con establecer un tiempo de configuración duro y garantizar la metaestabilidad no se producirá.

2voto

honi Puntos 63

Porque el primer flip-flop, aunque sea metaestable, tendrá todo el periodo del reloj para estabilizarse. Cuando el segundo flip-flop muestre el primer flip-flop, su salida podría ser ya estable.

1voto

NuSkooler Puntos 2679

Si quieres la emoción de la metaestabilidad, implementa DOS INVERSORES MUY LENTOS, conéctalos espalda con espalda, y polarízalos (en una simulación) a VDD/2. Luego quita la polarización, y observa la velocidad de resolución a niveles lógicos1 y lógicos0. Es posible que tengas que elegir una tensión de polarización inicial distinta de VDD/2.

Si sus 2 o 3 flipflops son LENTOS en comparación con el periodo del reloj, la vida puede estar llena de problemas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X