Un estado metaestable es similar a un equilibrio inestable. Un ejemplo común de un equilibrio inestable es un péndulo invertido . Si puede equilibrar el péndulo en posición vertical, ese es un estado estable. Sin embargo, si algo empuja la palanca hacia ambos lados (corrientes de aire o vibraciones del suelo, por ejemplo), el péndulo no se restaurará a la posición vertical, se caerá. Contraste con un péndulo regular, que si se empuja hacia un lado, eventualmente se asentará en vertical.
Los equilibrios estables se utilizan en sistemas eléctricos para crear elementos de almacenamiento. La equlibria inestable no es un buen elemento de almacenamiento (ya que pierde su estado fácilmente), pero a menudo existe como un estado parasitario.
Un elemento de almacenamiento digital común es un par de inversores con acoplamiento cruzado:
El elemento de almacenamiento tiene dos estados estables, uno donde el nodo de la izquierda está en la tensión de alimentación y el nodo de la derecha está en tierra, y el otro en la condición opuesta. También hay un estado inestable, en el que cada nodo tiene un voltaje intermedio.
Para comprender mejor cómo surge el estado inestable, recupere la función de transferencia para un inversor. El gráfico de la función de transferencia muestra el voltaje de salida del inversor para un voltaje de entrada dado.
El inversor no es lineal; Una forma sencilla de obtener una solución aproximada de un circuito no lineal es trazar las características del circuito; Las intersecciones de las parcelas son las soluciones, o en otras palabras, los puntos donde se satisfacen las características eléctricas de todos los componentes del circuito. Normalmente esto se hace con tramas iv como en este ejemplo de diodo en Wikipedia . Sin embargo, para los inversores, lo haremos con trazados vv. Superposición de una segunda función de transferencia del inversor en el gráfico (con los ejes intercambiados, ya que el segundo inversor está al revés:
Hay tres intersecciones de los gráficos: uno en (0, Vs), uno en (Vs, 0) y uno en (Vs / 2, Vs / 2). El estado (Vs / 2, Vs / 2) es metaestable. Después de una pequeña perturbación de cualquiera de los nodos, el circuito casi siempre se asentará en uno de los estados estables en lugar de regresar a (Vs / 2, Vs / 2).
La forma de escribir un valor en el elemento de almacenamiento del inversor dual es forzar a uno de los nodos al valor deseado utilizando un controlador que sea más fuerte que los inversores. Una forma común de hacer esto es con un transistor de paso:
Si conecta la puerta del transistor de paso al reloj, tiene un pestillo D (estoy omitiendo la estructura de salida). Cuando el reloj está alto, habilitando el transistor de paso, el pestillo es transparente: la entrada pasa directamente a la salida. Cuando el reloj está bajo, el pestillo retiene el valor anterior. La metaestabilidad surge en el momento en que las muestras de retención. Si la entrada tiene un voltaje alto o bajo estable cuando el pestillo muestra, entonces funcionará correctamente. Sin embargo, si la entrada está alrededor del punto Vs / 2 cuando el latch muestrea, existe la posibilidad de que el latch termine en el estado metaestable (Vs / 2, Vs / 2). Una vez que está en el estado metaestable, puede permanecer allí indefinidamente (suponiendo que el pestillo no vuelva a cronometrarse), pero dado que es un equilibrio inestable, generalmente ocurre algo relativamente rápido para sacarlo del estado metaestable.
Cuándo preocuparse por la metaestabilidad
Si sus elementos de almacenamiento se están volviendo metaestables, entonces al menos está perdiendo parte del presupuesto de tiempo para la lógica descendente. La lógica no puede realizar la evaluación deseada hasta que se resuelva el estado metaestable. En el peor de los casos, el estado metaestable persiste o se propaga a través de la lógica, y los elementos de almacenamiento posteriores también se vuelven metaestables, o varios elementos de almacenamiento relacionados capturan valores inconsistentes.
La lógica síncrona correctamente diseñada y en funcionamiento no tiene problemas con la metaestabilidad. El período de reloj es más largo que el tiempo de evaluación para la lógica, todas las entradas de flip-flop son estables en el siguiente borde del reloj (requisito de configuración satisfecho), y todas cargan un valor válido.
Algunas de las situaciones comunes donde la metaestabilidad es una preocupación son:
- Muestreo lógico de una entrada externa, por ejemplo, un interruptor en el panel frontal o la salida de circuitos de monitor que pueden hacer la transición en cualquier momento (subtensión, sobretensión)
- Lógica utilizando múltiples relojes que no tienen una relación sincrónica. Esto a menudo surge con interfaces de E / S que tienen requisitos de reloj particulares, pero también ocurre internamente cuando diferentes partes de un chip tienen requisitos de rendimiento diferentes. Por ejemplo, no toda la lógica en su CPU de 3 GHz se ejecuta realmente a 3 GHz. (Sin embargo, una CPU no es un gran ejemplo, ya que muchos de los relojes de una CPU son múltiplos sincrónicos entre sí).