Alguém pode explicar o seguinte circuito de flip-flop?


8

insira a descrição da imagem aqui

Estou tendo problemas para entender o que está acontecendo neste circuito. A pergunta pergunta "qual é o valor de Q se e " (como mostrado).R¯=1S¯=0

insira a descrição da imagem aqui

Nesse caso, como posso determinar como é o Q? Sei que essa pergunta pode exigir conhecimento da pergunta acima, e foi por isso que a perguntei primeiro. Qualquer informação sobre para onde ir seria ótima.



2
Remova "simples" da pergunta, pois é degradante para as pessoas que não a entendem.

1
Olhe para a tabela verdade dos portões NAND e considere as entradas que você tem.
starblue

Respostas:


4

Concordo com o OP no sentido de que a parte crítica da função de uma trava D está na trava SR, portanto, focarei nessa parte apenas no momento.

Como estamos lidando com NANDs aqui, derivaria a função SR-latch ou a tabela de verdade da de um NAND com as entradas A e B e a saída Z:

ABZ001011101110

Olhando para o seu esquema de trava SR, nomeando o NAND superior (acionado por S ') "T" e o NAND inferior (acionado por R') "U", temos os seguintes relacionamentos:

Trava SR

AT=S¯,BT=Q¯,AU=R¯,BU=Q

A partir disso, podemos começar a desenhar uma tabela de verdade para a trava SR, da qual sabemos apenas as entradas neste momento:

AT=S¯AU=R¯BU=Q=ZTBT=Q¯=ZU00011011

Olhando para a NAND na tabela verdade, percebemos que, se alguma das entradas A ou B é 0, a saída Z é 1. A partir disso, podemos começar a preencher os valores ausentes em nossa tabela verdade de trava SR:

AT=S¯AU=R¯BU=Q=ZTBT=Q¯=ZU001101110111

Agora, olhando para a tabela de verdade NAND novamente e percebendo que sua saída Z é 0 se A e B forem 1, continuamos preenchendo os valores ausentes:

AT=S¯AU=R¯BU=Q=ZTBT=Q¯=ZU00110110100111

Parece que obtivemos todas as entradas, exceto a para quando S 'e R' são 1, porque esse estado depende apenas dos valores Q e Q 'anteriores . É assim que a trava mantém seu valor, pois, para esse estado, as entradas das NANDs parecem

AT=S¯=1,BT=Q¯AU=R¯=1,BU=Q

Daí resulta que as saídas dessas travas são

ZT=!Q¯=QZU=!Q=Q¯

Rotulando esses valores "anteriores" de Q e Q 'como Qp e Qp', temos a tabela final verdadeira para nossa trava SR:

AT=S¯AU=R¯BU=Q=ZTBT=Q¯=ZU00110110100111QpQp¯

Se você preferir observar algumas formas de onda dessa trava SR construída a partir de portas NAND, o seguinte pode ajudar:

Tempo de trava SR

Os valores para Q e Q 'neste diagrama podem ser derivados da observação da tabela verdade da trava SR:

  • uma. S 'fica baixo, fazendo com que Q suba e Q' caia.
  • b. S 'sobe, Q e Q' mantêm seus valores atuais.
  • c. R 'cai, fazendo Q ficar baixo e Q' ficar alto.
  • d. R 'sobe, Q e Q' mantêm seus valores atuais.
  • e Ambos R 'e S' caem ao mesmo tempo, fazendo com que Q e Q 'subam alto.
  • f. S '"libera" (aumenta) primeiro, deixando a trava SR no mesmo estado em que estava após c: Q diminui e Q' permanece alto.
  • g. R 'sobe, Q e Q' mantêm seus valores atuais.
  • h. Ambos R 'e S' caem ao mesmo tempo, fazendo com que Q e Q 'subam alto.
  • Eu. R '"libera" (aumenta) primeiro, o que é equivalente ao estado a: Q aumenta e Q' diminui.
  • j. S 'lançamentos. Q e Q 'mantêm seus valores atuais.

Para o OP: se isso não estiver claro ou se você quiser mais detalhes (como mais esquemas dos diferentes estados), informe-me em um comentário - verei o que posso fazer.


5

Na sua primeira foto, considere o portão NAND superior. Sabemos que uma porta NAND é tal que, se qualquer entrada for 0, a saída deve ser 1 (a única maneira de a saída de uma porta NAND ser 0, é se as duas entradas forem 1). Assim, desde ~ S = 0, então Q = 1, independentemente da segunda entrada para a porta NAND superior.

Como agora você conhece as duas entradas para o segundo portão NAND, é fácil deduzir que ~ Q = 0 (as duas entradas são 1, portanto a saída do portão NAND é 0)

~S = 0
~R = 1
 Q = 1
~Q = 0

O ponto principal do circuito é que, se você agora definir ~ S = 1, as saídas não serão alteradas, porque a segunda entrada para a porta NAND superior é 0 de antes (as duas entradas devem ser altas para que a saída NAND mude para 0 ) Então agora você tem:

~S = 1  
~R = 1  
 Q = 1  
~Q = 0 

Considere o seguinte: E se suas condições iniciais fossem alteradas, ou seja, ~ R = 0 e ~ S = 1? Fazendo exatamente o mesmo raciocínio de antes (exceto que agora começamos com o portão NAND inferior), descobrimos que Q = 0 e ~ Q = 1

~S = 1  
~R = 0  
 Q = 0  
~Q = 1  

Agora a mágica acontece: definimos ~ R = 1. O que acontece? Pode ajudar a desenhá-lo, mas basicamente, os resultados não serão alterados devido ao mesmo argumento que tínhamos antes; a outra entrada para a porta NAND já é 0 e precisamos que ambas sejam 1 para alterar a saída (~ Q) para 0. (Há uma dica de que isso aconteceria, pois o circuito é perfeitamente simétrico)

~S = 1  
~R = 1  
 Q = 0  
~Q = 1  

As entradas são as mesmas de antes, mas as saídas são diferentes! - eles se lembram do estado anterior.

Em geral, você nunca usará o caso quando ~ S = 0 e ~ R = 0, porque então Q = 1 e ~ Q = 1, o que provavelmente quebrará a lógica que depende do circuito. Esse é o ponto dos dois portões extras em sua segunda foto; eles protegem o flip flop SR para que essa entrada em particular nunca aconteça.

(Pense em S como "definido" e R como "redefinido" - quando ambos estão baixos, o flip-flop lembra o estado anterior. Quando S está alto, você "define" a saída (Q) para 1; quando R está alto, você "(re) define" a saída como 0. Se você tentar definir a saída como 0 e 1 simultaneamente, obviamente algo de errado acontecerá; portanto, é necessário garantir que isso não aconteça.)

Na sua segunda imagem, considere o sinal "D": ele entra diretamente no primeiro portão NAND e uma versão invertida entra no segundo. Agora, se D for alto, o segundo NAND sempre produzirá 1, de modo que ~ R = 1. Por outro lado, se D for baixo, a saída do primeiro NAND será sempre 1, de modo que ~ S = 1. Dessa forma, garantimos que nosso cenário assustador com o flip flop SR nunca acontecerá, certo?

Agora considere o sinal G. Se G = 0, então ~ S = 1 e ~ R = 1; portanto, este é o estado "lembrando", no qual a saída permanece a mesma. No entanto, se G = 1, então ~ S ou ~ R será baixo, certo? O que dependerá do valor de D.

Em resumo, quando G é 1, então Q = D, e quando G é 0, Q = Qold


4

O primeiro circuito é um "flip-flop" ou "trava" padrão. Aqui está uma tabela verdade: - O interessante é a última linha , com existem dois estados estáveis ​​para a saída, e . Isso significa que ele pode essencialmente "lembrar" qual das entradas e foi vista pela última vez em .

S¯R¯QQ¯00111001011011??
S¯=R¯=1Q=0,Q¯=1Q=1,Q¯=0S¯R¯0

Agora vamos ver a primeira metade do segundo circuito. Enquanto emite e assim o flip-flop permanece inalterado em qualquer estado estável que tenha sido mantido pela última vez. Mas quando o valor de irá definir o estado do flip-flop, e pela combinação de ambas as tabelas, podemos ver ele define .

DGS¯R¯0011101101101101
G=0S¯=R¯=1G=1DQ=D

Você pode, por favor, explicar as tabelas da verdade? Eu não entendo por que eles têm esses valores, é aqui que estou confuso.
Bob John

Basicamente, essas tabelas de verdade são assim porque qualquer outro resultado evoluirá para esse resultado, porque esse é o único resultado estável . Imagine o que acontecerá com qualquer outro resultado. Isso afetará os portões da maneira que você obterá esse resultado no final.

0

nand-gate for determinado será 1 se uma de suas entradas for 0.

então Q seria 1 e passaria esse 1 para o lado inferior do portão.

então duas entradas do nand-gate são 1, então Q-bar é 0

você pode verificar se a barra Q afeta alguma entrada.


0

O importante a ser percebido é que, na lógica do CMOS, a saída é sempre definida e direcionada para zero ou um, qualquer coisa no meio é um estado transitório. Defina as duas saídas (Q e Q ') para qualquer um dos quatro estados "possíveis", avance discretamente e programe os zeros e zeros pelo sistema e veja onde as coisas se acalmam. Lembre-se de que uma porta NAND apresentada com zero em uma de suas entradas sempre gera uma, e uma porta NAND apresentada com uma em uma de suas entradas atua como um inversor aplicado à outra entrada.


0

aqui está a forma de onda de Q

Sempre que a barra S e a barra Q são 1. então o presente Q não mudou, quero dizer Q (t) = Q (t + 1). Quando S (bar) = 0, então Q = 1 e quando R (bar) = 0, então Q = 0

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.