Configure e mantenha o tempo de saída quando violado


9

Considere um flip-flop D ativado por borda positiva com sinal de entrada X com um tempo de configuração de 20 ns e um tempo de espera de 0 ns. Qual será a saída?

C é um sinal de relógio com um período de 40 ns.

Digite a descrição da imagem aqui

Durante a sexta margem positiva, vemos que os dados (ou X) não são estáveis ​​por 20 ns (tempo de configuração) antes de passar de 1 a 0. Portanto, a saída não é previsível, certo?

Quando perguntei isso ao meu professor, ele disse que a saída do flip-flop seria o valor da entrada (X) antes de 20 ns, que é 1 aqui.

Ele está correto?

Respostas:


17

Se o tempo de configuração do flip-flop for 20 ns, isso significa que os dados devem ser estáveis ​​pelo menos 20ns antes da captura do limite do relógio. Da mesma forma, o tempo de espera é a quantidade de tempo que os dados precisam permanecer estáveis ​​após o aparecimento do limite do relógio. Então, juntos, eles definem uma "janela de configuração de espera", na qual os dados devem permanecer estáveis.

insira a descrição da imagem aqui Se os dados forem alterados / alternados nessa janela, a saída será imprevisível ou metaestável.

Na sua pergunta, os dados alternam dentro da janela de configuração anterior à 6ª borda do relógio, significa que a saída é imprevisível.


Talvez você possa corrigir seu professor amanhã.
Mitu Raj

8
E vale ressaltar que, dependendo dos atrasos internos, os tempos de espera podem ser negativos. Ou seja, para alguns ICs, você pode realmente liberar os dados antes que a borda do relógio chegue. Mas resta uma janela na qual os dados devem ser estáveis.
WhatRoughBeast

11
Correção menor: Nos processos modernos, a verdadeira metaestabilidade ocorre apenas em uma janela da ordem dos femtossegundos. A grande maioria dos casos em que a instalação / retenção é violada, você não verá metaestabilidade. O resultado nesses casos será realmente determinístico, mas altamente dependente da temperatura, além das entradas. Ainda não concordo com o professor e concordo com você que o resultado é imprevisível para todos os efeitos, mas a metaestabilidade não é o problema (e na verdade raramente é o problema).
Jalalipop

7

Seu professor precisa reduzir as ervas.

Como os dados estão mudando dentro do tempo de configuração e como o tempo de configuração é um período mínimo antes do relógio em que os dados precisam ser estáveis, é impossível saber se a saída será zero ou uma. De fato, ele pode até entrar em um estado metaestável e oscilar.


5

Se os dados estiverem estáveis ​​entre os tempos de configuração e espera, o fabricante da trava D garantirá que a saída da trava D será previsível, como diz na folha de dados.

Se os dados mudarem durante a configuração para manter a janela, é provável que a saída seja um 0 ou 1 sólido, mas o fabricante não faz nenhuma afirmação sobre qual.

É provável que seja um 0 ou 1 sólido, não é garantido. A saída pode ficar metaestável. Isso significa que pode haver um tempo extra finito e imprevisível, além do atraso normal de propagação mencionado na folha de dados, para o qual dois portões acionados por essa saída podem tomar decisões diferentes sobre se é 0 ou 1. Isso é uma coisa ruim.


4

Se a entrada atender aos requisitos de configuração e tempo de espera, a saída será essencialmente "garantida" para refletir a entrada; se violar o tempo de configuração, o comportamento não será mais garantido ou totalmente previsível, como você diz.

Seu professor pode estar "meio que provavelmente" certo no sentido de que ele pode estar expressando o que o sinal de saída provavelmente acabará sendo, especialmente se ele estiver interpretando o tempo de configuração como uma descrição determinística do comportamento do flip-flop, em vez de um requisito mínimo com variação possível de um conjunto de condições para o próximo. Mas sua interpretação e instintos estão realmente no alvo. Os tempos de configuração e espera são geralmente usados ​​para expressar valores mín. / Máx. Para os quais o comportamento pode ser previsto com precisão nas variações de processo / tensão / temperatura e, sempre que a entrada os violar, a saída não pode ser prevista com confiabilidade .

Se o flip-flop geralmente tem até 20ns de atraso da entrada para onde a borda do relógio entra em vigor, é mais provável que a saída acabe sendo o que a entrada estava "em torno" (até) 20ns antes da borda do relógio, como seu professor sugere. Mas a única coisa especificada para o dispositivo é que, se os tempos de configuração e espera forem atendidos, a saída seguirá a entrada.

Então, eu acho que em outras palavras, vocês dois podem ter razão, mas sua interpretação é 100% certa, enquanto a resposta do professor é apenas "provavelmente" certa, e o grau em que a resposta dele será correta é - como você diz - imprevisível.

(E, é claro, em um sentido prático - e não acadêmico -, você usaria essa resposta apenas em um design em que fosse aceitável que a saída nesse ciclo de clock fosse "provavelmente 1" sem qualquer especificação de qual era a probabilidade ou onde não houve consequências reais para que o flip-flop entre em um estado metaestável "por um tempo". Esses aplicativos tendem a ser mais raros.)


3

A saída será desconhecida e um simulador refletirá isso configurando o valor da saída para 'X'.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.