Você está na página 1de 77

Circuitos sequenciais: Latches, Flip-Flops, Contadores e

Registradores [Introdução aos conceitos básicos]

Disciplina: EEI15 – Técnicas Digitais e de Microprocessadores I


Prof. Corradi, Romeu Júnior
• Elementos de armazenamento:
Latches (Travas) e Flip-Flops (FF)
– [Multivibradores Biestáveis]
• Registradores
• Contadores
• Circuitos combinacionais
– y(t) = f[x(t)]  não há dependência de x(t-1) ou x(t-2)  não há memória ou
histórico
• Alguns problemas não podem ser resolvidos com circuitos combinacionais
• Circuitos sequenciais
– y(t) = f[x(t-1), x(t-2), ....]  depende do histórico de entradas  novos
conceitos: estado ou memória
• Elemento básico: elemento de memória
• O mais simples e rudimentar:

– Elemento de memória com dois estados estáveis:

A=0 e B=1 ou A=1 e B=0


• Extensão dos inversores em anel
– permite “carga” de dados:
– set  1
– reset  0
• Base para o Latch Set Reset = LatchSR
O Latch (trava), pode ser usado para estabelecer e manter um nível lógico sem
qualquer intervenção externa.
Em todas as estruturas lógicas que examinamos anteriormente, a saída de uma
porta dependia das entradas da porta que eram estabelecidas por uma fonte
externa. Na ausência de entradas não é possível conceber saídas de portas sem
incorrer em ambiguidades.
Devido a esta independência do latch das entradas externas, ele pode ser usado
para armazenar, isto é, registrar ou lembrar um bit lógico.

O Latch SR

Um “Latch” é um tipo de dispositivo lógico biestável ou multivibrador. Um latch SR


(Set-Reset) com entrada ativa em nível alto é formado por duas portas NOR tendo
acoplamento cruzado. Um latch SR com entrada ativa em nível baixo é formado
por duas portas NAND.
Latch com Portas NOR Latch com Portas NAND
Os sistemas digitais podem operar tanto em modo síncrono como assíncrono.
Nos sistemas assíncronos, as saídas dos circuitos lógicos podem mudar de estado a
qualquer momento em que uma ou mais entradas mudarem de estado.
Tanto o projeto quanto a análise de defeitos são bem mais difíceis em um sistema
assíncrono.
Em sistemas síncronos, os momentos exatos em que uma saída qualquer pode
mudar de estado, são determinados por um sinal normalmente denominado clock
(um sinal de habilitação para o flip-flop).
• O sinal de clock é geralmente um trem de pulsos retangulares ou uma onda
quadrada.
• O clock é distribuído para todas as partes do sistema, sendo que todas as
saídas dos flip-flops (ou a maioria) muda de estado apenas durante o intervalo
onde o clock encontra-se em nível lógico “1” ou “0”, dependendo de como a
entrada de excitação foi concebida.
O Flip-Flop JK disparado por borda
Vamos retornar ao problema do latch, que possuía um estado chamado de estado PROIBIDO.
O problema do estado proibido é que o projetista deve preocupar-se com este estado durante o
projeto, de forma a garantir que as entradas proibidas jamais ocorram.
Uma possível solução é alterar o projeto do flip-flop de forma a eliminarmos o estado proibido,
substituindo-o por algo mais útil. Esta é a proposta do flip-flop JK.

Qo = Q(n) = reter, manter


“hold” – estado anterior.

/Qo = Q(n+1) = trocar “toggle”


• Contadores síncronos e assíncronos
• Contadores de módulo configurável
• Contadores em anel e Johnson
• Preset e Clear síncronos e assíncronos

Contadores assíncronos / síncronos

• Contadores assíncronos
– Entrada de clock dos FFs recebe saída de estágios anteriores
– Estado do contador: transições dos estágios não simultâneas (em ripple)
– Circuito mínimo mas requer cuidados com decodificação
• Contadores síncronos
– Entrada de clock dos FF recebe apenas sinal externo de clock
– Estado do contador: transições sincronizadas (razoavelmente simultâneas)
Contadores
Assíncronos

