You are on page 1of 24

Flip-Flops – Latches NAND e NOR

1.Introdução

Os circuitos lógicos estudados até agora são considerados combinacionais,


porque os níveis lógicos de saída, em qualquer instante de tempo, dependem
apenas dos presentes nas entradas nos mesmos instantes, ou seja, estes circuitos
não possuem memória. Mas a maioria dos circuitos em sistemas digitais são
constituídos de circuitos combinacionais e elementos de memória.
O elemento de memória mais importante é o Flip-Flop (FF) (também
conhecido como latch ou multivibrador biestável), composto por um conjunto de
portas lógicas. Embora uma única porta lógica não tenha capacidade de
armazenamento, algumas podem ser conectadas entre si, utilizando a
realimentação de determinadas saídas à determinadas entradas dessas portas
lógicas, de modo a permitir o armazenamento da informação. Estes detalhes serão
vistos nesta aula.

2. Flip-Flops

A Figura 1 mostra um tipo genérico usado para representar um flip-flop. Esse


símbolo apresenta duas saídas, denominadas Q (saída normal) e 𝑄 (saída invertida),
opostas entre si. Assim, sempre que mencionarmos o estado de um FF, estaremos
nos referindo à saída normal. Por exemplo, se dissermos que o FF está no estado
ALTO (1), estamos dizendo que Q=1, ou estado SET (o FF foi setado).
Caso o FF esteja em nível BAIXO (Q=0), este foi resetado ou limpo (estado
CLEAR ou RESET). Estas informações estão ilustradas na Figura 1(b).

Figura 1 (a) símbolo de um Flip-Flop e (b) definição dos seus dois estados de saída possíveis

Veremos que a maioria das entradas dos FF precisam apenas de um pulso de


controle (ou Clock) para provocar a mudança de estado na saída.
2.1. Latch com Portas NAND

É o circuito mais simples de um FF. É constituído de duas portas NAND,


interligadas de modo cruzada, de modo que a saída na NAND 1 é conectada a uma
das entradas da NAND 2 e vice-versa. A Figura 2 ilustra esse latch. Esta configuração
permite produzir a função de memória. Em condições normais, Q e 𝑄 sempre serão
o inverso da outra. A entrada SET seta Q para o estado 1, enquanto a entrada RESET
(ou CLEAR) reseta Q para o estado 0. Estas entradas, em repouso, estão no estado
ALTO (1), e umas delas é pulsada em nível BAIXO (0) sempre que se desejar alterar
as saídas do latch.

Figura 2 – Latch NAND quando SET = CLEAR = 1

O funcionamento desse FF é resumido da seguinte forma:

(a) SET = CLEAR = 1: Estado de repouso. Neste caso, teremos dois estados
de saída igualmente possíveis (Q=1 ou Q=0), conforme ilustrado na Figura 2(a) e (b).
(b) SET = 0, CLEAR = 1: Faz a saída ir para o estado ALTO (Q=1) ou seta Q
para 1.
(c) SET = 1; CLEAR = 0: Faz a saída ir para o estado BAIXO (Q=0) ou reseta
Q para 0;
(d) SET=CLEAR=0: Esta condição tenta ao mesmo tempo SETAR e RESETAR
o latch e não deve ser usada.

No caso (b), a entrada SET é momentaneamente pulsada em nível BAIXO no


instante t0, enquanto RESET permanece em nível ALTO, conforme mostra a Figura 3.
Na parte (a) da Figura 3, este pulso ocorre quando Q era igual 0, enquanto na parte
(b), o pulso ocorre quando Q era igual a 1. Note que, em ambos os casos, a saída Q
é setada para o nível ALTO (1) no instante t1. Na Figura 3(a), SET é pulsada em 0, e a
entrada da NAND 1 fica 0 e 0, fazendo com que a sua saída Q mude de 0 para 1.
Neste instante, ocorre também alteração na entrada da porta NAND 2, que agora
passa a ser 1 e 1, resultando em 𝑄 = 0. Raciocínio semelhante é realizado na Figura
3(b), e o resultado na saída é o mesmo. Essa é a operação de setar o latch ou FF.

2
Figura 3 – Pulsando a entrada SET para zero quando (a) Q = 0; e (b) Q = 1 antes do pulso na
entrada SET.

