Metaestabilidad (electrónica)


La metaestabilidad en electrónica es la capacidad de un sistema electrónico digital para persistir durante un tiempo ilimitado en un equilibrio inestable o en un estado metaestable . [1] En los circuitos lógicos digitales, se requiere que una señal digital esté dentro de ciertos límites de voltaje o corriente para representar un nivel lógico '0' o '1'para el correcto funcionamiento del circuito; si la señal está dentro de un rango intermedio prohibido, puede provocar un comportamiento defectuoso en las puertas lógicas a las que se aplica la señal. En estados metaestables, es posible que el circuito no pueda establecerse en un nivel lógico '0' o '1' estable dentro del tiempo requerido para la operación adecuada del circuito. Como resultado, el circuito puede actuar de manera impredecible y puede provocar una falla del sistema, a veces denominada "falla". [2] La metaestabilidad es un ejemplo de la paradoja del culo de Buridan .

Los estados metaestables son características inherentes de los sistemas digitales asíncronos y de los sistemas con más de un dominio de reloj independiente . En los sistemas asíncronos autoprogramados, los árbitros están diseñados para permitir que el sistema continúe solo después de que se haya resuelto la metaestabilidad, por lo que la metaestabilidad es una condición normal, no una condición de error. [3] En los sistemas síncronos con entradas asíncronas, los sincronizadores están diseñados para que la probabilidad de una falla de sincronización sea aceptablemente pequeña. [4] Los estados metaestables son evitables en sistemas totalmente sincrónicos cuando se cumplen los requisitos de configuración de entrada y tiempo de espera en los flip-flops.

Se puede encontrar un ejemplo simple de metaestabilidad en un pestillo SR NOR , cuando las entradas Establecer y Restablecer son verdaderas (R = 1 y S = 1) y luego ambas pasan a ser falsas (R = 0 y S = 0) aproximadamente al mismo tiempo. hora. Ambas salidas Q y Q se mantienen inicialmente en 0 mediante las entradas simultáneas Set y Reset. Después de que las entradas Set y Reset cambien a falso, el flip-flop terminará (eventualmente) en uno de dos estados estables, uno de Q y Q verdadero y el otro falso. El estado final dependerá de cuál de R o S vuelve a cero primero, cronológicamente, pero si ambos hacen la transición aproximadamente al mismo tiempo, la metaestabilidad resultante, con niveles de salida intermedios u oscilatorios, puede tardar arbitrariamente en resolverse en un estado estable.

En electrónica, un árbitro es un circuito diseñado para determinar cuál de varias señales llega primero. Los árbitros se utilizan en circuitos asíncronos para ordenar actividades computacionales para recursos compartidos para evitar operaciones incorrectas concurrentes. Los árbitros se utilizan en las entradas de sistemas totalmente síncronos, y también entre dominios de reloj, como sincronizadores para señales de entrada. Aunque pueden minimizar la ocurrencia de metaestabilidad a probabilidades muy bajas, todos los árbitros tienen estados metaestables, que son inevitables en los límites de las regiones del espacio de estado de entrada que dan como resultado diferentes salidas. [5]

Las técnicas de diseño de circuitos síncronos hacen que los circuitos digitales sean resistentes a los modos de falla que pueden ser causados ​​por la metaestabilidad. Un dominio de reloj se define como un grupo de flip-flops con un reloj común. Dichas arquitecturas pueden formar un circuito garantizado libre de metaestabilidad (por debajo de una cierta frecuencia de reloj máxima, por encima de la cual se produce primero la metaestabilidad y luego la falla absoluta), suponiendo un reloj común de baja desviación . Sin embargo, incluso entonces, si el sistema depende de entradas continuas, es probable que estas sean vulnerables a estados metaestables. [6]

Cuando se utilizan técnicas de diseño síncrono, la protección contra eventos metaestables que causan fallas en los sistemas solo debe proporcionarse cuando se transfieren datos entre diferentes dominios de reloj o desde un circuito sin reloj a uno con reloj (sincrónico). Esta protección a menudo puede tomar la forma de una serie de flip-flops de retardo que retrasan el flujo de datos lo suficiente como para que ocurran fallas de metaestabilidad a un ritmo insignificante. [ cita requerida ]


Una ilustración de metaestabilidad en un sincronizador, donde los datos se cruzan entre dominios de reloj. En el peor de los casos, dependiendo del tiempo, la condición metaestable en Ds puede propagarse a Dout ya través de la siguiente lógica a más partes del sistema, causando un comportamiento indefinido e inconsistente.
El ejemplo de latch NOR Set-Reset
Los sincronizadores se utilizan cuando se transfieren señales entre dominios de reloj. Un diseño de sincronizador simple consiste simplemente en retrasar la señal de entrada (datos0) de un dominio de reloj diferente utilizando varios flip-flops sensibles al borde que están cronometrados localmente (reloj0)