organização de computadoresducatte/mc542/slides/mc542_c... · 2011. 6. 21. · • o circuito...
TRANSCRIPT
-
MC542
Organização de ComputadoresTeoria e Prática
MC5424.1
2007
Prof. Paulo Cesar Centoducatte
www.ic.unicamp.br/~ducatte
-
MC542
Circuitos Lógicos
Projeto de Circuitos Seqüenciais
MC5424.2
“DDCA” - (Capítulo 3)
“FDL” - (Capítulo 7)
-
Projeto de Circuitos Seqüenciais Sumário
• Introdução• Latches e Flip-Flops• Projeto de Circuitos Síncronos • Registradores
– Uso de Registradores com Barramento
• Registradores de Deslocamento• Contadores
MC5424.3
• Registradores de Deslocamento• Contadores
– Assíncronos– Síncronos
-
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:
MC5424.4
– 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
-
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
MC5424.5
– Latch SR
– Latch D
– Flip-flop D» Outros tipos de flip-flops
• JK
• T
• SR
-
Circuito Bi-estável
• Bloco Fundamental para a construção dos outros elementos de estado
• Duas saídas: Q, Q• Sem entradas.
QI1
MC5424.6
QQQ
Q
I1
I2
I2 I1
-
Circuito Bi-estável: Comportamento
• Considere os dois casos abaixo:
– Q = 0: então Q = 1 e Q = 0
– Q = 1: então Q = 0 e Q = 1
Q
Q
I1
I2
0
1
1
0
QI11
0
MC5424.7
– Q = 1: então Q = 0 e Q = 1
• 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
QI201
-
Elemento de Memória com Controle
A B OutputData
Load
MC5424.8
OutputData
TG1
TG2
-
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
MC5424.9• Qual a tabela verdade?
R
S
Q
Q
N1
N2
R
S Q
-
SR Latch
• Considere os quatro casos possíveis:
•S = 1, R = 0
•S = 0, R = 1
•S = 0, R = 0
MC5424.10
•S = 1, R = 1
-
SR Latch
• S = 1, R = 0: then Q = 1 and Q = 0
R
S
Q
Q
N1
N2
0
1
1
00
0
• S = 1, R = 0: then Q = 1 and Q = 0
MC5424.11
• S = 0, R = 1: then Q = 0 and Q = 1
R
S
Q
Q
N1
N2
1
0
0
10
1
• S = 0, R = 1: then Q = 0 and Q = 1
R
S
Q
Q
N1
N2
1
0
0
10
1
-
SR Latch
• S = 0, R = 0: então Q = Qprev e Q = Qprev (memória!)
R
S
Q
Q
N1
N2
0
0
1
01
0
R
S
Q
Q
N1
N2
0
0
0
10
1
Qprev
= 0 Qprev
= 1
MC5424.12
• S = 1, R = 1: então Q = 0 e Q = 0 (estado invalido: Q ≠ NOT Q)
R
S
Q
Q
N1
N2
1
1
0
00
0
SQN20
SQN20
-
SR Latch
Qa
R S R Qa
Qb
0 0 0/1 1/0 (no change)
MC5424.13
Qb
S
0 1
1 0
1 1
0 1
1 0
0 0
-
SR Latch
S
R Q
Q
Latch SR
1
t1 t2 t3 t4 t5 t6 t7 t8 t9 t10
MC5424.14
Time
1
0
1
0
1
0
1
0
R
S
Qa
Qb
?
?
-
Latch SR com Enable
S R
x x Q(t ) (no change)
En
0
Q t 1 + ( ( ( ( ) ) ) )
Q
R ′ ′ ′ ′ R
MC5424.15
0 0
0 1
1 0
0
1
1
1
1
1 1 1
Q(t ) (no change)
x
Q
S ′ ′ ′ ′ S
En
-
Latch SR com Enable
R
Clk
S
1
0
1
0
1
0
MC5424.16
S Q
Q
Clk
R
Q
Q
1
0
1
0
Time
?
?
-
Latch SR com Nand
S
En
Q
MC5424.17
R
Q
Qual a tabela verdade?
-
Latch D
En D
0
1
1
x
0
1
0
1
Q t 1 + ( ( ( ( ) ) ) )
Q t ( ( ( ( ) ) ) )
Q
S
R
En
D
(Data)
Q
MC5424.18
D Q
Q En
R
S
R Q
Q
Q
QD
EnD
R
S
-
Latch D
t 1
t 2
t 3
t 4
En
MC5424.19
Time
D
Q
-
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
MC5424.20
Flip-Flop D
D Q
Q
-
Flip-Flop D Mestre-Escravo
D Q
Q
Master Slave
D
Clock
Q
Q
D Q
Q
Q m
Q s
Clk Clk
MC5424.21
D Q
Q
CLK
D Q
Q
CLK
D Q
Q
Q
Q
DN1
CLK
L1 L2
-
Flip-Flop D Mestre-Escravo
D
Clock
MC5424.22
Q m
Q Q s
=
-
Flip-Flop D vs. Latch D
CLK
D Q
Q
D Q
Q
MC5424.23
CLK
D
Q (latch)
Q (flop)
-
Flip-Flop D vs. Latch D
CLK
D Q
Q
D Q
Q
MC5424.24
CLK
D
Q (latch)
Q (flop)
-
Flip-FlopD Q
Q
D Q
Q
D Q
D
Clock Q a
Q b
Q c
Q b
Q a
Clk
MC5424.25
D
Clock
Q a
Q b
Q c
Q Q c
-
Flip-Flop D Sensível à Borda de Subida
Clock
P3
P1
5
1
2 Q
MC5424.26
D Q
Q Clock
D
Clock
P4
P2 6 3
Q
4
-
FF D Mestre-Escravo com Preste e ClearAssíncronos
Q
Q
D
Clock
Preset
MC5424.27
Clear
D Q
Q
Clear
Preset
-
FF D Sensível à Borda com Preste e ClearAssíncrono
Q
Preset
Preset
D Q
MC5424.28
D
Clock
Q
Clear
Clear
D Q
Q
-
FF D Com Reset Síncrono
CLK
MC5424.29
D QD
QReset
-
Flip-Flop Tipo T
D Q
Q
Q
Q T
MC5424.30
Q
Clock
T Q
Q
T
0
1
Q t 1 + ( ( ( ( ) ) ) )
Q t ( ( ( ( ) ) ) )
Q t ( ( ( ( ) ) ) )
-
Flip-Flop Tipo JK
D Q
Q
Q
Q
J
Clock
K
MC5424.31
Clock
K
0
1
Q t 1+(((( ))))
Q t(((( ))))
0
J
0
0
0 11
1 Q t(((( ))))1
J Q
QK
-
Registradores
• Conjunto de elementos de memória (flip-flops) utilizados para armazenar n bits.
• Utilizam em comum os sinais de clock e controle
C L K
D QD0
Q0
MC5424.32
D Q
D Q
D Q
D Q
D0
D1
D2
D3
Q0
Q1
Q2
Q3
D3 :0
4 4
C L K
Q3 :0
-
Shift Register
t 0
t 1
1
0
0
1
0
0
0
0
0
0
Q 1 Q 2 Q 3 Q 4 Out = In
Apresenta o seuinte comportamento:
MC5424.33
t 2
t 3
t 4
t 5
t 6
t 7
1
1
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
-
Shift Register
D Q D Q D Q D Q In Out Q 1 Q 2 Q 3 Q 4
MC5424.34
Q Clock Q Q Q
-
Shift Register com Carga Paralela
Q3 Q2 Q1 Q0
Parallel output
D Q
Q
D Q
Q
D Q
Q
D Q
Q
MC5424.35
ClockParallel inputShift/Load
Serialinput
-
Shift Register Universal
• Entrada Serial
– Deslocamento a Esquerda
– Deslocamento a Direita
• Carga Paralela
• Saída Paralela
MC5424.36
• Exercício: Desenhe o Diagrama do Shift Register Universal de 4 bits.
-
Registradores em um Barramento
Bus
Clock R 1 R 2 Rk
Data
Extern
MC5424.37
R 1 in
Rkin
R 1 out
R 2 in
R 2 out
Rkout
Control circuit Function
-
Registradores em um Barramento
MC5424.38
-
Contadores
• Assíncronos
• Síncronos
MC5424.39
• Síncronos
-
Contadores
t 0
t 1
t 2
0
0
0
0
0
1
0
1
0
Q 2 Q 1 Q 0 clk
Contador Binário
MC5424.40
2
t 3
t 4
t 5
t 6
t 7
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
-
Contador Binário – FF Tipo T
Clock
Q 0
MC5424.41
Q 1
Q 2
Count 0 1 2 3 4 5 6 7 0
-
Contador Binário – FF Tipo T
T Q T Q T Q 1
MC5424.42
Q Clock Q Q
Q 0
Q 1
Q 2
Contador Binário Assíncrono(up-counter)
-
Contador Binário – FF Tipo T(Down-Counter)
Clock
Q 0
MC5424.43
Q 1
Q 2
Count 0 7 6 5 4 3 2 1 0
-
Contador Binário – FF Tipo T(Down-Counter)
T Q T Q T Q 1
MC5424.44
Q Clock Q Q
Q 0
Q 1
Q 2
Contador Binário Assíncrono(down-counter)
-
Contadores Síncronos
0
0
1
0
1
0
0
1
2
0
0
0
Clock cycle Q 2
Q1
Q0
Q 1
changes
Q 2
changes
MC5424.45
1 1 3
0
0
1
0
1
0
4
5
6
1 1 7
0
1
1
1
1
0 0 8 0
-
Contador Binário Síncrono
Clock
Q 0
Q
MC5424.46
Q 1
Q 2
Count 0 1 2 3 5 9 12 14 0
Q 3
4 6 8 7 10 11 13 15 1
-
T Q T Q T Q 1
Q 0
Q 1
Q 2
T Q
Q 3
Contador Binário Síncrono
MC5424.47
Q Clock Q Q
Q 0
Q 1
Q 2
Q
Q 3
-
Contador Binário Síncronocom Enable e Clear
T Q T Q Enable T Q T Q
MC5424.48
Q Clock Q
Clear
Q Q
-
Contador de 4 bits com FF D
Enable D Q
Q
D Q
Q
Q0
Q1
Como determinar as funções de exitação de
MC5424.49
Clock
D Q
Q
D Q
Q
Q2
Q3
Outputcarry
exitação de cada FF?
1. Projeto por Inspeção2. Projeto de Máquina
de Estados Finitos (FSM)
-
Contador de 4 bits com FF Dcom Carga Paralela
Enable D Q
Q
Q 0
D Q
Q
Q 1
D 0
D 1
0 1
0 1
MC5424.50
D Q
Q
Q 2
D Q
Q
Q 3
D 2
D 3
LoadClock
Outputcarry
0 1
0 1
-
Contador Módulo(exemplo:. Módulo 6)
Clock
Q 0
MC5424.51
0 1 2 3 4 5 0 1 Count
Q 1
Q 2
-
Contador Módulo(exemplo: Módulo 6)
Enable1
MC5424.52
Q 0
Q 1
Q 2
D 0
D 1
D 2
Load
Clock
0
0
0
Clock
-
Contador Módulo 6 com Reset Assíncrono
T Q T Q T Q 1
Q 0
Q 1
Q 2
MC5424.53
Q Clock Q Q
Q 0
Q 1
Q 2
-
Contador Módulo 6 com Reset Assíncrono
Clock
Q 0
MC5424.54
Q 1
Q 2
Count 0 1 2 3 4 5 0 1 2