Anda di halaman 1dari 53

IC-UNICAMP

MC 602
Circuitos Lgicos e Organizao de Computadores

IC/Unicamp

Prof Mario Crtes

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

MC602 Mario Crtes IC / Unicamp 2


Circuitos combinacionais / sequenciais
IC-UNICAMP

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

MC602 Mario Crtes IC / Unicamp 3


IC-UNICAMP
Circuitos sequenciais
Circuitos sequenciais
y(t) = f[x(t-1), x(t-2), ....]  depende do histrico
de entradas  novos conceitos: estado ou
memria
Elemento bsico: elemento de memria
O mais simples e rudimentar:
A B

Elemento de memria com dois estados estveis:


A=0 e B=1 ou A=1 e B=0

MC602 Mario Crtes IC / Unicamp 4


IC-UNICAMP
Um elemento bsico feito com NORs

Reset

Set Q

Extenso dos inversores em anel


permite carga de dados:
set  1
reset  0

Base para o Latch Set Reset = Latch SR

MC602 Mario Crtes IC / Unicamp 5


IC-UNICAMP
Latch SR com NORs
R S R Qa Qb
Qa
0 0 Qa(t-1) Qb(t-1) sem mudana
0 1 0 1
1 0 1 0
Qb 1 1 0 0
S

t1 t2 t3 t4 t5 t6 t7 t8 t9 t 10
1
R
0

1
S
0

1
Qa ?
0

1
Qb ?
0

Time

MC602 Mario Crtes IC / Unicamp 6


IC-UNICAMP
Latch SR: consideraes
Forma de onda assume atrasos de
propagao = 0
Situao de entrada SR=11 indesejvel
Mas circuito pode ser usado no sistema de
alarmes

Pode ser interessante ter a funo de


habilitar (enable) a entrada de dados ou no
no Latch SR  Latch SR chaveado ou com
enable

MC602 Mario Crtes IC / Unicamp 7


IC-UNICAMP
Latch SR chaveado
R R1 EN S R Q(t + 1)
Q
0 x x Q(t) (no change)
EN 1 0 0 Q(t) (no change)
1 0 1 0
Q 1 1 0 1 Por que?
S S1 1 1 1 x

1
EN
0
1
R S Q
0
1 EN
S
0
R Q
1
Q ?
0
1
Q ?
0
Time

MC602 Mario Crtes IC / Unicamp 8


IC-UNICAMP
Latch SR com NANDs

~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

Observar entradas ativo-baixo

MC602 Mario Crtes IC / Unicamp 9


IC-UNICAMP
Latch tipo D chaveado

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

MC602 Mario Crtes IC / Unicamp 10


IC-UNICAMP
Latch tipo D: outra implementao
Equivalente a Smbolo
D EN
EN
Q D 1 D Q
Q

0
EN Q

EN

Analisar efeito do atraso do inversor nesta


configurao e na configurao com ~EN
MC602 Mario Crtes IC / Unicamp 11
IC-UNICAMP
Tempos de setup e hold em latches
Valor armazenado (travado) quando EN0
O que acontece se D est mudando?
valor travado imprevisvel
D Q
Tempos de guarda
antes: tempo de setup (preparao) EN Q

depois: tempo de hold (manuteno)


dependem dos atrasos internos e da tecnologia
ver datasheets
t su
th

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

MC602 Mario Crtes IC / Unicamp 13


IC-UNICAMP
Flip-Flop Mestre Escravo tipo D
Master Slave
Qm Qs
D D Q D Q Q

Clock Clk Q Clk Q Q

Clock

D
D Q
Qm

Q
Q = Qs

Sensvel borda de DESCIDA 14


MC602 Mario Crtes IC / Unicamp
Um Flip-Flop tipo D clssico
IC-UNICAMP (sensvel borda)
1 P3

P1
2
5 Q

Clock

P2 6 Q
3
D Q

Clock Q

4 P4
D

ver anlise de funcionamento no livro texto

MC602 Mario Crtes IC / Unicamp 15


Latch e FF: comportamento comparado
IC-UNICAMP

D D Q Qa

Clock Clk Q Qa

Clock
D Q Qb
D
Q Qb
Qa

D Q Qc Qb

Q Qc Qc

MC602 Mario Crtes IC / Unicamp 16


IC-UNICAMP
Latches e Flip-Flops: diferenas
Manifestao da sada Q em funo de
variaes na entrada D:
Latch: transparente durante EN (ou Ck) ativos, ou
seja, entrada D passa diretamente para a sada Q
Flip-Flop: na borda do Clock, o valor presente na
entrada D transferido para Q
Instante em que o valor da entrada D
armazenado
Latch: valor armazenado o presente na entrada
D no instante em que EN (ou Ck) desativado
(operao de latch ou travamento)
Flip-Flop: na borda do Clock, o valor presente na
entrada D armazenado
MC602 Mario Crtes IC / Unicamp 17
IC-UNICAMP
Tempos de setup e hold
t su
th

