Você está na página 1de 45

ES-571/572: CIRCUITOS LÓGICOS

AULA 08: LÓGICA SEQUENCIAL

Prof. André R. Fioravanti


FEM - Unicamp
UM CIRCUITO QUE NÃO SABEMOS CONSTRUIR
(AINDA)
Quando o botão for apertado:
1) Ligue a luz se esta estiver desligada
botão 2) Desligue a luz se esta estiver ligada luz

A luz deve trocar de estado em menos de


100ms após o botão ser apertado

No que este circuito difere dos que vimos anteriorente?


1. “Estado” – o circuito tem memória. Saída é igual a 1 se o botão foi apertado
um número ímpar de vezes na sua história, e 0 caso contrário.
2. A saída se modifica devido a um evento “o botão foi apertado” em vez de
um nível da entrada
ESTADO DIGITAL
Estado
Estado atual futuro
Dispositivo
de Memória
Circuito
Entrada periódica Combinacional
Carregar
Entradas Saídas

Uma memória armazena o Estado atual


Um circuito combinacional produz: Estado atual com N bits ->
𝟐𝑵 possíveis estados
• O Estado futuro (a partir do estado atual e das entradas) representáveis
• Saídas (a partir do estado atual e das entradas)

O Estado pode ser atualizado a partir da entrada periódica (Carregar)


MEMÓRIA ATRAVÉS DE REALIMENTAÇÃO

Ideia: Uso de realimentação para a manutenção da informação. As portas


lógicas são construídas para serem robustas à pequenas variações de nível,
então ruído não deve ser um problema.

Resultado: Um elemento de
armazenamento biestável.

Três soluções:
• Pontos externos são estáveis
• Ponto intermediário é metaestável

Como carregar novos valores?


LATCH S-R (SET-RESET)
O latch S-R é um dispositivo bi-estável.
• Quando as entradas S e R estão inativas, a saída do circuito se mantém constante por realimentação.
• Apenas a entrada S ativa leva o circuito para saída ‘1’.
• Apenas a entrada R ativa leva o circuito para saída ‘0’.
• As duas entradas ativas simultaneamente não deve ser utilizada.

Latch SR ativo alto

Latch SR ativo baixo


ANÁLISE DO LATCH S-R ATIVO BAIXO


𝑺 ഥ
𝑹 𝑸 ഥ
𝑸
1 1 Sem Sem
Mudança Mudança
0 1 1 0
1 0 0 1
0 0 -- --
LATCH S-R COM ENABLE ATIVO-ALTO

Enable S R Q ഥ
𝑸
0 X X Sem Sem
Mudança Mudança
1 0 0 Sem Sem
Mudança Mudança
1 0 1 0 1
1 1 0 1 0
1 1 1 Inválido Inválido
LATCH D COM ENABLE

Enable D Q ഥ
𝑸
0 X Sem Sem
Mudança Mudança
1 0 0 1
1 1 1 0
LATCH D A PARTIR DE UM MUX

A partir de um Multiplexador leniente é possível implementar um latch

Caminho de realimentação -> não se caracteriza mais


como circuito combinacional

G D Q’ Q
0 X 0 0
Q estável
0 X 1 1
1 0 X 0
Q segue D
1 1 X 1
D: dado de entrada
G: entrada de controle
Q: saída do estado
TESTANDO A SOLUÇÃO

Estado
futuro
D Q
Estado atual
Circuito
Enable Combinacional

Entradas Saídas

Para funcionar, En = 1 deve ter temporização suficiente para que o novo


estado seja carregado pelo latch, mas não tão longo a ponto do estado novo
se propagar de volta no latch
Precisamos de um circuito cujo Enable seja um instante, e não um intervalo
UMA ANALOGIA

Como garantir que apenas um


carro passe pela cancela por vez?
UMA SOLUÇÃO PARA A ANALOGIA

Usando 2 cancelas em
oposição de fase é possível
garantir que nunca haja um
caminho aberto direto pelas
duas cancelas
FLIP-FLOP

A união de dois latches tipo D,


cada um controlado por um sinal
defasado, define o Flip-Flop tipo D
Q recebe o valor de D no instante
de descida do clock
SOLUÇÃO VIA DETECÇÃO DE PULSO

Outra possível solução é usar