No caso (c), a entrada CLEAR é momentaneamente pulsada em nível BAIXO


no instante t0, enquanto SET permanece em nível ALTO, conforme mostra a Figura 4
(a) e (b). Note que, em ambos os casos, a saída Q é resetada para o nível BAIXO (0)
no instante t1. O raciocínio é semelhante ao caso (b) descrito anteriormente. Essa é
a operação de limpar ou resetar o latch.

Figura 4 - Pulsando a entrada CLEAR para zero quando (a) Q = 0; e (b) Q = 1 antes do pulso
na entrada CLEAR.

Finalmente, no caso (d) as entradas SET e RESET pulsadas simultaneamente


para nível BAIXO, geraria nível ALTO em ambas as saídas, de modo que 𝑄 = 𝑄 = 1.
Obviamente, é uma condição indesejada. Além disso, transições simultâneas de
volta para o nível 1 produzirão resultados imprevisíveis. Por esses motivos,
SET=RESET=0 não é usada em portas latch NAND.
A Tabela 1 mostra a tabela verdade do FF NAND resumindo todo os casos
apresentados. Algumas vezes, as letras S e R serão utilizadas para representar o SET
e Reset, denominando também o FF como latch S-R ou RS.
SET RESET SAÍDA
1 1 Não muda
0 1 Q=1
1 0 Q=0
0 0 inválida
Tabela 1 – Tabela verdade para o FF NAND

3
Uma representação alternativa para o latch NAND é mostrada na Figura 5.
Lembrem-se que 𝐴 + 𝐵 = 𝐴𝐵 (Teorema de DeMorgan) e por isso os circuitos são
iguais, mas com simbologias diferentes. Os pequenos círculos nas entradas, assim
como os nomes dos sinais 𝑆𝐸𝑇e 𝐶𝐿𝐸𝐴𝑅, indicam o estado de ativação em nível
BAIXO.

Figura 5 – Representação equivalente de um FF NAND

Exemplo 1: A trepidação de um contato mecânico gera múltiplas transições


na tensão que duram milissegundos, mas podem ser inaceitáveis em muitas
aplicações, conforme ilustra a Figura 6 (a). Descreva o funcionamento do Figura 6(b),
onde um latch NAND é usado para eliminar esta trepidação.

Figura 6 – Referente ao Exemplo 1

Solução: Considere que a chave esteja em repouso na posição 1, de modo


que a entrada 𝐶𝐿𝐸𝐴𝑅 está em nível BAIXO e Q = 0. Quando a chave é levada para a

4
posição 2, 𝐶𝐿𝐸𝐴𝑅 vai para nível ALTO, e um nível BAIXO aparece na entrada 𝑆𝐸𝑇,
quando a chave faz o primeiro contato. Isso seta a saída Q = 1 com um atraso de
apenas alguns nanossegundos (tempo de resposta da NAND). Agora, caso a chave
desfaça a conexão com o contato 2, as entradas 𝐶𝐿𝐸𝐴𝑅 e 𝑆𝐸𝑇 serão nível ALTO e a
saída Q não será afetada, permanecendo nível ALTO. Assim, nada acontecerá com a
saída Q após o primeiro contato (enquanto a chave trepida), antes de, finalmente,
atingir o repouso, na posição 2. O raciocínio é semelhante, caso a chave mude da
posição 2 para a posição 1.

2.2. Latch com Portas NOR

A configuração mostrada na Figura 7 (a) é similar à configuração NAND,


exceto pelo uso de portas NOR, as saídas Q e 𝑄 estarem em posições trocadas, pelo
fato de as entradas SET e CLEAR serem ativas em nível ALTO, em vez de nível BAIXO,
e o estado de repouso é SET=CLEAR=0. Assim, análise do latch NOR pode ser feita
exatamente da mesma maneira que a do latch NAND.
Os resultados são mostrados na tabela verdade da Figura 7(b) e resumidos a
seguir:
(a) SET = CLEAR = 0: Estado de repouso, não tem nenhum efeito sobre o estado de
saída; Q e 𝑄permanecem inalteradas;
(b) SET = 1; CLEAR = 0: Faz a saída ir para o estado ALTO, Q=1, operação de SETAR o
latch;
(c) SET = 0; CLEAR = 1: Faz a saída ir para o estado BAIXO, Q=0, operação de RESETAR
ou limpar o latch;
(d) SET = 1; CLEAR = 1: Esta condição tenta ao mesmo tempo SETAR e RESETAR
o latch e gera 𝑄 = 𝑄 = 0. Não deve ser usada.

