Articulo de referencia

Metaestabilidad (electrónica)

Figura 1. Ilustración de la metaestabilidad en un sincronizador , donde los datos se transmiten entre dominios de reloj. En el peor de los casos, dependiendo de la temporización...

Figura 1. Ilustración de la metaestabilidad en un sincronizador , donde los datos se transmiten entre dominios de reloj. En el peor de los casos, dependiendo de la temporización, la condición metaestable en D s puede propagarse a D out y, a través de la lógica subsiguiente, a otras partes del sistema, provocando un comportamiento indefinido e inconsistente.

La metaestabilidad es la capacidad de un sistema electrónico digital para persistir durante un tiempo ilimitado en un equilibrio inestable o estado metaestable . [ 1 ] En los circuitos lógicos digitales , una señal digital debe estar 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 causar un comportamiento defectuoso en las compuertas lógicas a las que se aplica la señal. En estados metaestables, el circuito puede ser incapaz de estabilizarse en un nivel lógico '0' o '1' estable dentro del tiempo requerido para el correcto funcionamiento del circuito. Como resultado, el circuito puede actuar de maneras impredecibles y puede conducir a una falla del sistema, a veces denominada "glitch". [ 2 ] La metaestabilidad es un ejemplo de la paradoja del asno de Buridán .

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 auto-sincronizados , los árbitros están diseñados para permitir que el sistema continúe solo después de que la metaestabilidad se haya resuelto, 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 se pueden evitar en sistemas totalmente síncronos cuando se cumplen los requisitos de tiempo de establecimiento y retención de entrada en los flip-flops.

Ejemplo

Figura 2. Ejemplo de pestillo NOR de ajuste y reinicio.

Un ejemplo sencillo de metaestabilidad se encuentra en un biestable SR NOR , donde las entradas Set y Reset son verdaderas (R=1 y S=1) y luego ambas pasan a ser falsas (R=0 y S=0) casi simultáneamente. Ambas salidas Q y Q se mantienen inicialmente en 0 debido a las entradas Set y Reset simultáneas. Después de que ambas entradas cambian a falsas, el biestable terminará (eventualmente) en uno de dos estados estables: uno con Q y Q verdaderas y otro con Q falsas. El estado final dependerá de cuál de R o S vuelva a cero primero, cronológicamente, pero si ambas pasan casi al mismo tiempo, la metaestabilidad resultante, con niveles de salida intermedios u oscilatorios, puede tardar arbitrariamente tiempo en resolverse a un estado estable.

Árbitros

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 las actividades computacionales de los recursos compartidos y evitar operaciones incorrectas concurrentes. Se emplean en las entradas de sistemas totalmente síncronos, y también entre dominios de reloj, como sincronizadores de señales de entrada. Si bien pueden minimizar la aparición de metaestabilidad a probabilidades muy bajas, todos los árbitros presentan estados metaestables, inevitables en los límites de las regiones del espacio de estados de entrada , lo que da lugar a diferentes salidas. [ 5 ]

Circuitos síncronos

Figura 3. Este registro de desplazamiento de 4 bits actúa como sincronizador. A medida que los datos de entrada no sincronizados (datos 0) pasan por cada etapa del flip-flop, la probabilidad de que permanezcan en estado metaestable disminuye drásticamente, ya que durante cada etapa se dispone de casi un ciclo de reloj completo para resolver la posible metaestabilidad de la etapa anterior.

Las técnicas de diseño de circuitos síncronos crean circuitos digitales resistentes a los modos de fallo que puede provocar la metaestabilidad. Un dominio de reloj se define como un grupo de biestables con un reloj común. Estas arquitecturas pueden formar un circuito libre de metaestabilidad garantizada (por debajo de una determinada frecuencia de reloj máxima, por encima de la cual se produce primero la metaestabilidad y luego el fallo total), suponiendo un reloj común con baja desviación . Sin embargo, incluso en ese caso, si el sistema depende de alguna entrada continua, es probable que esta sea vulnerable a estados metaestables. [ 6 ]

