MC542
Organização de Computadores
Teoria e Prática
2007
Prof. Paulo Cesar Centoducatte
[email protected]
www.ic.unicamp.br/~ducatte
MC542
4.1
MC542
Circuitos Lógicos
Projeto de Circuitos Seqüenciais
“DDCA” - (Capítulo 3)
“FDL” - (Capítulo 7)
MC542
4.2
Projeto de Circuitos Seqüenciais
Sumário
•
•
•
•
Introdução
Latches e Flip-Flops
Projeto de Circuitos Síncronos
Registradores
•
•
Registradores de Deslocamento
Contadores
– Uso de Registradores com Barramento
– Assíncronos
– Síncronos
MC542
4.3
Introdução
• As saídas de um circuito seqüencial dependem dos
valores presente e passados de suas entradas.
• Lógica seqüencial possue memória.
• Algumas definições:
– Estado (State): conjunto de informações a cerca do circuito
necessárias para se prever o seu comportamento futuro.
– Latches e flip-flops: elementos de estado que armazenam um
bit
– Circuitos seqüencias Síncronos: circuito combinacional seguido
de um banco de flip-flops
MC542
4.4
Elementos de Estados
• O estado de um circuito determina o seu
comportamento futuro
• Elementos de Estado armazenam o estado
–
–
–
–
Circuito bi-estável
Latch SR
Latch D
Flip-flop D
» Outros tipos de flip-flops
• JK
• T
• SR
MC542
4.5
Circuito Bi-estável
• Bloco Fundamental para a construção dos outros elementos de
estado
• Duas saídas: Q, Q
• Sem entradas.
I2
Q
I1
Q
I1
Q
I2
Q
MC542
4.6
Circuito Bi-estável: Comportamento
• Considere os dois casos abaixo:
1
I1
0
Q
– Q = 0: então Q = 1 e Q = 0
0
– Q = 1: então Q = 0 e Q = 1
0
1
I2
I1
I2
1
1
0
Q
Q
Q
• O circuito bi-estável armazena 1 bit do estado na variável, Q
(ou Q )
• Porém não há entrada para controle do estado
MC542
4.7
Elemento de Memória com Controle
Load
A
Data
B
Output
TG1
TG2
MC542
4.8
SR Latch
• Latch Set/Reset (Latch SR)
• Definições
– Set: Saída igual a 1
– Reset: saída igual a 0
• Quando a entrada set, S, é 1 (e R = 0), Q = 1
• Quando a entrada reset, R, é 1 (e S = 0), Q = 0
R
S
R
Q
N2
Q
Q
S
• Qual a tabela verdade?
N1
MC542
4.9
SR Latch
•
Considere os quatro casos possíveis:
•S = 1, R = 0
•S = 0, R = 1
•S = 0, R = 0
•S = 1, R = 1
MC542
4.10
SR Latch
• S = 1, R = 0: then Q = 1 and Q = 0
R
0
N1
1
Q
0
S
0
1
N2
0
Q
• S = 0, R = 1: then Q = 0 and Q = 1
R
1
N1
0
Q
1
S
0
0
N2
1
Q
MC542
4.11
SR Latch
• S = 0, R = 0: então Q = Qprev e Q = Qprev
Qprev = 0
R
0
N1
Qprev = 1
0
R
Q
1
S
0
0
(memória!)
0
N1
1
Q
0
N2
1
Q
S
1
0
N2
0
Q
• S = 1, R = 1: então Q = 0 e Q = 0 (estado invalido: Q ≠ NOT Q)
R
1
N1
0
Q
0
S
0
1
N2
0
Q
MC542
4.12
SR Latch
R
S
Q
a
Q
b
Q
S
R
Q
0
0
0/1 1/0
0
1
0
1
1
0
1
0
1
1
0
0
a
b
(no change)
MC542
4.13
SR Latch
Latch SR
R
Q
S
Q
t1 t2
t3
t4 t5
t6
t7
t8
t9
t10
1
R
0
1
S
Qa
Qb
0
1
0
1
0
?
?
Time
MC542
4.14
Latch SR com Enable
R
En
S
R
Q(t + 1)
0
x
x
Q(t) (no change)
1
0
0
Q(t) (no change)
1
0
1
0
1
1
0
1
1
1
1
x
R
Q
En
Q
S
S
MC542
4.15
Latch SR com Enable
1
Clk
0
1
R
0
1
S
0
1
?
Q
0
1
?
Q
0
Time
S
Q
Clk
R
Q
MC542
4.16
Latch SR com Nand
S
Q
En
Q
R
Qual a tabela verdade?
MC542
4.17
Latch D
S
D
(Data)
En
D
Q(t + 1)
0
x
Q ( t)
1
0
0
1
1
1
Q
En
Q
R
En
D
R
S
D
R
S
Q Q
D
Q
En
Q
Q Q
MC542
4.18
Latch D
t
1
t
2
t
3
t
4
En
D
Q
Time
MC542
4.19
Flip-Flop D
•
•
•
•
Duas entradas: CLK, D
Q só muda na borda (subida ou decida) do CLK
O flip-flop “samples” D na borda do CLK
O flip-flop é chamado de dispositivo edge-triggered devido a
ser ativo na borda do clock
Flip-Flop D
D
Q
Q
MC542
4.20
Flip-Flop D Mestre-Escravo
Master
Slave
Q
D
Clock
D
Q
Clk
Q
Q
m
D
Q
Clk
Q
s
Q
Q
CLK
D
Q
CLK
D D
Q
L1
Q
Q
CLK
N1
D
Q Q
L2
Q Q
MC542
4.21
Flip-Flop D Mestre-Escravo
Clock
D
Q
m
Q = Q
s
MC542
4.22
Flip-Flop D vs. Latch D
CLK
D
Q
Q
D
Q
Q
CLK
D
Q (latch)
Q (flop)
MC542
4.23
Flip-Flop D vs. Latch D
CLK
D
Q
Q
D
Q
Q
CLK
D
Q (latch)
Q (flop)
MC542
4.24
Flip-Flop
D
Q
Qa
Clk Q
Qa
Q
Qb
Q
Qb
Q
Qc
Q
Qc
D
Clock
D
D
Clock
D
Qa
Qb
Qc
MC542
4.25
Flip-Flop D Sensível à Borda de Subida
1
2
P3
P1
5
Q
6
Q
Clock
3
D
4
P2
P4
D
Clock
Q
Q
MC542
4.26
FF D Mestre-Escravo com Preste e Clear
Assíncronos
Preset
D
Q
Clock
Q
Clear
Preset
D
Q
Q
Clear
MC542
4.27
FF D Sensível à Borda com Preste e Clear
Assíncrono
Preset
Q
Preset
D
Q
Clock
Q
Q
Clear
D
Clear
MC542
4.28
FF D Com Reset Síncrono
CLK
D
Reset
D
Q
Q
MC542
4.29
Flip-Flop Tipo T
D
T
Q
Q
Q
Q
Clock
T
Q( t + 1 )
0
Q( t )
1
Q( t )
T
Q
Q
MC542
4.30
Flip-Flop Tipo JK
J
D
K
Q
Q
Q
Q
Clock
J K Q ( t + 1)
0
0
1
1
0
1
0
1
Q ( t)
0
1
Q (t)
J
Q
K Q
MC542
4.31
Registradores
• Conjunto de elementos de memória (flip-flops)
utilizados para armazenar n bits.
• Utilizam em comum os sinais de clock e controle
CLK
D0
D
Q
Q0
CLK
D1
D
Q
Q1
D2
D
Q
Q2
D3
D
Q
Q3
D3:0
4
4
Q3:0
MC542
4.32
Shift Register
Apresenta o seuinte comportamento:
In
Q1
Q2
Q3
Q4 = Out
t0
1
0
0
0
0
t1
0
1
0
0
0
t2
1
0
1
0
0
t3
1
1
0
1
0
t4
1
1
1
0
1
t5
0
1
1
1
0
t6
0
0
1
1
1
t7
0
0
0
1
1
MC542
4.33
Shift Register
In
Clock
D
Q
Q
Q1
D
Q
Q
Q2
D
Q
Q
Q3
D
Q
Q4
Out
Q
MC542
4.34
Shift Register com Carga Paralela
Parallel output
Q3
D
Q
Q
Serial
input Shift/Load
Q2
D
Q
Q
Parallel input
Q1
D
Q
Q
Q0
D
Q
Q
Clock
MC542
4.35
Shift Register Universal
• Entrada Serial
– Deslocamento a Esquerda
– Deslocamento a Direita
• Carga Paralela
• Saída Paralela
• Exercício: Desenhe o Diagrama do Shift Register
Universal de 4 bits.
MC542
4.36
Registradores em um Barramento
Data
Extern
Bus
Clock
R1
R1in
R1out
R2
R2in
R2out
Rk
Rkin
Rkout
Control circuit
Function
MC542
4.37
Registradores em um Barramento
Bus
R 1out
D
R 2out
Q
D
Q
Q
D
Q
R 1in
Q
D
Q
Q
Q
R 2in
Clock
R1
R2
MC542
4.38
Contadores
• Assíncronos
• Síncronos
MC542
4.39
Contadores
Contador Binário
Q2
Q1
Q0
t0
0
0
0
t1
0
0
1
t2
0
1
0
t3
0
1
1
t4
1
0
0
t5
1
0
1
t6
1
1
0
t7
1
1
1
clk
MC542
4.40
Contador Binário – FF Tipo T
Clock
Q
0
Q
1
Q
2
Count
0
1
2
3
4
5
6
7
0
MC542
4.41
Contador Binário – FF Tipo T
1
Clock
T
Q
T
Q
Q
T
Q
Q
0
Q
Q
Q
1
Q
2
Contador Binário Assíncrono
(up-counter)
MC542
4.42
Contador Binário – FF Tipo T
(Down-Counter)
Clock
Q0
Q1
Q2
Count
0
7
6
5
4
3
2
1
0
MC542
4.43
Contador Binário – FF Tipo T
(Down-Counter)
1
Clock
T
Q
T
Q
Q
T
Q
Q
0
Q
Q
Q
1
Q
2
Contador Binário Assíncrono
(down-counter)
MC542
4.44
Contadores Síncronos
Clock cycle
Q
2
Q
1
Q
0
Q
0
0
0
0
1
0
0
1
2
0
1
0
3
0
1
1
4
1
0
0
5
1
0
1
6
1
1
0
7
1
1
1
8
0
0
0
1
changes
Q
2
changes
MC542
4.45
Contador Binário Síncrono
Clock
Q0
Q1
Q
2
Q3
Count
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
MC542
4.46
Contador Binário Síncrono
1
T
Q
T
Q
Q
0
Clock
Q
T
Q
Q
1
Q
T
Q
Q
2
Q
Q
3
Q
MC542
4.47
Contador Binário Síncrono
com Enable e Clear
Enable
Clock
T
Q
Q
T
Q
Q
T
Q
Q
T
Q
Q
Clear
MC542
4.48
Contador de 4
bits com FF D
Enable
D
Q
Q0
Q
D
Como determinar
as funções de
exitação de
cada FF?
Q
Q1
Q
D
Q
Q2
Q
1. Projeto por Inspeção
2. Projeto de Máquina
de Estados Finitos
(FSM)
Clock
D
Q
Q3
Q
Output
carry
MC542
4.49
Contador de 4
bits com FF D
com Carga
Paralela
Enable
D0
0
1
D1
0
1
D Q
Q0
Q
D Q
Q1
Q
D2
0
1
D Q
Q2
Q
D3
0
1
D Q
Q3
Q
Output
carry
Load
Clock
MC542
4.50
Contador Módulo
(exemplo:. Módulo 6)
Clock
Q
Q
Q
0
1
2
Count 0
1
2
3
4
5
0
1
MC542
4.51
Contador Módulo
(exemplo: Módulo 6)
1
Enable
0
D
0
D
0
D
0
1
2
Load
Q
0
Q
1
Q
2
Clock
Clock
MC542
4.52
Contador Módulo 6 com Reset Assíncrono
1
T
Q
T
Q
Q
0
Clock
Q
T
Q
Q
1
Q
Q
2
Q
MC542
4.53
Contador Módulo 6 com Reset Assíncrono
Clock
Q0
Q1
Q2
Count
0
1
2
3
4
5
0
1
2
MC542
4.54
Download

Q - Unicamp