Clk

Tsu: tempo de guarda antes da borda do


clock (de descida, no exemplo) durante o
qual a entrada D no deve mudar
Th: idem, para depois da borda do clock

MC602 Mario Crtes IC / Unicamp 18


FF D: borda de subida, com
IC-UNICAMP
Preset e Clear assncronos

Preset

Q Preset

D Q
Clock
Q
Q
Clear

Clear

MC602 Mario Crtes IC / Unicamp 19


IC-UNICAMP
FF D com Clear sncrono

Clear
D Q Q
D

Clock Q Q

MC602 Mario Crtes IC / Unicamp 20


IC-UNICAMP
Flip-Flop JK

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

MC602 Mario Crtes IC / Unicamp 21


IC-UNICAMP
Flip-Flop tipo T
T Q

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

MC602 Mario Crtes IC / Unicamp 22


IC-UNICAMP
Parmetros de timing de Flip-Flops

D Q

tsu, th: tempos de setup e hold


Clock Q
tcQ: atraso de propagao do clock at Q

MC602 Mario Crtes IC / Unicamp 23


IC-UNICAMP
MC 602

Registradores e Contadores

MC602 Mario Crtes IC / Unicamp 24


IC-UNICAMP Tpicos de Registradores
Construo usando flip-flops
Clear assncrono e Enable
Registradores deslocamento
Carga paralela
Registrador deslocamento universal
Exemplo de uso em barramento

MC602 Mario Crtes IC / Unicamp 25


IC-UNICAMP Registradores
Conjunto de elementos de memria (flip-flops) utilizados
para armazenar n bits a cada borda do clock
Utilizam em comum os sinais de clock e controle

D3 D Q Q3 Smbolo ANSI/IEEE Std 91


Q

D2 D Q Q2

D1 D Q Q1

D0 D Q Q0

Clock Q

MC602 Mario Crtes IC / Unicamp 26


IC-UNICAMP
Registrador (Flip-Flop) com enable
O registrador apresentado carrega o dado a cada
borda do clock
Desejvel carga controlada por sinal load

Load

0
D Q Q
Dado 1
Dado D Q Q
Clk Q
Load Q

Load

RUIM Dado D Q Q

Clk Q

MC602 Mario Crtes IC / Unicamp 27


Shift Register Registrador
IC-UNICAMP
de deslocamento
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

Q1 Q2 Q3 Q4
In D Q D Q D Q D Q Out

Clock Q Q Q Q

MC602 Mario Crtes IC / Unicamp 28


IC-UNICAMP
Usos do registrador de deslocamento
Converso srie  paralelo
Converso paralelo  srie
(precisa de carga paralela)
Multiplicador / divisor por potncia de 2

MC602 Mario Crtes IC / Unicamp 29


IC-UNICAMP Shift Register com Carga Paralela
Parallel
output
Q3 Q2 Q1 Q0

D Q D Q D Q D Q

Q Q Q Q

0
1

Serial Clock
input Shift/Load Parallel input

MC602 Mario Crtes IC / Unicamp 30


IC-UNICAMP Shift Register Universal
Entrada Serial
Deslocamento a Esquerda
Deslocamento a Direita
Carga Paralela
Sada Paralela

Exerccio:
Diagrama do Shift Register Universal de 4 bits
com entradas de controle: NOP (mantm valor), SHL
(esquerda), SHR (direita), LD (carga paralela)

MC602 Mario Crtes IC / Unicamp 31


IC-UNICAMP Registradores em um Barramento
Data

Extern
Bus

Clock
R1 R2 Rk

R1in R1out R2in R2out Rkin Rkout

Control circuit
Function

MC602 Mario Crtes IC / Unicamp 32


IC-UNICAMP
Registradores em um Barramento (3ST)
Bus

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

R1in R2in Rkin


R1 R2 Rk

Clock

Data
S0
Multiplexers
Sj 1

Escrita no barramento (inclusive entrada


externa Data)  sado do MUX
Funo semelhante implementao 3ST
MC602 Mario Crtes IC / Unicamp 34
IC-UNICAMP Tpicos de Contadores
Contadores sncronos e assncronos
Contadores de mdulo configurvel
Contadores em anel e Johnson
Preset e Clear sncronos e assncronos

MC602 Mario Crtes IC / Unicamp 35