apenas 1 latch, e incluir um
circuito de detecção de transição
Este circuito pode ser construído
a partir de um pequeno atraso
em uma das entradas de uma
porta AND
ANÁLISE DOS FLIP-FLOPS

A mudança de estado de um Flip-Flop acontece apenas em instantes bem


determinados:
• Na borda de subida (em Flip-Flops sensíveis à borda de subida)
• Na borda de descida (em Flip-Flops sensíveis à borda de descida)
Vamos representar por 𝑄 ∗ o estado futuro de um FF após a sua borda sensível.
Em geral, 𝑄 ∗ vai depender das entradas dos FF’s além do estado atual 𝑄
Podemos descrever um FF por uma equação que relaciona 𝑄∗ às entradas e a 𝑄
Existem 4 tipos básicos de FFs - D, T, SR e JK.
FLIP-FLOP TIPO D

O Flip-Flop tipo D (data) é o mais simples dos FF’s, e apresenta a funcionalidade


básica de um armazenador 𝐷=1
𝐷=0
D 𝑸∗ 0 1
0 0 ∗ 𝐷=1
𝑸 =𝑫
1 1
𝐷=0
FLIP-FLOP TIPO T

O Flip-Flop tipo T (toggle) tem 1 entrada, e muda de estado quando a entrada


estiver ativa. Bastante utilizado em contadores

𝑇=1
T 𝑸∗ 𝑇=0
0 𝑄 0 1
𝑇=0
1 𝑄ത
𝑇=1
𝑸∗ = 𝑻 ⊕ 𝑸
FLIP-FLOP TIPO SR

O Flip-Flop tipo SR (set-reset) tem 2 entradas, equivalente ao latch de mesmo


nome

(1,0)
S R 𝑸∗
0,0 , (0,1)
0 0 𝑄
0 (𝑆, 𝑅) 1
0 1 0 1,0 , 0,0
1 0 1
1 1 −− (0,1)

ഥ𝑸
𝑸∗ = 𝑺 + 𝑹
FLIP-FLOP TIPO JK

O Flip-Flop tipo JK (set-reset) tem 2 entradas, muito parecido com o SR, salvo
no ponto inválido, onde ele tem o comportamento do FF-T

1,0 , (1,1)
J K 𝑸∗
0,0 , (0,1)
0 0 𝑄
0 (𝐽, 𝐾) 1
0 1 0 1,0 , 0,0
1 0 1
ഥ (0,1),(1,1)
1 1 𝑸
ഥ +𝑲
𝑸∗ = 𝑱𝑸 ഥ𝑸
CLEAR E PRESET
As entradas convencionais (D, T, S/R, J/K) são chamadas de
entradas síncronas, pois seu funcionamento depende do
síncronismo com um relógio
Em geral, os FF’s possuem duas entradas assíncronas,
chamadas clear e preset, que levam o valor do estado para ‘0’
e ‘1’ respectivamente, de maneira independente do relógio

Estas entradas podem ser importantes para a inicialização ou reset de um circuito,


mas em geral não são usadas na lógica de funcionamento
IMPLEMENTAÇÃO EM VHDL
Apesar de ser possível implementar o FF através da descrição do circuito
apresentado, o VHDL possui funcionalidades que facilitam a construção de
circuitos síncronos
Já apresentamos dois estilos de modelagem:
• Fluxo de Dados, que descreve o sistema a partir de como os sinais são atribuidos (por
exemplo, 𝑠𝑢𝑚 <= 𝑎 𝑥𝑜𝑟 𝑏; )
• Estrutural, que descreve o sistema a partir de subcomponentes (construído a partir da
diretriz port map)

Para a construção de circuitos síncronos, a modelagem Comportamental pode


ser vantajosa
MODELAGEM COMPORATMENTAL

A modelagem comportamental descreve o comportamento do sistema de


maneira algorítmica
É a forma mais abstrata, pois não implica diretamente em uma forma de
implementação
Consiste no uso de uma ou mais diretrizes process.
Cada declaração de um process define uma única declaração concorrente que
é, por si mesma, constituída por uma ou mais declarações sequenciais
EXEMPLO (MEIO SOMADOR)
VHDL PROCESS

O centro da modelagem comportamental é a diretriz


