Metaestabilidade (eletrônica) - Metastability (electronics)

Uma ilustração de metaestabilidade em um sincronizador, onde os dados cruzam entre os domínios do relógio. No pior caso, dependendo do tempo, a condição metaestável em Ds pode se propagar para Dout e por meio da seguinte lógica em mais do sistema, causando comportamento indefinido e inconsistente.

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

O exemplo Set – Reset NOR latch

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

Sincronizadores são usados ​​ao transferir sinais entre domínios de relógio. Um design de sincronizador simples envolve simplesmente atrasar o sinal de entrada (data0) de um domínio de relógio diferente usando flip-flops sensíveis a borda múltiplos que são cronometrados localmente (clock0)

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