Flip-Flops D/T/J-K/S-R
Biblioteca: | Memória |
Introdução: | 2.0 Beta 1 |
Aparência: |
Comportamento
Cada flip-flop armazena um único bit como dado, o qual será emitido através da saída Q na face leste. Normalmente, o valor poderá ser controlado pelas entradas do lado oeste. Em particuar, o valor irá mudar quando houver variação da entrada de clock, marcada por um triângulo em cada flip-flop, quando essa passar de 0 para 1 (ou o contrário se assim configurado); ao ocorrer, portanto, uma borda de subida, o valor mudará de acordo com a tabela abaixo.
Flip-Flop D | Flip-Flop T | Flip-Flop J-K | Flip-Flop S-R | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
Outra maneira de descrever os diferentes comportamentos dos flip-flops está no texto original em inglês.
Flip-Flop D: Quando houver variação do clock, o valor guardado no flip-flop será o valor na entrada D (Data) naquele instante.
Flip-Flop T: Quando houver variação do clock, o valor guardado no flip-flop será alternado ou mantido dependendo se o valor na entrada T (Toggle) for 1 ou 0.
Flip-Flop J-K: Quando houver variação do clock, o valor guardado no flip-flop será alternado se as entradas J e K forem ambas iguais a 1 e será mantido se ambas forem iguais a zero; se forem diferentes, então o valor se tornará 1 se a entrada J (Jump) for 1 e será 0 se a entrada K (Kill) for 1.
Flip-Flop S-R: Quando houver variação do clock, o valor guardado no flip-flop será mantido se R e S forem ambos iguais a 0; irá mudar para 0, se a entrada R (Reset) for 1, e se tornará 1 se a entrada S (Set) for 1. O comportamento não será especificado se as duas entradas forem forem iguais a 1. (No Logisim, o valor anterior do flip-flop será mantido.)
Por padrão, o clock irá variar na borda de subida — ou seja, quando a entrada de clock variar de 0 para 1. Contudo, o atributo Gatilho permitirá que essa mudança ocorra na borda de descida (quando a entrada de clock variar de 1 para 0), ou em nível baixo (enquanto a entrada de clock permanecer em 0). As opções de disparo dependentes do nível não estão disponíveis para os flip-flops T e J-K, porque esses se comportam de forma imprevisível quando forçados a alternar por tempo indeterminado.
Pinos
- Na face oeste, marcado por um triângulo (entrada, com largura de 1 bit)
- clock: no instante em que o valor dessa entrada variar de 0 para 1 (borda de subida), haverá atualização de acordo com as entradas na face oeste. Enquanto se mantiver em 0 ou 1, essas entradas não terão efeito.
- Na face oeste, outros pino(s) rotulados (entrada(s), com largura de 1 bit)
- Essas entradas controlarão como o valor do flip-flop irá mudar durante a subida de borda do clock. O comportamento exato dependerá do tipo de flip-flop; a tabela acima resume esses comportamentos.
- Na face leste, marcado por Q, extremo norte (saída, com largura de 1 bit)
- Emitirá o valor corrente armazenado pelo flip-flop.
- Na face leste, extremo sul end (saída, com largura de 1 bit)
- Emitirá o complemento do valor corrente armazenado pelo flip-flop.
- Na face sul, extremo leste (entrada, com largura de 1 bit)
- reset assíncrono: se for igual a 0 ou indefinido, essa entrada não terá efeito algum. Enquanto se mantiver em 1, o valor do flip-flop ficará fixo em 0. Isso ocorrerá assincronamente - ou seja, sem depender do valor corrente da entrada de clock. Enquanto se mantiver em 1, as outras entradas não terão efeito algum.
- Na face sul, posição central (entrada, com largura de 1 bit)
- enable: se for igual a 0, o disparo do clock será ignorado. O valor corrente continuará a aparecer na saída. Os gatilhos do clock estarão habilitados quando essa entrada for 1 ou indefinida.
- Na face sul, extremo oeste (entrada, com largura de 1 bit)
- set assíncrono: se for igual a 1 ou indefinido, essa entrada não terá efeito algum. Enquanto se mantiver em 1, o valor do flip-flop ficará fixo em 1. Enquanto se mantiver em 1, as outras entradas não terão efeito algum, exceção feita para a entrada reset, que tem prioridade.
Atributos
- Gatilho
- Serve para configurar como a entrada de clock deverá ser interpretada.
O valor
borda de subida
indicará que a atualização do flip-flop deverá ocorrer no instante em que o clock variar de 0 para 1. O valorborda de descida
indicará que a atualização deverá ocorrer no instante em que o clock variar de 1 para 0. O valornível alto
indicará que a atualização deverá ocorrer continuamente enquanto o clock se mantiver em 1. E o valornível alto
indicará que o valor deverá ser atualizado continuamente enquanto a entrada de clock se mantiver em 0. Observar que as duas últimas opções não estão disponíveis para os flip-flops T e J-K. - Rótulo
- O texto para o rótulo associado ao flip-flop.
- Fonte do Rótulo
- A fonte com a qual o rótulo será mostrado.
Comportamento da ferramenta Testar
Ao cliclar sobre um flip-flop usando a ferramenta Testar isso irá alternar o bit nele armazenado, a menos que as entradas assíncronas set/reset tenham fixado o valor corrente do flip-flop.
Comportamento da ferramenta Texto
Permite que o rótulo associado à porta seja editado.