Los circuitos sincronizadores se utilizan para reducir la probabilidad de metaestabilidad al recibir una entrada asíncrona o al transferir señales entre diferentes dominios de reloj. Los sincronizadores pueden adoptar la forma de una cascada de biestables D (por ejemplo, el registro de desplazamiento de la Figura 3). [ 7 ] Si bien cada etapa de biestable añade un ciclo de reloj de latencia al flujo de datos de entrada, cada etapa ofrece la oportunidad de resolver la metaestabilidad. Dichos sincronizadores pueden diseñarse para reducir la metaestabilidad a un nivel tolerable.

Los disparadores Schmitt también pueden utilizarse para reducir la probabilidad de metaestabilidad, pero, como demostró el investigador Chaney en 1979, incluso los disparadores Schmitt pueden volverse metaestables. Argumentó además que no es posible eliminar por completo la posibilidad de metaestabilidad de las entradas no sincronizadas en un tiempo finito y que «existe una gran cantidad de evidencia teórica y experimental de que existe una región de comportamiento anómalo para cada dispositivo que tiene dos estados estables». Ante esta inevitabilidad, el hardware solo puede reducir la probabilidad de metaestabilidad, y los sistemas pueden intentar manejar con elegancia el evento metaestable ocasional. [ 8 ]

Modos de fallo

Aunque la metaestabilidad se comprende bien y se conocen técnicas arquitectónicas para controlarla, persiste como un modo de fallo en los equipos.

Los graves errores informáticos y de hardware digital causados ​​por la metaestabilidad tienen una fascinante historia social. Muchos ingenieros se han negado a creer que un dispositivo biestable pueda entrar en un estado que no sea ni verdadero ni falso y que tenga una probabilidad positiva de permanecer indefinido durante cualquier período de tiempo dado, aunque con una probabilidad que disminuye exponencialmente con el tiempo. [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] Sin embargo, la metaestabilidad es un resultado inevitable de cualquier intento de mapear un dominio continuo a uno discreto. En los límites del dominio continuo entre regiones que se mapean a diferentes salidas discretas, los puntos arbitrariamente cercanos entre sí en el dominio continuo se mapean a diferentes salidas, lo que hace que la decisión sobre qué salida seleccionar sea un proceso difícil y potencialmente largo. [ 14 ] Si las entradas a un árbitro o flip-flop llegan casi simultáneamente, lo más probable es que el circuito atraviese un punto de metaestabilidad. La metaestabilidad sigue siendo poco comprendida en algunos círculos, y varios ingenieros han propuesto sus propios circuitos para supuestamente resolverla o filtrarla; por lo general, estos circuitos simplemente trasladan la aparición de la metaestabilidad de un lugar a otro. [ 15 ] Los chips que utilizan múltiples fuentes de reloj a menudo se prueban con relojes de prueba que tienen relaciones de fase fijas, no con relojes independientes que se desfasan entre sí, como ocurrirá durante el funcionamiento. Esto generalmente evita explícitamente que el modo de falla metaestable que ocurrirá en el campo se vea o se reporte. Las pruebas adecuadas para la metaestabilidad a menudo emplean relojes de frecuencias ligeramente diferentes y aseguran el correcto funcionamiento del circuito.

Véase también

