La metaestabilidad no puede ser 'curada', pero si espera lo suficiente , la probabilidad de que ocurra puede hacerse arbitrariamente pequeña. Una vez que lo haya reducido a una vez en la era del universo, es probable que no le cause problemas.
Es como balancear un lápiz sobre su punta. Es probable que se caiga, y cuanto más espere, menos probable es que permanezca de pie.
Hay dos problemas con esperar mucho tiempo, y uno de ellos es fundamental.
El problema fundamental es que si tiene un único elemento de memoria (cierre 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 puede definir un límite inferior para el tiempo de espera , a veces la señal externa hará una transición cerca del borde de control de enclavamiento. Tienes que canalizar la señal a otro flip-flop para que espere allí. Esto le brinda un tiempo de espera mínimo garantizado de un ciclo de reloj.
El segundo problema es que a menudo estás tratando de ejecutar un sistema lo más rápido posible, y la velocidad del reloj del sistema no puede reducirse para dar suficiente tiempo en el segundo flip-flop. La única forma de aumentar la latencia de la señal a lo que es necesario, sin disminuir el rendimiento, es canalizar la espera a más etapas.
Algunas personas tienen problemas para visualizar lo que sucede entre las chanclas. Hay dos formas de inducir la metaestabilidad, y ambas implican violar las reglas del flip-flop. Una forma es violar la configuración de entrada y los tiempos de espera, para hacer una transición cuando el flip-flop espera que la entrada sea estable. El otro es violar los niveles lógicos de entrada, hacer que la entrada de datos del flip-flop se asiente en un nivel de voltaje intermedio. Un flip-flop que sea metaestable puede producir cualquier tipo de violación en su salida, para pasar al siguiente flip-flop.