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