Referencias

  1. Thomas J. Chaney y Charles E. Molnar (abril de 1973). "Comportamiento anómalo de los circuitos sincronizadores y árbitros" (PDF) . IEEE Transactions on Computers . C-22 (4): 421–422 . doi : 10.1109/TC.1973.223730 . ISSN 0018-9340 . S2CID 12594672 .  
  2. Chaney, Thomas J. "Mi trabajo sobre todo lo metaestable O yo y mi fallo" (PDF) . Archivado del original (PDF) el 8 de diciembre de 2015. Consultado el 5 de noviembre de 2015 .
  3. John Bainbridge (2002). Interconexión asíncrona de sistemas en chip . Springer. pág. 18. ISBN  978-1-85233-598-4.
  4. Chaney, Thomas J. ""Reimpresión del Memorando Técnico n.º 10, "El fenómeno de los fallos técnicos" (1966)"" .Universidad de Washington en San Luis
  5. Richard F. Tinder (2009). Diseño y análisis de máquinas secuenciales asíncronas: un desarrollo integral del diseño y análisis de máquinas y sistemas de estados independientes del reloj . Morgan & Claypool Publishers. pág. 165. ISBN  978-1-59829-689-1.
  6. ^ Kleeman, L.; Cantoni, A. "Metastable Behavior in Digital Systems" diciembre de 1987 ". Diseño y prueba de computadoras IEEE . 4 (6): 4– 19. doi : 10.1109/MDT.1987.295189 . S2CID 1895434 . 
  7. APDahlen (19 de octubre de 2023). "Implementación de un sincronizador de límites de reloj en Verilog" . Foro de soluciones de ingeniería y componentes electrónicos de DigiKey . Archivado del original el 5 de diciembre de 2023. Consultado el 17 de febrero de 2024 .
  8. Chaney, Thomas (1979). "Comentarios sobre "Una nota sobre el mal funcionamiento del sincronizador o del enclavamiento"". IEEE Transactions on Computers . C-28 (10): 802– 804. doi : 10.1109/TC.1979.1675252 . ISSN 0018-9340 . 
  9. Harris, Sarah; Harris, David (2015). Diseño digital y arquitectura de computadoras: Edición ARM . Morgan Kaufmann. págs. 151–153 . ISBN  978-0128009116.
  10. Ginosar, Ran (2011). "Metastability and Synchronizers: A tutorial" (PDF) . VLSI Systems Research Center . Departamento de Ingeniería Eléctrica e Informática, Technion—Instituto Tecnológico de Israel, Haifa.págs. 4-6
  11. Xanthopoulos, Thucydides (2009). Sincronización en sistemas VLSI modernos . Springer Science and Business Media. pág. 196. ISBN  978-1441902610., págs. 196, 200, ec. 6-29
  12. "Introducción a la metaestabilidad" (PDF) . Nota de aplicación AN-219 . Phillips Semiconductor. 1989. Consultado el 20 de enero de 2017 .
  13. Arora, Mohit (2011). El arte de la arquitectura de hardware: métodos y técnicas de diseño para circuitos digitales . Springer Science and Business Media. ISBN 978-1461403975., pág. 4-5, ec. 1-1
  14. Leslie Lamport (febrero de 2012) [diciembre de 1984]. "El principio de Buridán" (PDF) . Consultado el 9 de julio de 2010 .
  15. Ran Ginosar. " Catorce maneras de engañar a tu sincronizador " ASYNC 2003.
  • Rendimiento de metaestabilidad de FIFOs sincronizadas
  • La bibliografía "asíncrona"
  • Lógica asíncrona
  • Interfaces eficientes con sincronización automática para el cruce de dominios de reloj
  • Dr. Howard Johnson: Inducción deliberada del estado metaestable
  • Explicaciones detalladas y diseños de sincronizadores.
  • Bibliografía sobre metaestabilidad
  • Cruce de dominios de reloj: Cerrando el círculo en problemas de implementación funcional en el dominio del reloj , Cadence Design Systems
  • Stephenson, Jennifer. Comprensión de la metaestabilidad en FPGAs . Documento técnico de Altera Corporation. Julio de 2009.
  • Bahukhandi, Ashirwad. Metaestabilidad. Apuntes de clase para diseño lógico avanzado y teoría de conmutación. Enero de 2002.
  • Cummings, Clifford E. Técnicas de síntesis y programación para el diseño de relojes multiasíncronos . SNUG 2001.
  • Haseloff, Eilhard. Respuesta metaestable en circuitos lógicos de 5 V. Informe de Texas Instruments. Febrero de 1997.
  • Nystrom, Mika y Alain J. Martin. Cruzando la brecha síncrona-asíncrona . WCED 2002.
  • Patil, Girish, División IFV, Cadence Design Systems. Problemas de sincronización de relojes y técnicas de verificación estática. Conferencia Técnica de Cadence 2004.
  • Smith, Michael John Sebastian. Circuitos integrados de aplicación específica. Addison Wesley Longman, 1997, Capítulo 6.4.1.
  • Stein, Mike. Cruzando el abismo: señales asíncronas en un mundo síncrono . Artículo de diseño de EDN. 24 de julio de 2003.
  • Cox, Jerome R. y Engel, George L., Libro Blanco de Blendics, Inc."Metaestabilidad y errores fatales del sistema"] Noviembre de 2010
  • Adam Taylor, "Comprendiendo la metaestabilidad" , EE Times, 2013-11-20