Um contador
Contador assíncrono é
Binário aquele no qual
Assíncrono os flip-flops
(FF) que
constituem o
contador não
mudam de
estado
exatamente ao
mesmo tempo
porque eles
não têm um
pulso de clock
em comum.
Exemplo de Contador Assíncrono!
Obs.: Faça os exercícios utilizando FFs do Tipo D, JK e T – Bom Estudo!
O módulo [Mod. X], de um contador é o número de estados únicos pelos quais o contador
estabelece uma sequência. O número máximo de estados possíveis (modulo máximo) de um
contador é , onde n é o número de flip-flops do contador. Os contadores podem ser
projetados para ter um número de estados em sua sequência que é menor que o valor máximo
de . Esse tipo de sequência é denominada de sequência truncada.

Um modulo comum para contadores com sequências truncadas é dez (denominado Mod.10).
Os contadores com dez estados em sua sequência são denominados contadores de década.
Um contador de década com uma sequência de contagem de zero (0000) a nove (1001) é um
contador de década BCD porque a sua sequência de dez estados produz o código BCD. Esse
tipo de contador é útil em aplicações com display nas quais o código BCD é necessário para
conversões com leituras em decimal.
Observação:
Podemos desenvolver o
Projeto utilizando os
conceitos:
-RISCO MÍNIMO;
-CUSTO MÍNIMO.
Projeto com
Risco Mínimo!
Refazer o projeto anterior utilizando:
FF do Tipo JK, com Risco Mínimo!
Utilizando FF D projetar a sistema abaixo,
com Risco Mínimo.
EA PE
Próximo Estado
Estado Atual
Tópicos de Registradores

• Construção usando flip-flops


• Clear assíncrono e Enable
• Registradores deslocamento
• Carga paralela
• Registrador deslocamento universal
• Exemplo de uso em barramento
• Conjunto de elementos de memória (flip-flops) utilizados para armazenar n bits a cada borda do clock
• Utilizam em comum os sinais de clock e controle
• O registrador apresentado carrega o dado a cada borda do clock (clk)
• Desejável carga controlada por sinal “load”
• Conversão série  paralelo
• Conversão paralelo  série
– (precisa de carga paralela)
• Multiplicador / divisor por potência de 2

Shift Register com


Carga Paralela
• Entrada Serial
– Deslocamento a Esquerda
– Deslocamento a Direita
• Carga Paralela
• Saída Paralela

Exercício:

Apresentar um Diagrama de um Shift Register Universal de 4


bits com entradas de controle: NOP (mantém valor), SHL
(esquerda), SHR (direita), LD (carga paralela).
• Dois registradores (R1 e R2) de 2 bits cada ligados a um barramento
• Operação R2R1: ativar sinais R2out e R1in
• Transferência completada na borda de subida do clk.
• “Escrita” no barramento (inclusive entrada externa Data)  saído do MUX
• Função semelhante à implementação 3ST
Armazenamento e transferência de dados
Registradores

Um dos principais usos dos flip-flops é no armazenamento de dados codificados em binário. Estes dados
geralmente são armazenados em palavras binárias múltiplas de 4 bits, formadas por grupos de flip-flops,
formando os chamados registradores.
A operação de carga ou armazenamento de dados em um registrador caracteriza uma transferência de
dados.
Exemplo
Registrador de 4 bits síncrono, cujos dados de entrada são armazenados na presença de um pulso na entrada de clock.
Um registrador de deslocamento permite transferir uma palavra binária de um
dispositivo a outro.
O deslocamento de dados pode ser:
•paralelo, quando todos os bits do dado são transferidos em um único pulso de clock,
como no exemplo anterior;
•série, quando os dados são transferidos bit a bit, um em cada pulso de clock, como
no próximo exemplo.
Exemplo
Registrador deslocamento de 4 bits, com a entrada de dados em série e a saída em série ou em paralelo.
Dado um registrador de deslocamento para direita/esquerda, implemente um circuito
capaz de multiplicar ou dividir por 2 a entrada carregada.
Determine as formas de onda das saídas do registrador de deslocamento de 4 bits,
considerando a entrada serial dos dados:

•Após 4 pulsos de clock, verifique os


dados constantes na saídas D3, D2,
D1 e D0 do registrador de
deslocamento,.
•Para a saída serial dos dados, mais
quantos pulsos de clock são
necessários?
1. Estudar o conteúdo da apostila;

2. Resolver os exercícios de listas;

3. Refazer os exercícios propostos na apostila.

4. Bom trabalho!

Você também pode gostar