Metaestabilidade (eletrônica) - Metastability (electronics)
A metaestabilidade na eletrônica é a capacidade de um sistema eletrônico digital de persistir por um tempo ilimitado em um equilíbrio instável ou estado metaestável . Em circuitos lógicos digitais, um sinal digital deve estar dentro de certos limites de tensão ou corrente para representar um nível lógico '0' ou '1' para a operação correta do circuito; se o sinal estiver dentro de uma faixa intermediária proibida, isso pode causar um comportamento defeituoso nas portas lógicas às quais o sinal é aplicado. Em estados metaestáveis, o circuito pode ser incapaz de se estabelecer em um nível lógico estável '0' ou '1' dentro do tempo necessário para a operação adequada do circuito. Como resultado, o circuito pode agir de maneiras imprevisíveis e pode levar a uma falha do sistema, às vezes chamada de "falha". A metaestabilidade é um exemplo do paradoxo do asno de Buridan .
Os estados metaestáveis são recursos inerentes aos sistemas digitais assíncronos e aos sistemas com mais de um domínio de relógio independente . Em sistemas assíncronos autotemporizados, os árbitros são projetados para permitir que o sistema prossiga somente depois que a metaestabilidade for resolvida, portanto, a metaestabilidade é uma condição normal, não uma condição de erro. Em sistemas síncronos com entradas assíncronas, os sincronizadores são projetados para tornar a probabilidade de uma falha de sincronização aceitavelmente pequena. Os estados metaestáveis são evitáveis em sistemas totalmente síncronos quando os requisitos de configuração de entrada e tempo de espera nos flip-flops são satisfeitos.
Exemplo
Um exemplo simples de metaestabilidade pode ser encontrado em um latch SR NOR , quando ambas as entradas Set e Reset são verdadeiras (R = 1 e S = 1) e, em seguida, ambas transitam para falso (R = 0 e S = 0) mais ou menos no mesmo Tempo. Ambas as saídas Q e Q são inicialmente mantidas em 0 pelas entradas simultâneas Set e Reset. Depois que as entradas Set e Reset mudam para falso, o flip-flop (eventualmente) terminará em um dos dois estados estáveis, um de Q e Q verdadeiro e o outro falso. O estado final dependerá de qual de R ou S retorna a zero primeiro, cronologicamente, mas se ambos fizerem a transição quase ao mesmo tempo, a metaestabilidade resultante, com níveis de saída intermediários ou oscilatórios, pode demorar arbitrariamente para resolver para um estado estável.
Árbitros
Na eletrônica, um árbitro é um circuito projetado para determinar qual dos vários sinais chega primeiro. Os árbitros são usados em circuitos assíncronos para ordenar atividades computacionais para recursos compartilhados para evitar operações incorretas simultâneas. Os árbitros são usados nas entradas de sistemas totalmente síncronos e também entre domínios de relógio, como sincronizadores de sinais de entrada. Embora possam minimizar a ocorrência de metaestabilidade para probabilidades muito baixas, todos os árbitros, no entanto, têm estados metaestáveis, que são inevitáveis nos limites das regiões do espaço de estados de entrada , resultando em diferentes saídas.
Circuitos síncronos
As técnicas de projeto de circuito síncrono tornam os circuitos digitais resistentes aos modos de falha que podem ser causados pela metaestabilidade. Um domínio de relógio é definido como um grupo de flip-flops com um relógio comum. Essas arquiteturas podem formar um circuito garantidamente livre de metaestabilidade (abaixo de uma certa frequência de clock máxima, acima da qual ocorre primeiro a metaestabilidade e, em seguida, a falha total), assumindo um clock comum de baixa distorção . No entanto, mesmo assim, se o sistema depender de qualquer entrada contínua, é provável que ela seja vulnerável a estados metaestáveis.
Quando técnicas de projeto síncrono são usadas, a proteção contra eventos metaestáveis que causam falhas de sistema só precisa ser fornecida durante a transferência de dados entre domínios de relógio diferentes ou de uma região não sincronizada para o sistema síncrono. Essa proteção pode frequentemente assumir a forma de uma série de flip-flops de atraso que atrasam o fluxo de dados por tempo suficiente para que as falhas de metaestabilidade ocorram em uma taxa insignificante.
Modos de falha
Embora a metaestabilidade seja bem compreendida e as técnicas arquitetônicas para controlá-la sejam conhecidas, ela persiste como um modo de falha no equipamento.
Bugs graves de computador e hardware digital causados por metaestabilidade têm uma história social fascinante. Muitos engenheiros se recusaram a acreditar que um dispositivo biestável pode entrar em um estado que não é verdadeiro nem falso e tem uma probabilidade positiva de que permanecerá indefinido por um determinado período de tempo, embora com probabilidade exponencialmente decrescente ao longo do tempo. No entanto, a metaestabilidade é um resultado inevitável de qualquer tentativa de mapear um domínio contínuo para um discreto. Nas fronteiras no domínio contínuo entre regiões que mapeiam para diferentes saídas discretas, os pontos arbitrariamente próximos no domínio contínuo mapeiam para diferentes saídas, tomando uma decisão sobre qual saída selecionar em um processo difícil e potencialmente longo. Se as entradas para um árbitro ou flip-flop chegam quase simultaneamente, o circuito provavelmente atravessará um ponto de metaestabilidade. A metaestabilidade continua mal compreendida em alguns círculos, e vários engenheiros propuseram seus próprios circuitos para resolver ou filtrar a metaestabilidade; normalmente, esses circuitos simplesmente mudam a ocorrência de metaestabilidade de um lugar para outro. Os chips que usam várias fontes de relógio são frequentemente testados com relógios de teste que têm relações de fase fixas, não os relógios independentes que passam um do outro que serão experimentados durante a operação. Isso geralmente evita explicitamente que o modo de falha metaestável que ocorrerá no campo seja visto ou relatado. O teste adequado de metaestabilidade frequentemente emprega relógios de frequências ligeiramente diferentes e garantem a operação correta do circuito.
Veja também
Referências
links externos
- Desempenho de metaestabilidade de FIFOs sincronizados
- A Bibliografia 'Assíncrona'
- Lógica Assíncrona
- Interfaces de cronometragem automática eficientes para cruzar domínios de relógio
- Dr. Howard Johnson: Induzindo deliberadamente o estado metaestável
- Explicações detalhadas e designs de sincronizador
- Bibliografia de metaestabilidade
- Cruzamento de Domínio de Clock: Fechando o Loop em Problemas de Implementação Funcional de Domínio de Clock , Sistemas de Projeto de Cadência
- Stephenson, Jennifer. Noções básicas sobre metaestabilidade em FPGAs . Documento técnico da Altera Corporation. Julho de 2009.
- Bahukhandi, Ashirwad. Metaestabilidade. Notas de aula sobre design lógico avançado e teoria de comutação. Janeiro de 2002.
- Cummings, Clifford E. Synthesis and Scripting Techniques for Designing Multi-Asynchronous Clock Designs . SNUG 2001.
- Haseloff, Eilhard. Response Metastable em 5-V Circuitos Lógicos . Relatório da Texas Instruments. Fevereiro de 1997.
- Nystrom, Mika e Alain J. Martin. Cruzando a divisão assíncrona síncrona . WCED 2002.
- Patil, Girish, Divisão IFV, Cadence Design Systems. Problemas de sincronização do relógio e técnicas de verificação estática. Cadence Technical Conference 2004.
- Smith, Michael John Sebastian. Circuitos integrados de aplicações específicas. Addison Wesley Longman, 1997, Capítulo 6.4.1.
- Stein, Mike. Cruzando o abismo: sinais assíncronos em um recurso de design EDN de mundo síncrono . 24 de julho de 2003.
- Cox, Jerome R. e Engel, George L., Blendics, Inc. White Paper [1] "Metastability and Fatal System Errors"] Novembro de 2010
- Adam Taylor, "Wrapping One's Brain Around Metastability" , EE Times, 2013-11-20