O símbolo simplificado é mostrado na Figura 7 (c), e não apresenta os


pequenos círculos nas entradas S e C, já que as entradas são ativadas em nível ALTO.

Figura 7 – (a) Latch com portas NOR; (b) tabela verdade; (c) símbolo simplificado

5
Exemplo 2: Considere inicialmente Q=0 e determine a forma de onda da
saída Q, para um latch NOR que tem as entradas mostradas na Figura 8.

Figura 8 – Referente ao Exemplo 2

Solução: Inicialmente SET = CLEAR = 0, que não afeta a saída, e Q fica em


BAIXO. Quando SET vai para ALTO no instante T1, Q vai para 1 e permanece lá mesmo
depois de SET voltar a 0 em T2. Em T3, a entrada CLEAR vai para ALTO e limpa Q para
o estado 0, onde permanece mesmo após CLEAR retornar para BAIXO em T4. O pulso
de CLEAR em T5 não tem efeito em Q, pois esta saída já está em nível BAIXO. O pulso
SET em T6 novamente seta Q de volta a 1, onde permanece. Este exemplo mostra
que o FF “lembra” a última entrada que foi ativada, e não muda de estado até que
a entrada oposta seja ativada.

6
Flip-Flops com Clock

1.Introdução

Os sistemas digitais podem operar tanto no modo assíncrono quanto no


síncrono. Nos assíncronos, as saídas dos circuitos lógicos podem mudar de estado a
qualquer momento em que uma ou mais entradas também mudarem. Em sistemas
síncronos, os momentos exatos em que uma saída qualquer pode mudar de estado
são determinados por um sinal denominado clock, que geralmente é um trem de
pulsos retangulares ou uma onda quadrada, conforme mostrado na Figura 1.
Quando o clock muda de 0 para 1, denomina-se transição positiva (borda de
subida), já quando o clock muda de 1 para 0, denomina-se transição negativa (borda
de descida). Os sistemas digitais são geralmente síncronos, devido a maior facilidade
de análise de defeitos, já que as saídas só mudam de estado em instantes específicos
definidos pelo clock.

Figura 9 – Sinais de Clock

2. Flip-Flops com Clock

Os Flip-flops com clock tem muitas aplicações. Estes FFs tem uma entrada de
clock (CLK) que pode ser ativada por uma borda de subida, Figura 2(a), ou por uma
borda de descida, Figura 2(b). As entradas de controle deixam as saídas do FF
prontas para mudar de estado, enquanto a transição ativa da entrada CLK é que de
fato dispara a mudança de estado. Em outras palavras, as entradas de controle
determinam O QUE ocorrerá com as saídas, enquanto a entrada CLK determina
QUANDO as saídas serão alteradas.

7
Figura 10 - Símbolos de FFs com clock (a) disparado na subida e (b) na descida.

Dois parâmetros de temporização têm que ser observados para que um FF


responda de maneira confiável às entradas de controle:
- Tempo de setup ts (preparação): intervalo de tempo durante o qual as
entradas têm de ser mantidas no nível adequado, imediatamente antes da transição
ativa do clock, conforme ilustra a Figura 3(a). Normalmente situados entre 5 e 50 ns;
- Tempo de hold tH (manutenção): intervalo de tempo durante o qual as
entradas têm de ser mantidas no nível adequado, imediatamente após a transição
ativa do clock, Figura 3(b). Normalmente situados entre 0 e 10 ns.
Os fabricantes de CIs costumam especificar estes tempos em sua folha de
dados para um valor mínimo aceitável. Observe ainda que esses tempos são
medidos entre instantes em que as transições estão em 50%.

Figura 11 - Entradas de controle têm de ser mantidas estáveis por (a) um tempo t s antes da
transição ativa do clock e por (b) um tempo tH após a transição ativa do clock

2.1. FF SC com clock