IC-UNICAMP Contadores sncronos / assncronos
Contadores assncronos
Entrada de clock dos FFs recebe sada de
estgios anteriores
Estado do contador: transies dos estgios no
simultneas (em ripple)
Circuito mnimo mas requer cuidados com
decodificao
Contadores sncronos
Entrada de clock dos FF recebe apenas sinal
externo de clock
Estado do contador: transies sincronizadas
(razoavelmente simultneas)

MC602 Mario Crtes IC / Unicamp 36


IC-UNICAMP Contador assncrono: 3 bits DOWN

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

MC602 Mario Crtes IC / Unicamp 37


IC-UNICAMP Contador assncrono: 3 bits UP
Alternativas para UP/DOWN:
FF sens. borda de descida
1 T Q T Q T Q
sada = ~Q
Clock Q Q Q

Q0 Q1 Q2

Clock

Q0

Q1

Q2

Count 0 1 2 3 4 5 6 7 0

Como fazer um contador Up/Down?


MC602 Mario Crtes IC / Unicamp 38
Problemas com contadores assncronos
IC-UNICAMP

Sadas dos FFs (estado do contador) com


atrasos cumulativos LSB  MSB
ver simulao em modo grfico (vwf) e tabular (tbl)
Se o estado do contador est sendo
decodificado para detectar valor de contagem
que dispara alguma ao (ex: reset) 
problema
Ver anlise de timing
Voltar ao assunto: contador mdulo N

MC602 Mario Crtes IC / Unicamp 39


IC-UNICAMP Projeto de contador sncrono: 3 bits

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

MC602 Mario Crtes IC / Unicamp 40


IC-UNICAMP Contador (up) sncrono: 4 bits
1 T Q T Q T Q T Q
Q0 Q1 Q2 Q3
Clock Q Q Q Q

Clock

Q0

Q1

Q2

Q3

Count 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1

MC602 Mario Crtes IC / Unicamp 41


IC-UNICAMP Incluso de Enable e Clear

Enable T Q T Q T Q T Q

Clock Q Q Q Q

Clear

Obs: o clear assncrono

MC602 Mario Crtes IC / Unicamp 42


IC-UNICAMP FF-T implementado a partir de FF-D

T T Q Q
T D Q Q
Clock Q Clock Q

MC602 Mario Crtes IC / Unicamp 43


Q3 Q2 Q1 Q0
Contador sncrono com FF D
IC-UNICAMP
Enable
Ouput
Carry
Clock

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

MC602 Mario Crtes IC / Unicamp 45


Incluso
IC-UNICAMP
de Load Enable
D0
0
1 D Q Q0
Q

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

ATENO: projeto muda se os controles


clear/preset/load so sncronos ou
assncronos
MC602 Mario Crtes IC / Unicamp 47
IC-UNICAMP Contador mod-6 com Load sncrono

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

Obs: o load sncrono de 000 faz o que seria um reset sncrono


MC602 Mario Crtes IC / Unicamp 48
IC-UNICAMP Contador mod-5 com Reset assncrono
1 T Q T Q T Q
Q0 Q1 Q2

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

Como as sadas dos flip-flops so


desalinhadas no tempo, vrios estados
intermedirios podem ocorrer
ver simulao em modo grfico (vwf) e tabular (tbl)
A decodificao do estado desejado para fins
de acionar clear/preset/load assncronos pode
acontecer de forma espria durante estados
transientes.
Uso de clear/preset/load sncronos resolvem o
problema

MC602 Mario Crtes IC / Unicamp 50


IC-UNICAMP Contador BCD de 2 dgitos
1 Enable
Se for usado 0 D0 Q0
Enable 0 D1 Q1
D2 Q2 BCD 0
controlvel, 0
0 D3 Q3
necessrio
propagar (via Load
AND) para Clock
estgios Clock
superiores.
Clear Enable
Ver o que 0 D0 Q0
acontece se 0 D1 Q1
BCD 1
Enable desativado 0 D2 Q2
exatamente na 0 D3 Q3
contagem X910
Load
Clock

MC602 Mario Crtes IC / Unicamp 51


IC-UNICAMP
Contador em anel
Q0 Q1 Qn 1

Start

D Q D Q D Q

Q Q Q

Clock

Contagem p 4 bits: 1000 0100 0010 0001 1000 0100 0010 0001 ....

Mdulo?

MC602 Mario Crtes IC / Unicamp 52


IC-UNICAMP
Contador Johnson
Q0 Q1 Qn 1

D Q D Q D Q

Q Q Q

Reset
Clock

Para um contador de 4 estgios:


Qual a sequncia de contagem
Qual o mdulo do contador?

MC602 Mario Crtes IC / Unicamp 53

Anda mungkin juga menyukai