MC 602
Circuitos Lgicos e Organizao de Computadores
IC/Unicamp
Captulo 7
Circuitos sequenciais: latches, flip-
flops, registradores, contadores
MC602 Mario Crtes IC / Unicamp 1
IC-UNICAMP
Tpicos
Elementos de armazenamento: latches e flip-
flops
Registradores
Contadores
Circuitos combinacionais
y(t) = f[x(t)] no h dependncia de x(t-1) ou
x(t-2) no h memria ou histrico
Alguns problemas no podem ser resolvidos
com circuitos combinacionais
Set
Sensor
On Off
Circuito Alarme
Reset
set
reset
on/off
Reset
Set Q
t1 t2 t3 t4 t5 t6 t7 t8 t9 t 10
1
R
0
1
S
0
1
Qa ?
0
1
Qb ?
0
Time
1
EN
0
1
R S Q
0
1 EN
S
0
R Q
1
Q ?
0
1
Q ?
0
Time
~S ~S ~R Qa Qb
Qa
1 1 Qa(t-1) Qb(t-1) sem mudana
0 1 1 0
1 0 0 1
~R Qb 0 0 0 0
S
D
(Data) Q
Clk D Q( t + 1)
Clk
0 x Q( t )
1 0 0
Q
R 1 1 1
t1 t2 t3 t4
Clk
D Q
D
Clk Q
Q
Time
0
EN Q
EN
EN
Q
MC602 Mario Crtes IC / Unicamp 12
IC-UNICAMP
Flip-flops
Latches so sensveis ao nvel: o estado
pode mudar vrias vezes durante EN=1
interessante ter circuitos que mudam de
estado apenas uma vez (nas transies do
EN)
Flip-Flops
Mestre-Escravo: composto por dois latches
controlados por clocks (enables) complementares
Edge-triggered / sensvel borda do clock
Clock
D
D Q
Qm
Q
Q = Qs
P1
2
5 Q
Clock
P2 6 Q
3
D Q
Clock Q
4 P4
D
D D Q Qa
Clock Clk Q Qa
Clock
D Q Qb
D
Q Qb
Qa
D Q Qc Qb
Q Qc Qc
Clk
Preset
Q Preset
D Q
Clock
Q
Q
Clear
Clear
Clear
D Q Q
D
Clock Q Q
J
D Q Q
K Q Q
Clock
J K Q ( t + 1) J Q
0 0 Q (t)
0 1 0
K Q
1 0 1
1 1 Q (t )
Resolve
problema do SR
D Q Q
Equivalente a
T
Q Q T
J Q
Clock
K Q
Clock T Q( t + 1)
T 0 Q( t )
1 Q( t )
Q
D Q
Registradores e Contadores
D2 D Q Q2
D1 D Q Q1
D0 D Q Q0
Clock Q
Load
0
D Q Q
Dado 1
Dado D Q Q
Clk Q
Load Q
Load
RUIM Dado D Q Q
Clk Q
Q1 Q2 Q3 Q4
In D Q D Q D Q D Q Out
Clock Q Q Q Q
D Q D Q D Q D Q
Q Q Q Q
0
1
Serial Clock
input Shift/Load Parallel input
Exerccio:
Diagrama do Shift Register Universal de 4 bits
com entradas de controle: NOP (mantm valor), SHL
(esquerda), SHR (direita), LD (carga paralela)
Extern
Bus
Clock
R1 R2 Rk
Control circuit
Function
R1out R2out
D Q D Q D Q D Q
Q Q Q Q
R1i n R2i n
Clock
R1 R2
FF-D com LD
Dois registradores (R1 e R2) de 2 bits cada ligados a
um barramento
Operao R2R1: ativar sinais R2out e R1in
Transferncia completada na borda de subida do clk
MC602 Mario Crtes IC / Unicamp 33
IC-UNICAMP
Barramento com MUX
Bus
Clock
Data
S0
Multiplexers
Sj 1
1 T Q T Q T Q
Clock Q Q Q
Q0 Q1 Q2
Clock
Q0
Q1
Q2
Count 0 7 6 5 4 3 2 1 0
Q0 Q1 Q2
Clock
Q0
Q1
Q2
Count 0 1 2 3 4 5 6 7 0
Clock cycle Q2 Q1 Q0
Q1 changes
0 0 0 0
1 0 0 1 Q2 changes
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
Clock
Q0
Q1
Q2
Q3
Count 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1
Enable T Q T Q T Q T Q
Clock Q Q Q Q
Clear
T T Q Q
T D Q Q
Clock Q Clock Q
D Q Q0
Enable D0 = Q0 = 1 Q0
Q
FF-T
D Q Q1 D1 = Q1 Q 0
Q
D Q Q2 D 2 = Q 2 Q1Q 0
Q
D Q Q3 D 3 = Q 3 Q 2Q1Q 0
Q
Output
Clock carry
MC602 Mario Crtes IC / Unicamp 44
IC-UNICAMP Contadores em cascata
Q3 Q2 Q1 Q0 Q7 Q6 Q5 Q4
Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0
Ouput Ouput
En Enable Enable
Carry Carry
Clock Clock
Clock
Clock
Contagem 12 13 14 15 16 17 18 19
Q3
Output Carry
Q4
0
1 D Q Q1
D1
Q
0
1
D Q Q2
D2
Q
0
1 D Q Q3
D3
Q
Output
Load carry
Clock
MC602 Mario Crtes IC / Unicamp 46
IC-UNICAMP
Contadores de mdulo 2n
Algumas possibilidades para mdulo M:
Com o uso de clear/preset
Contador UP:
ao atingir valor = M clear
Contador DOWN:
ao atingir valor = 2n M preset (1111111)
Com o uso de Load paralelo
Contador UP:
ao atingir contagem mxima load valor (2n M)
Contador DOWN:
ao atingir contagem = 0 load valor M
1 Enable
0 D0 Q0
0 D1 Q1
0 D2 Q2
Load
Clock
Clock
Load
Clock
Q0
Q1
Q2
Count 0 1 2 3 4 5 0 1
Clock Q Q Q
Clock
Q0
Q1
Q2
Count 0 1 2 3 4 5 0 1 2
Obs: apesar do estado final a ser detectado ser o mesmo do caso anterior,
estado 101 (5), o mdulo deste contador 5 (contagem 0 1 2 3 4 0 1 2 3 4)
MC602 Mario Crtes IC / Unicamp 49
Problemas com contadores assncronos
IC-UNICAMP
Start
D Q D Q D Q
Q Q Q
Clock
Contagem p 4 bits: 1000 0100 0010 0001 1000 0100 0010 0001 ....
Mdulo?
D Q D Q D Q
Q Q Q
Reset
Clock