O Flip Flop SC (SET-CLEAR) também é conhecido como SR (SET-RESET). A


Figura 4(a) mostra o símbolo lógico deste FF disparado na borda de subida,
enquanto a Figura 4(b) mostra a tabela verdade para várias combinações. A seta
para cima (↑) indica borda de subida necessária para ativar o clock, e Q 0 indica que
não houve mudança na saída após sinal de clock.

8
Figura 12 (a) FF SC com clock que responde à borda de subida do pulso do clock e (b)
sua tabela verdade

Figura 13 – Formas de onda típicas do FF SC

A Figura 5 ilustra a operação do FF SC com clock. Note que as mudanças em


Q só ocorrem na borda de subida do clock, independente da mudança em S e C. Por
exemplo, pouco antes do ponto b houve mudança no SET de 0 para 1, mas a saída
Q só foi alterada (setada) de 0 para 1 no ponto c, onde houve o disparo do pulso do
clock na borda de subida. Raciocínio semelhante seria utilizado no FF com borda de
descida.
Uma análise detalhada do circuito interno de um FF com clock não é
necessária, visto que todos os tipos estão disponíveis como Circuitos Integrados.
Além disso, nosso principal interesse está no funcionamento externo do FF.

9
2.2. FF JK com clock

Neste Flip-Flop, as entradas J e K controlam a saída da mesma forma que as


entradas S e C do FF SC. A única diferença está na condição em que J=K=1. Neste
caso, o FF JK sempre muda para o estado lógico oposto no instante da borda de
subida ou descida do sinal de clock. A Figura 6 (a) ilustra um FF JK disparado por
borda de subida no sinal de clock juntamente com a sua tabela verdade. Já a Figura
6(b) traz formas de onda deste FF. Verifique que no ponto “c” do CLK ocorre uma
comutação da saída, ou seja, Q passa de 0 para 1 pois nesse instante J=K=1.

Figura 14 (a) FF J-K com clock que responde apenas às bordas positivas; (b) formas de onda

O circuito interno desse tipo de Flip-Flop diferencia do FF S-C pelo fato de as


saídas Q e 𝑄̅ são realimentadas para o circuito direcionador de pulsos do CLK.

2.3. FF D com clock

A Figura 7(a) mostra o símbolo e a tabela verdade para um Flip-Flop D com


clock disparado na borda de subida do clock. Neste FF, a saída Q irá para o mesmo
estado lógico presente na entrada D quando ocorrer uma borda de subida do clock.
A Figura 7(b) ilustra as formas de onda típicas do flip-flop tipo D.
O nível lógico presente na entrada D é armazenado no FF no instante em que
ocorre a borda de subida do clock. A implementação do FF D é feita acrescentando-

10
se um único inversor na entrada do FF S-C, conforme ilustra a Figura 8. Faça um teste
com os dois valores possíveis na entrada D, verá que a saída Q assume o nível lógico
presente na entrada.

Figura 15 (a) FF D que dispara nas transições positivas; (b) formas de onda

Figura 16 – Implementação do FF D por meio de FF S-C

Como a saída Q assume os valores de entrada apenas em instantes definidos,


o flip-flop tipo D pode ser usado na transferência paralela de dados com bastante
precisão. Um exemplo desta aplicação está ilustrado na Figura 9, onde as saídas X, Y
e Z de um circuito lógico são transferidas para os FFs Q1, Q2 e Q3 para

11
armazenamento, no instante da aplicação do pulso TRANSFERÊNCIA nas entradas
CLK comuns. Assim, os FFs podem armazenar esses valores para serem processados
depois. Esse é um exemplo de transferência paralela de um dado binário; os três
bits X, T e Z são transferidos simultaneamente.

Figura 17 – Transferência de dados binários em paralelo usando FFs D

12
Entradas Assíncronas e
Temporização de Flip-Flops
1.Introdução

Na aula anterior, vimos o funcionamento de flip-flops com clock. Nesta aula,


daremos continuidade ao tema Flip-Flop (FF), mas abordaremos entradas
assíncronas e temporização de FFs.

2. Entradas Assíncronas de Flip-Flops

As entradas de Flip-flops com clock estudadas até agora (S, C, J, K e D) são