process. Ela pode ser utilizada de duas formas:
• Process “combinatório”: a lista de sensibilidade precisa conter
todos os sinais que são lidos (entrada), e as declarações
sequenciais precisam sempre atualizar todos os sinais que são
atribuídos (saída)
• Process “síncrono”: para este tipo de process, registradores
são inferidos para todos os sinais que são atribuídos
FLIP-FLOP D COM RESET ASSÍNCRONO (VHDL)
APLICAÇÕES: ARMAZENADOR
PARALELO
Armazenar vários bits de dados em um
grupo de flip-flops:
• Cada uma das linhas de dados é conectada à
entrada D de um flip-flop.
• As entradas de relógio dos flip-flops são
conectadas juntas, de modo que cada flip-
flop seja acionado pelo mesmo pulso de
clock.
• As entradas de reset são conectadas a uma
linha comum, que inicialmente reinicializa
todos os flip-flops.
APLICAÇÕES: DIVISOR DE FREQUÊNCIA

Tem por objetivo reduzir a frequência de uma forma de onda periódica.


Um único flip-flop pode dividir por 2 a frequência.
Reduções maiores podem ser obtidas com a conexão em série (saída do 1º
na entrada de clock do 2º, ... ) de diversos divisores de frequência
MULTIVIBRADOR MOVOESTÁVEL

O multivibrador monoestável, é um dispositivo com apenas um estado estável. Ele permanece


em seu estado estável e mudará para seu estado instável apenas quando acionado.
Uma vez disparado, o multivibrador permanece em seu estado instável por um período de
tempo e, em seguida, retorna automaticamente ao seu estado estável.
MULTIVIBRADOR MOVOESTÁVEL REDISPARÁVEL
OU NÃO-REDISPARÁVEL
O monoestável não-redisparável não permite que o período do pulso do sinal de saída seja
renovado com novo disparo antes de seu término.
O monoestável redisparável permite a renovação do período do pulso de saída antes de
seu término, desde que seja dado um novo pulso de disparo.

Não-Redisparável Redisparável
CI 555
O 555 é um circuito utilizado em uma variedade de
aplicações como temporizador ou oscilador.

Os comparadores são dispositivos cujas saídas são


altas quando a tensão está ligada a entrada positiva é
maior do que a tensão na entrada negativa e baixa
caso contrário.

O divisor de tensão (de onde o CI ganha seu nome)


define os limiares para os comparadores.
CI 555 COMO MULTIVIBRADOR MONOESTÁVEL

Um resistor (𝑅1 ) e um capacitor (𝐶1 ) externos


configuram o 555 para funcionar como um
multivibrador monoestável não-redisparável
O tamanho do pulso é dado por
𝒕𝑾 = 𝐥𝐧 𝟑 𝑹𝟏 𝑪𝟏 ≈ 𝟏. 𝟏𝑹𝟏 𝑪𝟏
OPERAÇÃO COMO MULTIVIBRADOR MONOESTÁVEL
OPERAÇÃO COMO MULTIVIBRADOR MONOESTÁVEL

Aplicações:
• Temporizadores
• Detector de pulso
• Chaves imunes a ruído
• Interruptores de toque
MULTIVIBRADOR ASTÁVEL

Um multivibrador astável é um dispositivo que não possui estados estáveis e oscila entre
dois estados instáveis ​sem qualquer disparo externo. A saída resultante é normalmente
uma onda quadrada que é usada como um sinal de relógio em muitos tipos de lógica
sequencial
CI 555 COMO MULTIVIBRADOR ASTÁVEL
Dois resistores (𝑅1 , 𝑅2 ) e um capacitor (𝐶1 )
externos configuram o 555 para funcionar
como um multivibrador astável
A frequência da saída é dada por
𝟏. 𝟒𝟒
𝒇=
𝑹𝟏 + 𝟐𝑹𝟐 𝑪𝟏
O duty-cycle da saída é dado por
𝒕𝑯 𝑹𝟏 + 𝑹𝟐
𝑫= =
𝒕𝑯 + 𝒕𝑳 𝑹𝟏 + 𝟐𝑹𝟐
OPERAÇÃO COMO MULTIVIBRADOR MONOESTÁVEL

