Upload
internet
View
104
Download
0
Embed Size (px)
Citation preview
MC542 4.1
2007
Prof. Paulo Cesar Centoducatte
www.ic.unicamp.br/~ducatte
MC542
Organização de ComputadoresTeoria e Prática
MC542 4.2
MC542
Circuitos Lógicos
Projeto de Circuitos Seqüenciais
“DDCA” - (Capítulo 3)
“FDL” - (Capítulo 7)
MC542 4.3
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
– Assíncronos– Síncronos
MC542 4.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 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.5
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.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
MC542 4.7
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
• 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
MC542 4.8
Elemento de Memória com Controle
A B OutputData
Load
TG1
TG2
MC542 4.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
MC542 4.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
MC542 4.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 = 1R
S
Q
Q
N1
N2
1
0
0
10
1
MC542 4.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
MC542 4.13
SR Latch
Qa
Qb
R
S
S R QaQ
b
0 0
0 1
1 0
1 1
0/1 1/0
0 1
1 0
0 0
(no change)
MC542 4.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
MC542 4.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
MC542 4.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
?
?
MC542 4.17
Latch SR com Nand
S
R
En
Q
Q
Qual a tabela verdade?
MC542 4.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
MC542 4.19
Latch D
t 1
t 2
t 3
t 4
Time
En
D
Q
MC542 4.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
MC542 4.21
Flip-Flop D Mestre-Escravo
D Q
Q
Master Slave
D
Clock
Q
Q
D Q
Q
Q m Q s
Clk Clk
D Q
Q
CLK
D Q
Q
CLK
D Q
Q
Q
Q
DN1
CLK
L1 L2
MC542 4.22
Flip-Flop D Mestre-Escravo
D
Clock
Q m
Q Q s
=
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 vs. Latch D
CLK
D Q
Q
D Q
Q
CLK
D
Q (latch)
Q (flop)
MC542 4.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
MC542 4.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
MC542 4.27
FF D Mestre-Escravo com Preste e ClearAssíncronos
Q
Q
D
Clock
Preset
Clear
D Q
Q
Clear
Preset
MC542 4.28
FF D Sensível à Borda com Preste e ClearAssíncrono
D
Clock
Q
Q
Clear
Preset
Preset
Clear
D Q
Q
MC542 4.29
FF D Com Reset Síncrono
D Q
CLK
DQ
Reset
MC542 4.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
MC542 4.31
Flip-Flop Tipo JK
D Q
Q
Q
Q
J
Clock
K
K
01
Q t 1+ Q t 0
J
00
0 11
1 Q t 1
J Q
QK
MC542 4.32
Registradores
• Conjunto de elementos de memória (flip-flops) utilizados para armazenar n bits.
• Utilizam em comum os sinais de clock e controle
CLK
D Q
D Q
D Q
D Q
D0
D1
D2
D3
Q0
Q1
Q2
Q3
D3:0
4 4
CLK
Q3:0
MC542 4.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:
MC542 4.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
MC542 4.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
MC542 4.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.
MC542 4.37
Registradores em um Barramento
R 1 in Rkin
Bus
Clock
R 1 out R 2 in R 2 out Rk
out
Control circuit Function
R 1 R 2 Rk
Data
Extern
MC542 4.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
MC542 4.39
Contadores
• Assíncronos
• Síncronos
MC542 4.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
MC542 4.41
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.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)
MC542 4.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
MC542 4.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)
MC542 4.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 Q
1 Q
0 Q
1 changes
Q 2 changes
MC542 4.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
MC542 4.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
MC542 4.48
Contador Binário Síncronocom Enable e Clear
T Q
Q Clock
T Q
Q
Enable
Clear
T Q
Q
T Q
Q
MC542 4.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 determinar as funções de exitação de cada FF?
1. Projeto por Inspeção
2. Projeto de Máquina de Estados Finitos (FSM)
MC542 4.50
Contador de 4
bits com FF Dcom Carga Paralela
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
MC542 4.51
Contador Módulo(exemplo:. Módulo 6)
0 1 2 3 4 5 0 1
Clock
Count
Q 0
Q 1
Q 2
MC542 4.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
MC542 4.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
MC542 4.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