conhecidas como entradas de controle síncronas, pois seu efeito na saída do FF é
sincronizado com o clock (CLK).
Mas a maioria dos FFs possuem também entradas assíncronas, que são
utilizadas para colocar o FF no estado 0 ou 1 em qualquer instante, independente
das condições das outras entradas. Por isso, são conhecidas também como entradas
de sobreposição, podendo ser usadas para sobrepor todas as outras entradas de
forma a colocar o FF em um determinado estado.
A Figura 1 mostra um FF J-K com duas entradas assíncronas denominadas
𝑃𝑅𝐸𝑆𝐸𝑇 e 𝐶𝐿𝐸𝐴𝑅, as quais são ativadas em nível BAIXO (conforme indicado pelo
uso de pequenos círculos no símbolo do FF).
A tabela verdade que acompanha a figura resume o efeito dessas entradas
assíncronas:
-𝑃𝑅𝐸𝑆𝐸𝑇 = 𝐶𝐿𝐸𝐴𝑅 = 1. Entradas assíncronas desativadas e FF responde às
entradas J, K e CLK;
-𝑃𝑅𝐸𝑆𝐸𝑇 = 0 𝑒 𝐶𝐿𝐸𝐴𝑅 = 1. 𝑃𝑅𝐸𝑆𝐸𝑇 é ativada e Q é imediatamente
colocada em 1;
-𝑃𝑅𝐸𝑆𝐸𝑇 = 1 𝑒 𝐶𝐿𝐸𝐴𝑅 = 0 . 𝐶𝐿𝐸𝐴𝑅 é ativada e Q é imediatamente
colocada em 0;
-𝑃𝑅𝐸𝑆𝐸𝑇 = 𝐶𝐿𝐸𝐴𝑅 = 0. Não deve ser usada, pois resulta em resposta
ambígua.

13
Figura 18 - Símbolos de FFs com clock (a) disparado na subida e (b) na descida.

Alguns FFs têm as entradas assíncronas que são ativas em nível ALTO. O
símbolo para esses FFs não apresenta o pequeno círculo nas entradas assíncronas.
Os fabricantes de CIs utilizam as nomenclaturas PRE para PRESET e CLR para CLEAR.

Exemplo 1: Determine a resposta de saída Q às formas de onda mostradas na


Figura 2. Considere Q inicialmente em nível ALTO.
Solução: Inicialmente 𝑃𝑅𝐸 e 𝐶𝐿𝑅 = 0 estão desativadas (nível ALTO); logo
não terão efeito sobre a saída Q. No ponto “a” ocorre então a primeira borda de
descida do CLK e Q é comutada (1 para 0). No ponto “b” 𝑃𝑅𝐸 = 0 força Q a ir ao
nível 1. Nos pontos “c” e “d” (novas bordas de descida do CLK), Q é comutado. No
ponto “e”, 𝐶𝐿𝑅 = 0, fazendo com Q seja 0 imediatamente. No ponto “f”, a borda de
descida do CLK não tem efeito nenhum, visto que 𝐶𝐿𝑅 se sobrepõe, mantendo Q=0.
Finalmente, no ponto “g”, na borda de descida do clock, ocorre mais uma comutação
síncrona, e Q vai de 0 para 1.

Figura 19 – Referente ao Exemplo 1

14
3. Temporização em Flip-Flops

Os fabricantes de CIs de FF especificam vários parâmetros de temporização


importantes em sua folha de dados. Estes parâmetros devem ser considerados antes
que um FF seja usado em algum circuito:

Tempos de setup e hold: Como adiantado em aulas anteriores, os fabricantes


especificam os valores mínimos de ts e tH para garantir o disparo confiável de flip-
flops.
Atrasos de propagação: é o atraso de tempo a partir do instante em que o
sinal é aplicado até o instante em que a saída comuta de estado, conforme ilustra a
Figura 3. Nesta figura, tPLH é o atraso em transição de BAIXO para ALTO, e tPHL de ALTO
para BAIXO.

Figura 20 – Atraso de propagação nos FFs

Frequência máxima de clock (fMÁX): É a maior frequência que pode ser