Aplicações:
• Pisca-pisca
• Geradores de pulso
• Relógios
• Geradores de tom
• Alarmes de segurança
CARACTERÍSTICAS DE OPERAÇÃO DE UM FF

O desempenho, os requisitos operacionais e as limitações dos flip-flops


são especificados por várias características operacionais. Dentre elas:
• Tempo de atraso de propagação
• Tempo de configuração
• Tempo de espera
• Frequência máxima do clock
• Especificações de largura de pulso
• Dissipação de energia
TEMPO DE ATRASO DE PROPAGAÇÃO
Dois tempos de propagação são importantes na operação do FF:
• 𝒕𝑷𝑳𝑯 : Tempo de propagação entre a borda sensível do relógio e a transição da saída de ‘0’ para ‘1’.
• 𝒕𝑷𝑯𝑳 : Tempo de propagação entre a borda sensível do relógio e a transição da saída de ‘1’ para ‘0’.
Pode-se definer tempos de propagação equivalentes a partir do preset e do reset
TEMPO DE PROPAGAÇÃO E CONTAMINAÇÃO
O tempo de propagação 𝒕𝑷𝑫 é o maior dos atrasos de 𝐶𝐿𝐾 → 𝑄
• 𝒕𝑷𝑫 : max(𝑇𝑃𝐿𝐻 , 𝑇𝑃𝐻𝐿 )
O tempo de contaminação 𝒕𝑪𝑫 é o menor dos tempos de contaminação de 𝐶𝐿𝐾 → 𝑄
TEMPO DE CONFIGURAÇÃO (SET-UP TIME)

Tempo de configuração (𝒕𝒔 ) é o intervalo mínimo necessário que as entradas


devem ser mantidas constantes antes da borda de disparo do pulso de clock
para um funcionamento adequado do FF
TEMPO DE ESPERA (HOLD TIME)

O tempo de espera (𝒕𝒉 ) é o intervalo mínimo necessário que as entradas


devem ser mantidas constantes depois da borda de disparo do pulso de clock
para um funcionamento adequado do FF
OUTRAS CARACTERÍSTICAS

Frequência máxima (𝒇𝒎𝒂𝒙 ): Taxa mais alta na qual um flip-flop pode ser
acionado de forma confiável.
Larguras mínimas de pulso (𝒕𝑾 ) para operação confiável são especificadas
para as entradas de clock, preset e clear. Normalmente, são especificados a
partir de tempos mínimos de níveis ‘1’ e/ou ‘0’.
A dissipação de energia de qualquer circuito digital é o consumo total de
energia do dispositivo ( 𝑃 = 𝑉𝑐𝑐 × 𝐼𝑐𝑐 )
CIRCUITOS SÍNCRONOS COM UM RELÓGIO
Considere o modelo de um caminho do
circuito síncrono:
• Na subida do clock, Reg1 mantém seu valor
dado por ao menos 𝑡𝐶𝐷,𝑅1 e, após o tempo de
propagação, estabiliza sua saída.
• O tempo de contaminação 𝑡𝐶𝐷,𝐿 segue 𝑡𝐶𝐷,𝑅1 ,
definindo o tempo onde a saída de L pode
estar inválida.
• A soma dos tempos de propagação de Reg1 e
L, somado ao setup de Reg2 indica o tempo
mínimo para o ínicio de um novo ciclo.
CIRCUITOS SÍNCRONOS COM UM RELÓGIO

Questões:
• Mínimo 𝑡𝐶𝐷,𝐿 para o funcionamento do circuito. O que fazer para garantir?
• Máxima frequência do relógio?
• Tempos de Setup e Hold para as entradas?
CIRCUITOS SÍNCRONOS COM UM RELÓGIO
Usaremos os registradores de maneira bastante restrita para construir os
circuitos sequenciais:
• Sem ciclos combinatórios (bloqueados por registradores)
• Um único sinal de relógio periódico distribuido entre todos os dispositivos
• Nenhuma lógica sobre o sinal de relógio ou sobre as entradas preset, reset
• Período maior do que todo atraso combinatório + tempo de configuração
• Tempos de set-up e de hold são considerados como garantidos

Desta forma, apenas nos importamos com o valor de entrada dos registradores
antes da subida do relógio.
Abstração via máquinas de estados finitos!

Você também pode gostar