Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
Circuitos síncronos e assíncronos, clock...
Latch e flip-flop (funcionamento)
Latch D com enable
Flip-flop D com:
Reset
Controle de escrita
Contadores
Contador de clock sequencial
Contador síncrono (flip-flop JK)
2
Circuitos sequenciais
Circuitos digitais
Combinacionais
Circuitos onde em qualquer instante de tempo o valor da
saída depende unicamente do valor das entradas
Exemplo: todos circuitos vistos até agora
Sequenciais
Circuito onde o valor das saídas é determinado não
somente a partir do valor das entradas mas também a
partir do estado do circuito
Exemplo: contador
3
Circuitos sequenciais
4
Circuitos sequenciais
5
Circuitos sequenciais
8
Circuitos sequenciais
Assíncronos
Estado atual pode mudar a qualquer momento
(sensível ao nível)
Projeto de circuitos deste tipo está fora do
escopo desta disciplina
Síncronos
Estado atual pode mudar apenas momentos
exatos determinados por um sinal de
sincronização denominado clock
Grande maioria dos circuitos sequenciais (e.g.
processador)
Foco desta disciplina
9
Circuitos sequenciais
Clock
Sinal utilizado para sincronizar os elementos de memória
de um circuito sequencial
Controla a mudança de estado
Determina a velocidade de operação do circuito em termos de
frequência (e.g. 100 MHz; 2,2 GHz)
Entrada presente em qualquer circuito sequencial
Forma de onda quadrada regular
Gerada por um circuito oscilador (gera 0 e 1 alternadamente)
Pulso positivo (crista) Período (T) Borda de
descida (1→0)
CLK
Ciclo
Borda de Frequência = 1/T
Pulso negativo (vale) subida (0→1)
10
Circuitos sequenciais
Elementos de memória
Latch D
Flip-Flop D
Dispositivo de armazenamento binário capaz
de armazenar um bit de informação
Armazenam o valor da entrada d na saída q
Latch D Flip-Flop D
d q d q
en !q clk !q
Armazenamento Armazenamento
sensível ao nível de en (0 ou 1) sensível a borda de clk
(subida ou descida)
11
Circuitos sequenciais
Elementos de memória
Latch D
Armazenamento controlado pelo nível da entrada en
(enable)
Latch D Latch D
d q d q
en !q en !q
12
Circuitos sequenciais
Elementos de memória
Latch D
Armazenamento controlado pelo nível da entrada en
(enable)
Latch D
d q
EN
en !q
en d q
0 X Mantém último valor
1 0 0
Saída q é atualizada Laços de realimentação
enquanto o latch está
1 1 1 transparente (en=1) (armazenamento)
13
Circuitos sequenciais
Elementos de memória
Latch D
Armazenamento controlado pelo nível da entrada en
(enable)
Latch D
d q
EN
en !q
en d q
Para criar um Latch D sensível
1 X Mantém último valor
Saída q é atualizada ao nível baixo, basta colocar
0 0 0
enquanto o latch está um inversor na entrada EN
0 1 1 transparente (en=0)
próximo slide
14
Circuitos sequenciais
Elementos de memória
Latch D
Logisim
15
Circuitos sequenciais
Elementos de memória
Latch D
Armazenamento controlado pelo nível da entrada en
(enable)
Latch D
d q
EN
en !q
en d q en d q* Saída q do circuito
0 X Mantém último valor 0 X q Valor atual da saída q
1 0 0 1 0 0 (depende do último valor
1 1 1 1 1 1 armazenado)
16
Circuitos sequenciais
Elementos de memória
Latch D
Armazenamento controlado pelo nível da entrada en
(enable)
Latch D
d q
EN
en !q
Transparente 17
Circuitos sequenciais
Elementos de memória
Latch D
Armazenamento controlado pelo nível da entrada en
(enable)
Latch D
Latch D transparente d q
quando en = 1
en !q
18
Circuitos sequenciais
Elementos de memória
Latch D
Armazenamento controlado pelo nível da entrada en
(enable)
Latch D
Latch D transparente d q
quando en = 1
en !q
19
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
Problema:
SR=11→SR=00
Latch SR (hold)
utilizando
NORs (hold)
20
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
21
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
0
1
22
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
Armazenamento
Considerando D = 0.
Quando Clk transiciona para 1,
R muda para 0 e o latch SR de
1 0
saída é resetado (Q = 0).
0 →1
1→0
0 1
23
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
Armazenamento
Considerando D = 0.
Quando Clk transiciona para 1,
R muda para 0 e o latch SR de
1 0
saída é resetado (Q = 0).
0 →1
Se a entrada D mudar de valor
enquanto Clk=1, a saída Q não 1→0
é alterada porque o latch SR de
saída continua resetado. Latch em estado
de hold (mantém
o último estado)
0 →1 1
24
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
Armazenamento
Considerando D = 0.
Quando Clk transiciona para 1,
R muda para 0 e o latch SR de
1 0
saída é resetado (Q = 0).
0 →1
Se a entrada D mudar de valor
enquanto Clk=1, a saída Q não 1→0
é alterada porque o latch SR de
saída continua resetado.
25
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
0
Armazenamento 1
Considerando D = 1.
Quando Clk transiciona para 1,
S muda para 0 e o latch SR de
1→0 1
saída é setado (Q = 1).
0 →1
1
1 0
26
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
0 →1
Armazenamento 1
Latch em estado
Considerando D = 1. de hold (mantém
Quando Clk transiciona para 1, o último estado)
S muda para 0 e o latch SR de
1→0 1
saída é setado (Q = 1).
0 →1
Se a entrada D mudar de valor
enquanto Clk=1, a saída Q não 1
é alterada porque o latch SR de
saída continua setado.
1 →0 0 →1
27
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
0
Armazenamento 1
Considerando D = 1.
Quando Clk transiciona para 1,
S muda para 0 e o latch SR de
1→0 1
saída é setado (Q = 1).
0 →1
Se a entrada D mudar de valor
enquanto Clk=1, a saída Q não 1
é alterada porque o latch SR de
saída continua setado.
28
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
Armazenamento
Flip-Flop D
d q
clk !q
clk D q*
Controla o armazenamento do bit 0 ↑ 0 0
(reseta o latch SR de saída) ↑ 1 1 Próximo
≠↑ X q valor de q
29
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Pode ser construído a partir de três latches SR
Mestre-Escravo x 3 latches SR
6 portas lógicas
11 portas lógicas
30
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Armazenamento controlado pela borda da entrada
CLK (clock)
clk !q clk !q
Slide anterior
31
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Armazenamento controlado pela borda da entrada
CLK (clock)
Flip-Flop D
d q
clk !q
clk d q*
↑ 0 0 Saída q é atualizada
apenas em bordas de
↑ 1 1 subida do clock (clk)
≠↑ X q
32
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Armazenamento controlado pela borda da entrada
CLK (clock)
Flip-Flop D
d q
clk !q
clk d q*
↓ 0 0 Saída q é atualizada Para criar um Flip-Flop D
apenas em bordas de sensível à borda de descida
↓ 1 1 descida do clock (clk)
do clock, basta colocar um
≠↓ X q
inversor na entrada CLK
próximo slide
33
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Logisim
34
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Armazenamento controlado pela borda da entrada
CLK (clock)
Flip-Flop D
Saída q atualizada d q
nas bordas de subida
do clock (clk) clk !q
35
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Armazenamento controlado pela borda da entrada
CLK (clock)
Flip-Flop D
Saída q atualizada d q
nas bordas de subida
do clock (clk) clk !q
36
Circuitos sequenciais
Elementos de memória
Flip-Flop D
Armazenamento controlado pela borda da entrada
CLK (clock)
Flip-Flop D
Saída q atualizada d q
nas bordas de subida
do clock (clk) clk !q
37
Circuitos sequenciais
Elementos de memória
Flip-Flop D com reset (clear) assíncrono
Sensível ao nível do reset, independente do clock
clk !q clk
1
0
!rst clk d q*
0 X X 0 Quando rst = 0, q ← 0
1 ↑ 0 0 d Latch em estado
1 ↑ 1 1 Funcionamento de reset
normal quando rst = 1 0
1 ≠↑ X q !rst
38
Circuitos sequenciais
Elementos de memória
Flip-Flop D com reset (clear) assíncrono
Sensível ao nível do reset, independente do clock
rst
clk !q clk
rst clk d q*
1 X X 0 Quando rst = 1, q ← 0
0 ↑ 0 0 d
0 ↑ 1 1 Funcionamento
normal quando rst = 0
0 ≠↑ X q rst
Slide anterior
39
Circuitos sequenciais
Elementos de memória
Flip-Flop D com reset (clear) assíncrono
Sensível ao nível do reset, independente do clock
40
Circuitos sequenciais
Elementos de memória
Flip-Flop D com reset (clear) assíncrono
Sensível ao nível do reset, independente do clock
Saída q atualizada d q
nas bordas de subida
do clock (clk) ou rst
quando rst = 1
clk !q
41
Circuitos sequenciais
Análise dinâmica
42
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
43
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
44
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
45
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
46
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
47
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
48
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
49
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
50
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
51
Circuitos sequenciais
Elementos de memória
Análise dinâmica
Saída q atualizada
nas bordas de subida
do clock (clk) ou A cada ciclo do clock,
quando rst = 1 a saída q armazena o
valor da saída !q
52
Circuitos sequenciais
Elementos de memória
Contador de 2 bits (0-3)
Clock do FF1 é
gerado pela
saída !q do FF0
53
Circuitos sequenciais
Elementos de memória
Contador de 2 bits (0-3)
Analise dinâmica
54
Circuitos sequenciais
Elementos de memória
Contador de 3 bits (0-7)
55
Circuitos sequenciais
Elementos de memória
Contador de 3 bits (0-7)
56
Circuitos sequenciais
Elementos de memória
Contador de 0-7
57
Circuitos sequenciais
Elementos de memória Como transformar em um
Contador de 4 bits (0-15) contador BCD (0-9) ?
58
Circuitos sequenciais
Elementos de memória
Contador BCD (0-9)
Detecta o 1010 e
“reseta” o contador
1 0 1 0
59
Circuitos sequenciais
Elementos de memória
Contador BCD (0-9)
Detecta o 1010 e
“reseta” o contador
1 0 1 0
60
Circuitos sequenciais
Elementos de memória
Contador BCD (0-9)
61
Circuitos sequenciais
Elementos de memória
Contador BCD (0-9)
Contador de década
63
Circuitos sequenciais
Elementos de memória
Flip-Flop D com controle de escrita
Armazenamento é controlado através de um sinal de
carga (load) Quando load = 0, o valor atual é
rearmazenado (q ← q)
Quando ↑CLK e load = 1, q ← d
d q
rst
load
clk !q
load
D
64
Circuitos sequenciais
Elementos de memória
Flip-Flop D com controle de escrita
Armazenamento é controlado através de um sinal de
carga (load) Quando load = 0, o valor atual é
rearmazenado (q ← q)
Quando ↑CLK e load = 1, q ← d
d q
rst
load
clk !q
65
Circuitos sequenciais
Elementos de memória
Flip-Flop D com controle de escrita
Armazenamento é controlado através de um sinal de
carga (load) Quando load = 0, o valor atual é
rearmazenado (q ← q)
Quando ↑CLK e load = 1, q ← d
d q
rst
load
clk !q
66
Circuitos sequenciais
Elementos de memória
Contador de 3 bits com enable
Quando en=0, o
contador mantém o
valor da contagem
67
Circuitos sequenciais
Elementos de memória
Contador de 3 bits decrescente (7-0)
68
Circuitos sequenciais
Elementos de memória
Contador de 3 bits decrescente (7-0)
Basta utilizar as saídas !q dos flip-flops
69
Circuitos sequenciais
Elementos de memória
Contador de 3 bits decrescente (7-0)
Basta utilizar as saídas !q dos flip-flops
70
Circuitos sequenciais
Elementos de memória
Contador de 3 bits up/down (0-7/7-0)
Basta utilizar ambas saídas dos flip-flops
71
Circuitos sequenciais
Elementos de memória
Construir no logisim os circuitos vistos nesta
aula e verificar a sua funcionalidade
72
Circuitos sequenciais
Elementos de memória
Relógio 24h
Utilizar os conceitos aprendidos nesta aula e
construir no logisim um relógio 24h
Utilizar: BCD-7 segmentos, circuito contador
0-9 visto nesta aula
73
Circuitos sequenciais
Elementos de memória
Relógio 24h (organização referência)
74
Circuitos sequenciais
Elementos de memória
Contador síncrono
Em contadores síncronos ou paralelo, todos os FFs são
disparados simultaneamente (em paralelo) pelos pulsos de
clock da entrada.
75
Circuitos sequenciais
Elementos de memória
Contador síncrono
Em contadores síncronos ou paralelo, todos os FFs são
disparados simultaneamente (em paralelo) pelos pulsos de
clock da entrada.
Este FF deve
comutar a cada
borda do clock, por
isto as suas entradas
estão fixas em “1”
77
Circuitos sequenciais
Elementos de memória
Contador síncrono
78
Circuitos sequenciais
Elementos de memória
Contador síncrono
79
Circuitos sequenciais
Elementos de memória
Contador síncrono
80
Circuitos sequenciais
Elementos de memória
Contador síncrono
Em suma, cada FF
deve ter as suas
entradas J e K
conectadas de modo
que estejam no nível
ALTO apenas quando
as saídas de todos os
FFs de mais baixa
ordem estiverem no
estado ALTO
81