aplicada na entrada CLK de um FF mantendo ainda um disparo confiável.
Tempos de duração do pulso de clock nos níveis ALTO e BAIXO: Os
fabricantes também especificam o tempo mínimo de duração que o sinal CLK tem
de permanecer, no nível BAIXO antes de ir ao ALTO (t w(L)), e no nível ALTO antes de
ir ao BAIXO (tw(H)), conforme ilustra Figura 4(a).
Largura de pulsos assíncronos ativos (tw(L)): Tempo mínimo de duração que a
entrada CLEAR ou PRESET tem que permanecer no estado ativo de forma a setar ou
resetar o FF de modo confiável, conforme ilustra Figura 4(b).

Figura 21 (a) Tempos de duração do CLK em nível BAIXO e ALTO; (b) Largura do pulso
assíncrono

15
Tempo de transição do clock: o tempo de subida e descida do sinal de clock
que deve ser o menor possível para garantir o disparo confiável. Os fabricantes
fornecem um parâmetro geral para todos os CIs de uma família lógica. Por exemplo:
o tempo de transição deve ser menor ou igual a 50 ns para dispositivos TTL e menor
ou igual a 200 ns para CMOS.
CIs comerciais: como exemplos práticos desses parâmetros de temporização,
vamos conhecer alguns CIs comerciais de FFs. Em particular temos:
7474 Duplo flip-flop D disparado por borda (TTL padrão)
74LS112 Duplo flip-flop J-K disparado por borda (TTL de baixa potência)
74C74 Duplo flip-flop D disparado por borda (CMOS)
74HC112 Duplo flip-flop J-K disparado por borda (CMOS de alta velocidade)
A Tabela 1 apresenta uma lista com diversos valores de parâmetros de
temporização para um dos FFs na forma como aparecem nos manuais dos
fabricantes. Todos os dados apresentados são valores mínimos, exceto os valores
para atrasos de propagação, que são máximos.

Tabela 2 – Parâmetros de temporização de flip-flop (em nanossegundos)

TTL CMOS
7474 74LS112 74C74 74HC112
ts 20 ns 20 ns 60 ns 25 ns
tH 5 0 0 0
tPHL De CLK para Q 40 24 200 31
tPHL De CLK para Q 25 16 200 31
tPHL De 𝐶𝐿𝑅para Q 40 24 225 41
tPLH De 𝑃𝑅𝐸para Q 25 16 225 41
tw(L) CLK tempo no 37 15 100 25
nível BAIXO
tw(H) CLK tempo no 30 20 100 25
nível ALTO
tw(L) Em𝑃𝑅𝐸ou 𝐶𝐿𝑅 30 15 60 25
fMÁX Em MHz 15 30 5 20

3.1. Problemas de Temporização em FFs

Em muitos circuitos digitais, a saída de um FF é conectada diretamente à


entrada de outro FF, e ambos são disparados pelo mesmo sinal de clock. Isso
representa um problema potencial de temporização. A Figura 5 ilustra um problema
de temporização em circuitos com FFs. A análise é a seguinte:
- Como Q1 muda de estado na borda de descida do pulso de clock, a entrada
J2 de Q2 estará mudando de estado quando receber a mesma borda de descida do
clock. Isso pode conduzir a uma resposta imprevisível de Q2;

16
- Q2 responderá adequadamente ao nível lógico presente em Q 1 antes da
borda de descida do CLK, desde que o tH (tempo de hold) de Q2 seja menor que o
tempo de atraso de propagação (tPLH) de Q1.

Figura 22 – Q2 responderá adequadamente ao nível lógico presente em Q1 antes da borda


de descida de CLK, desde que o tempo de hold de Q2, tH, seja menor que o atraso de
propagação de Q1.

4. Armazenamento e Transferência de Dados

O uso mais comum de flip-flops é no armazenamento de dados ou


informações, que podem ser codificados em binário. Esses dados são geralmente
armazenados em grupos de FFs denominados Registradores.
A operação mais comum realizada sobre os dados armazenados em FFs ou
registradores é transferência de dados, que envolve transferência (síncrona ou
assíncrona) de dados de um FF ou registrador ou outro. Quando as entradas de
controle síncronas e a entrada CLK são usadas, realiza-se a transferência síncrona,
conforme mostrado na Figura 6. Está mostrado um exemplo para o FF SC, mas ele
serve para os FFs J-K e D. Em cada caso, o valor lógico atual armazenado em um FF
A é transferido para um FF B na borda de descido do pulso TRANSFER. Assim, após
essa borda de descida, a saída B terá o mesmo valor que a saída A.

17
Figura 23 – Operação de transferência de dados síncronos em um FF SC

Quando as entradas assíncronas são usadas para realizar a operação de


transferência, realiza-se a transferência assíncrona, conforme ilustra a Figura 7.
Neste caso, note que quando a linha “Habilitar Transferência” é mantida em nível
BAIXO, as saídas das duas NAND são mantidas em nível ALTO, não tendo efeito sobre
as saídas do FF. Mas quando esta linha é mantida em nível ALTO, uma das saídas das
portas NAND vai para nível BAIXO, dependendo do estado das saídas A e 𝐴. Este
nível BAIXO vai resetar ou setar o FF B para o mesmo estado do FF A.

Figura 24 – Operação de transferência de dados assíncrona

4.1. Transferência Paralela de Dados

A Figura 8 mostra a transferência paralela de dados de um registrador a


outro. Neste caso, os conteúdos X3, X2 e X1 são transferidos simultaneamente para
Y3, Y2 e Y1. A transferência paralela não altera o conteúdo do registrador, que é a
fonte de dados. Por exemplo se X3X2X1 = 101 e Y3Y2Y1 = 011 antes de ocorrer o pulso
no clock, então, após ocorrer o pulso TRANSFER, o conteúdo dos dois registradores
será 101.

18
Figura 25 – Transferência Paralela do conteúdo registrador X para o Y

4.2. Transferência Serial de Dados: Registradores de Deslocamento

Um registrador de deslocamento é um grupo de FFs organizados de modo


que os números binários armazenados nos FFs sejam deslocados de um FF para o
seguinte a cada pulso de clock. Você já se deparou com um registrador de
deslocamento em dispositivos como calculadora eletrônica, em que os dígitos
mostrados no display são deslocados cada vez que digita um novo dígito.
A Figura 9 (a) mostra um registrador de deslocamento de 4 bits. As formas de
onda da Figura 9(b) mostram como os dados da esquerda são deslocados para à
direita, de um FF para outro, a cada borda de descida do pulso de deslocamento.
Observe que em t1, quando ocorre a primeira borda de descida, J=0 e K=1 nos FF X2,
X1 e X0. O FF X3 tem J=1e K=0, devido à entrada de dados (DATA IN). Assim, em t1,
somente X3 vai para nível ALTO. Em t2, o FF X3 terá J=0 e K=1, devido ao DATA IN. O
FF X2 tem J=1 e K=0, por causa do nível ALTO de X3. Os FFs X1 e X0 ainda permanecem
com J=0 e K=1. Assim, em t2, apenas o FF X2 vai para o nível ALTO; Raciocínio
semelhante pode ser usado para determinar como as formas de onda dos FFs
mudam nos instantes t3 e t4.

19
Figura 26 – Registrador de deslocamento de 4 bits

Neste tipo de registrador de deslocamento é necessário que os FFs tenham


um tempo de hold (tH) muito pequeno, porque existem momentos em que as
entradas J e K estão mudando de estado no mesmo instante da transição do CLK.
Esse requisito é facilmente atendido pela maioria dos FFs modernos disparados por
borda.
A transferência serial pode ser também entre registradores. A Figura 10(a)
mostra dois registradores de três bits conectados de modo que o conteúdo do
registrador X seja transferido de forma serial para o registrador Y. Estamos usando
FFs D, visto que eles requerem menos conexões que os FFs J-K. Quando os pulsos de
deslocamento são aplicados, a transferência da informação ocorre da seguinte
maneira: X2→X1→X0→Y2→Y1→Y0. Para ilustrar, vamos considerar que antes que
seja aplicado qualquer pulso de deslocamento, o conteúdo do registrador X é 101 e
o Y é 000, conforme ilustra a Figura 10(b). Esta figura mostra como os estados de
cada FF mudam a cada pulso de deslocamento aplicado.

20
4.3. Divisão de Frequência e Contagem

Na Figura 11(a), cada FF tem suas entradas J e K em nível 1, para que ele
mude de estado (comute) sempre que o sinal em sua entrada de CLK for de nível
ALTO para BAIXO. Os pulsos de clock são aplicados apenas na entrada CLK de FF Q 0.
A saída Q0 está conectada na entrada CLK do FF Q1, e a saída Q1 está conectada na
entrada CLK do FF Q2. As formas de onda, mostradas da Figura 11(b), indicam as
mudanças de estado que acontecem, da seguinte forma:
- O FF Q0 comuta na transição negativa de cada pulso na entrada de clock.
Assim, esse FF tem uma frequência que é exatamente a metade da frequência de
pulsos de clock;
- O FF Q1 comuta de estado cada vez que a saída Q0 vai de nível ALTO para
BAIXO. FF Q1 possui uma frequência que é metade da frequência de Q0 e um quarto
da frequência do clock de entrada;
- O FF Q2 comuta de estado cada vez que a saída Q1 vai de nível ALTO para
BAIXO. FF Q2 possui uma frequência que é a metade da frequência de Q1 e um oitavo
da frequência do clock de entrada.

Figura 27 – Transferência serial de informação do registrador X para o Y

21
Figura 28 – FFs J-K conectados para formar um contador de três bits

Observe que, na Figura 11, se acrescentarmos um quarto FF (Q3), ele teria


uma frequência de 1/16 da frequência do clock de entrada. Usando um número
apropriado de flip-flops esse circuito pode dividir uma frequência por qualquer
potência de 2. Especificamente, usando N FFs produziríamos uma frequência de
saída do último FF que seria igual a 1/2N da frequência de entrada. Essa aplicação
com flip-flops é conhecida como divisor de frequência.
Além do divisor de frequência, o circuito da Figura 11 também funciona como
contador binário. A tabela mostrada na Figura 12 mostra a sequência de estados
dos FFs após a ocorrência de cada pulso de clock para o circuito anterior. Observe
que os estados resultantes correspondem ao número de pulsos ocorridos. Assim,
para os primeiros 7 pulsos de entrada, o circuito funciona como contador binário,
no qual os estados dos FFs representam o número binário equivalente ao número
de pulsos ocorridos. A contagem é reiniciada na oitava descida de clock.

22
Figura 29 – Tabela de estados dos FFs mostrando a sequência de contagem binária

Outra forma de representar a mudança de estados dos FFs com os pulsos


aplicados é por meio do diagrama de transição de estados mostrados na Figura 13,
no qual cada círculo representa um estado. As setas mostram como ocorre a
mudança de um estado a outro, conforme pulsos de clock aplicados.

Figura 30 – Diagrama de transição de estados

Podemos utilizar também o Módulo do contador, que indica o número de


estados da sequência de contagem. Para N FFs o contador resultante terá 2N estados
diferentes e, portanto, será um contador de módulo 2N.
O valor do módulo de um contador indica também a razão entre a frequência
de entrada e a frequência obtida na saída do último FF. Por exemplo, um contador

23
de 4 bits possui 4 FFs, sendo um contador de 24 = 16 (contador de módulo 16).
Portanto, esse contador pode contar até 15 (24-1) e pode ser usado para dividir a
frequência de entrada por 16.

Exemplo 2: Considere um circuito contador que possui seis FFs conectados


segundo o diagrama da Figura 11, ou seja, Q5, Q4, Q3, Q2, Q1, Q0. Determine:
a) O módulo do contador.
b) A frequência na saída do último FF (Q5) quando a frequência do clock de
entrada for de 1MHz.
c) A faixa de contagem desse contador.
d) O estado do contador após 129 pulsos, sendo o estado inicial de 000000.

Solução:
a) Módulo = 26 = 64.

b) A frequência do último FF é igual a


1𝑀𝐻𝑧
𝑓(𝑒𝑚 𝑄5 ) = = 15625𝑘𝐻𝑧
64

c) Este contador contará de 0000002 a 1111112 (010 a 6310) em um total de


64 estados. Observe que o número de estados é o mesmo que o valor do módulo.
d) Visto que esse contador é de módulo 64, ele retorna para o estado inicial
a cada 64 pulsos de clock. Portanto, após 128 pulsos, o contador retorna para 000000.
0 129º pulso leva o contador para a contagem 000001.

24

You might also like