Você está na página 1de 51

AULA 04

Circuitos Digitais 2
Circuitos Sequenciais: Contadores.

Professor: Gilvan Najar

1
Contadores
Os flip-flops podem ser conectados juntos para realizar
operaes de contagem. Tal grupo de flip-flops um
contador. O nmero de flip-flops usados e a forma na qual
eles so conectados determinam o nmero de estados
(denominado mdulo) e tambm a sequncia especfica de
estados que o contador percorre durante cada ciclo completo.

Os contadores so classificados em duas grandes categorias


de acordo com a forma que eles recebem os pulsos de o
clock: assncronos e sncronos.

2
Contadores
Nos contadores assncronos, normalmente chamados de
contadores ondulantes (ripple counters), o primeiro flip-flop
recebe o clock por meio de um pulso de clock externo e cada
flip-flop sucessivo recebe o clock atravs da sada do flip-flop
anterior.

Em contadores sncronos, a entrada de clock conectada a


todos os flip flops de forma que eles recebem o clock
simultaneamente.

Dentro de cada uma dessas categorias, os contadores so


classificados principalmente pelo tipo de seqncia, o
nmero de estados, ou o nmero de flip-flops no contador.

3
Operao de contadores assncronos
O termo assncrono se refere aos eventos que no tm uma
relao temporal fixa entre si e, geralmente, no ocorrem ao
mesmo tempo.

Um contador assncrono aquele no qual os flip-flops (FF)


que constituem o contador no mudam de estado
exatamente ao mesmo tempo porque eles no tm um pulso
de clock comum.

4
Contador Binrio Assncrono de 2 Bits
A Figura 1 mostra um contador de 2 bits conectado para
operao assncrona. Observe que o clock (CLK) aplicado na
entrada de clock (C) apenas do primeiro flip-flop (FF0) que
sempre o bit menos significativo (LSB). O segundo flip-flop
(FF1) disparado pela sada Q0do FF0. O FF0 muda de
estado na borda positiva de cada pulso de clock, porm FF1
muda apenas quando disparado por uma transio positiva
da sada Q0do FF0.

Figura 1: Um contador binrio de 2 bits assncrono. 5


O Diagrama de Temporizao
Vamos examinar a operao bsica do contador assncrono
apresentado na Figura 1 aplicando quatro pulsos de clock em
FF0 e observando a sada Q de cada flip-flop. A Figura 2 ilustra
as mudanas de estado nas sadas dos flip-flops em resposta
aos pulsos de clock. Os dois flip-flops so conectados para
operao toggle (J = 1, K = 1) e considera- se que estejam
inicialmente resetados (Q em nvel BAIXO).

Figura 02:
Diagrama de
temporizao
para o contador
visto na Figura 1

6
O Diagrama de Temporizao
A borda positiva de CLK1 (pulso de clock 1) faz com que a
sada Q0 do FF0 v para o nvel ALTO, conforme mostra a
Figura 2. No mesmo instante a sada Q0 vai para nvel BAIXO,
porm isso no tem efeito no FF1 porque o disparo do flip-
flop na borda positiva. Aps a borda de subida de CLK1, Q0
= 1 e Q1 = 0. A borda positiva de CLK2 faz Q0 comutar para o
nvel BAIXO.

A sada Q0 vai para o nvel ALTO e dispara FF1, fazendo Q1


comutar para o nvel ALTO. Aps a borda de subida de CLK2,
Q0 = 0 e Q1 = 1. A borda positiva de CLK3 faz Q0 comutar
para o nvel ALTO novamente. A sada Q0 comuta para o nvel
BAIXO, no afetando FF1. Portanto, aps a borda de subida de
CLK3, Q0 = 1 e Q1 = 1.
7
O Diagrama de Temporizao
A borda positiva de CLK4 faz Q0 comutar para o nvel BAIXO,
enquanto que Q0 comuta para o nvel ALTO e dispara FF1,
fazendo Q1 comutar para o nvel BAIXO. Aps a borda de
subida de CLK4, Q0 = 0 e Q1 = 0. Agora o contador reciclou
para o seu estado original (os dois flip-flops estavam
resetados).

O diagrama de temporizao mostra as formas de onda das


sadas Q0 e Q1 em relao aos pulsos de clock conforme
ilustrado na Figura 2. Por questo de simplicidade, as
transies de Q0, Q1 e dos pulsos de clock so mostradas
como eventos simultneos nesse contador assncrono. Existe,
claro, algum pequeno atraso entre as transies de CLK e
Q0 e entre as transies de Q0e Q1.
8
O Diagrama de Temporizao
Observe na Figura 2 que o contador de 2 bits exibe quatro
estados diferentes, conforme se poderia esperar com dois
flip-flops (22 = 4). Observe tambm que se Q0 representa o
bit menos significativo (LSB) e Q1 representa o bit mais
significativo (MSB), a seqncia dos estados do contador
representa uma seqncia de nmeros binrios conforme
listado na Tabela 1.

9
O Diagrama de Temporizao
Como a seqncia binria, o contador visto na Figura 1 um
contador binrio. Ele conta realmente o nmero de pulsos de
clock at trs e no quarto pulso recicla para o seu estado
original (Q0 = 0, Q1 = 0). O termo reciclagem normalmente
aplicado operao de contadores; esse termo se refere
transio do contador do seu estado final de volta para o seu
estado original.

10
Um Contador Binrio Assncrono de 3 Bits
A seqncia de estados para um contador binrio de 3 bits
mostrada na Tabela 2 e um contador binrio de 3 bits
mostrado na Figura 3(a). A operao bsica a mesma que a
do contador de 2 bits exceto que o contador de 3 bits tem
oito estados, pois tem trs flip-flops.

Tabela 2: Seqncia de estados


para um contador binrio de 3 bits

11
Um Contador Binrio Assncrono de 3 Bits
Um diagrama de temporizao mostrado na Figura 3(b) para
oito pulsos de clock. Observe que o contador avana pela
contagem binria de zero at sete e ento recicla para o
estado zero. Esse contador pode ser facilmente expandido
para contagens maiores, acrescentando flip-flops T.

Figura 03: Contador binrio


de 3 bits e seu diagrama de
temporizao para um ciclo.

12
Atraso de Propagao
Os contadores assncronos so normalmente referidos como
contadores ondulantes (ripple counters) pela seguinte razo:
o efeito do pulso de clock na entrada sentido primeiro
pelo FF0. Esse efeito no chega em FF1 imediatamente devido
ao atraso de propagao atravs de FF0.

Ento existe um atraso de propagao atravs de FF1 antes


que FF2 possa ser disparado. Portanto, o efeito do pulso de
clock na entrada ondula atravs do contador, durante algum
tempo, devido aos atrasos de propagao, at alcanar o
ltimo flip-flop.

13
Atraso de Propagao
Para ilustrar, observe que todos os trs flip-flops no contador
visto na Figura 3 mudam de estado na borda de subida de
CLK4. Esse efeito de clock ondulante mostrado na Figura 4
para os primeiros quatro pulsos de clock, com os atrasos de
propagao indicados. A transio do nvel BAIXO para o nvel
ALTO de Q0 ocorre um tempo de atraso (tPLH) aps a transio
positiva do pulso de clock.
Figura 4: Atrasos de
propagao num
contador binrio
assncrono (clock
ondulante) de 3 bits.

14
Atraso de Propagao
A transio de nvel BAIXO para nvel ALTO de Q1 ocorre um
tempo de atraso (tPLH) aps a transio positiva de Q0 . A
transio de nvel BAIXO para nvel ALTO de Q2 ocorre um
tempo de atraso (tPLH) aps a transio positiva de Q1.

Como podemos ver, FF2 no disparado antes de dois


tempos de atraso aps a borda positiva do pulso de clock
CLK4. Portanto, decorre trs tempos de atraso de propagao
para o efeito do pulso de clock, CLK4, para ondular atravs do
contador e mudar Q2 de nvel BAIXO para nvel ALTO.

15
Atraso de Propagao
Esse atraso cumulativo de um contador assncrono a
principal desvantagem em muitas aplicaes porque limita a
taxa na qual o contador pode receber pulsos de clock e cria
problemas de decodificao.

O atraso cumulativo mximo num contador tem que ser


menor que o perodo da forma de onda do clock.

16
Exerccio
Um contador binrio assncrono de 4 bits mostrado na
Figura 5(a). Cada flip-flop disparado por borda negativa e
tem um atraso de propagao de 10 nanossegundos (ns).

Desenvolva um diagrama de temporizao mostrando a sada


Q de cada flip-flop e determine o tempo de atraso de
propagao total a partir da borda de disparo de um pulso de
clock at a correspondente mudana que pode ocorrer no
estado de Q3. Determine tambm a freqncia de clock
mxima na qual o contador pode operar.

17
Exerccio

Figura 5 (a): Contador de 4 bits

18
Soluo

Figura 5 (b): Diagrama de tempo do contador de 4 bits

19
Soluo
O diagrama de temporizao com os atrasos omitidos
mostrado na Figura 5(b). Para o tempo de atraso total, o
efeito de CLK8 ou CLK16 tem que propagar atravs de quatro
flip-flops antes da mudana de Q3, assim

tp(tot) 4 10 ns 40 ns

A freqncia de clock mxima

20
Contadores de Dcada Assncronos
O mdulo de um contador o nmero de estados nicos
pelos quais o contador estabelece uma seqncia. O nmero
mximo de estados possveis (mdulo mximo) de um
contador 2n, onde n o nmero de flip-flops do contador.
Os contadores podem ser projetados para ter um nmero de
estados em sua seqncia que menor que o valor mximo
de 2n. Esse tipo de seqncia denominada de seqncia
truncada. Um mdulo comum para contadores com
seqncias truncadas dez (denominado MOD10). Os
contadores com dez estados em sua seqncia so
denominados contadores de dcada. Um contador de dcada
com uma seqncia de contagem de zero (0000) a nove
(1001) um contador de dcada BCD porque a sua seqncia
de dez estados produz o cdigo BCD.
21
Contadores de Dcada Assncronos
Para obter uma seqncia truncada, necessrio forar o
contador a reciclar antes que ele passe por todos os estados
possveis. Por exemplo, um contador de dcada BCD tem que
reciclar para o estado 0000 aps o estado 1001. Um contador
de dcada requer quatro flip-flops (trs flipflops so
insuficientes pois 23 = 8).
Vamos usar um contador assncrono de 4 bits como no
Exemplo 1 e modificar sua sequncia para ilustrar o princpio
dos contadores truncados. Uma forma de fazer um contador
reciclar aps a contagem do nove (1001) decodificar a
contagem dez (1010) com uma porta NAND e conectar a sada
da porta NAND nas entradas de clear (CLR`) dos flip-flops,
como mostra a figura 6(a).

22
Contadores de Dcada Assncronos
Figura 6: Um contador de
dcada que recebe pulsos
de clock assincronamente
e que recicla tambm de
forma assncrona.

23
Exerccio 2
Mostre como um contador assncrono pode ser
implementado tendo um mdulo de doze com uma
seqncia binria de 0000 a 1011.

24
Operao de contadores sncronos
O termo sncrono se refere aos eventos que tm uma relao
de tempo fixa de um em relao ao outro. Um contador
sncrono aquele no qual todos os flip-flops recebem pulsos
de clock ao mesmo tempo por meio de uma linha comum.

25
Um Contador Binrio Sncrono de 2 Bits
A Figura 11 mostra um contador binrio sncrono de 2 bits.
Observe que um arranjo diferente do contador assncrono
tem que ser usado para as entradas J1 e K1 do FF1 para
conseguir uma sequncia binria.

Figura 11: Um
Contador binrio
sncrono de 2 bits

26
Um Contador Binrio Sncrono de 2 Bits
A operao desse contador sncrono a seguinte: primeiro,
considere que o contador esteja inicialmente no estado
binrio 0; ou seja, os dois flip-flops esto resetados. Quando a
borda positiva do primeiro pulso de clock aplicada, o FF0
comuta e Q0 passa ento para o nvel ALTO. O que acontece
com FF1 na borda positiva de CLK1? Para saber, vamos
analisar as condies de entrada de FF1. A entradas J1 e K1
esto em nvel BAIXO porque Q0, sada na qual elas esto
conectadas, ainda no foi para nvel ALTO. Lembre-se, existe
um atraso de propagao a partir da borda de disparo do
pulso de clock at que a sada Q comute realmente. Assim, J =
0 e K = 0 quando aplicada a borda de subida do primeiro
pulso de clock. Essa uma condio de repouso e assim FF1
no muda de estado.
27
Um Contador Binrio Sncrono de 2 Bits
Uma representao detalhada da temporizao dessa parte
da operao do contador mostrada na Figura 12(a).

Figura 12: Detalhes da temporizao para a operao do contador sncrono de 2 bits (os
atrasos de propagao dos dois flip-flops so considerados iguais).
28
Um Contador Binrio Sncrono de 2 Bits
Aps CLK1, Q0 = 1 e Q1 = 0 (que o estado do binrio 1).
Quando a borda de subida de CLK2 ocorre, FF0 comuta
(toggle) e Q0 vai para nvel BAIXO. Como FF1 tem um nvel
ALTO (Q0 = 1) nas entradas J1 e K1 na borda de disparo desse
pulso de clock, o flip-flop comuta e Q1 vai para nvel ALTO.
Portanto, aps CLK2, Q0 = 0 e Q1 = 1 (que o estado do
binrio 2). O detalhe da temporizao para essa condio
mostrado na Figura 12(b).
Quando a borda de subida de CLK3 ocorre, FF0 comuta
novamente para o estado SET (Q0 =1) e FF1 permanece em
SET (Q1 = 1) porque suas entradas J1 e K1 esto em nvel
BAIXO (Q0 =0). Aps essa borda de disparo, Q0 = 1 e Q1 = 1
(que o estado do binrio 3). O detalhe da temporizao
mostrado na Figura 12(c).
29
Um Contador Binrio Sncrono de 2 Bits
Finalmente, na borda de subida de CLK4, Q0 e Q1 vo para
nvel BAIXO porque os dois esto na condio toggle em suas
entradas J e K. O detalhe da temporizao mostrado na
Figura 12(d). Agora o contador reciclou para o seu estado
original, binrio 0.
O diagrama de temporizao completo para o contador visto
na Figura 11 mostrado na Figura 13. Observe que todas as
transies da forma de onda aparecem coincidentes; ou seja,
os atrasos de propagao no so indicados. Embora os
atrasos sejam um fator importante na operao de um
contador sncrono, eles normalmente so omitidos no
diagrama de temporizao geral por questo de simplicidade
de representao.

30
Um Contador Binrio Sncrono de 2 Bits
As relaes de formas de onda principais resultam da
operao normal de um circuito que pode ser expressa
completamente sem mostrar pequenos atrasos e diferenas
de temporizao. Entretanto, em circuitos digitais de alta
velocidade, esses pequenos atrasos so consideraes
importantes no projeto e na anlise de defeito.

Figura 13: Diagrama de


temporizao para o
contador apresentado na
Figura 11.

31
Um Contador Binrio Sncrono de 3 Bits
Um contador binrio sncrono de 3 bits mostrado na Figura
14 e o seu diagrama de temporizao mostrado na Figura 15.
Podemos entender essa operao do contador examinando sua
seqncia de estados como mostra a Tabela 3.

Figura 14: Um
contador binrio
sncrono de 3 bits.

Figura 15: Diagrama de


temporizao para o
contador mostrado na
Figura 14.

32
Um Contador Binrio Sncrono de 3 Bits
Primeiro vamos analisar Q0. Observe que Q0 muda a cada pulso
de clock conforme o contador avana do seu estado original para
o seu estado final e em seguida retorna para o seu estado original.
Para produzir essa operao, FF0 tem que ser mantido no modo
toggle (comutar) mantendo constantemente o nvel ALTO nas suas
entradas J0 e K0. Observe que Q1 vai para o estado oposto cada
vez que Q0 for nvel 1. Essa mudana ocorre em CLK2, CLK4, CLK6
e CLK8. O pulso CLK8 faz com que o contador recicle. Para produzir
essa operao, Q0 conectada nas entradas J1 e K1 de FF1.

Tabela 3: Seqncia de estados


binrios para um contador
binrio de 3 bits

33
Um Contador Binrio Sncrono de 4 Bits
A Figura 16(a) mostra um contador binrio sncrono de 4 bits e a
Figura 16(b) mostra o diagrama de temporizao. Esse contador
em particular implementado com flip-flops disparados por borda
negativa. O raciocnio por trs do controle das entradas J e K para
os primeiros trs flip-flops o mesmo discutido anteriormente
para o contador de 3 bits. O quarto estgio (FF3) muda apenas
duas vezes nessa seqncia. Observe que essas duas transies
ocorrem apenas no momento seguinte em que Q0, Q1 e Q2 so
todas nvel ALTO. Essa condio decodificada pela porta AND G2
de forma que quando um pulso de clock ocorrer, FF3 mudar de
estado.

34
Um Contador Binrio Sncrono de 4 Bits
Para todos os outros momentos, as entradas J3 e K3 de FF3
estaro em nvel BAIXO e na condio de repouso.

Figura 16: Um contador


binrio sncrono de 4 bits
e o seu diagrama de
temporizao. Os pontos
em que as entradas das
portas AND so nvel
ALTO esto indicados por
reas sombreadas.
35
PROJETO DE CONTADORES SNCRONOS
Antes de abordar as tcnicas de projeto de contadores
especficos, vamos comear com uma definio geral de um
circuito seqencial ou mquina de estados: um circuito
seqencial geral consiste de uma seo de lgica
combinacional e uma seo de memria (flip-flops), como
mostra a Figura 27. Num circuito seqencial com clock, existe
uma entrada de clock para a seo de memria como indicado.

Figura 27: Circuito


seqencial geral
com clock.

36
PROJETO DE CONTADORES SNCRONOS
A informao armazenada na seo da memria, bem como as
entradas da lgica combinacional (I0, I1,..., Im), so necessrias
para a operao adequada do circuito. Para qualquer instante
dado, a memria est num estado denominado estado atual e
avana para o prximo estado num pulso de clock conforme
determinado pelas condies das linhas de excitao (Y0, Y1,...,
Yp). O estado atual da memria representado pelas variveis
de estado (Q0, Q1,..., Qx). Essas variveis de estado,
juntamente com as entradas (I0, I1,..., Im), determinam as
sada do sistema (O0, O1,..., On).

37
Passo 1: Diagrama de Estados
O primeiro passo no projeto de um contador criar um
diagrama de estados. Um diagrama de estados mostra
progresso de estados atravs dos quais o contador avana
quando recebe clock. Como exemplo, a Figura 28 um
diagrama de estados para um contador de cdigo Gray de 3
bits. Esse circuito em particular no tem outras entradas alm
do clock nem outras sadas alm das sadas obtidas de cada
flip-flop do contador.

Figura 28: Diagrama de estados para um contador de


cdigo Gray.

38
Passo 2: Tabela do Prximo Estado
Uma vez definido o circuito seqencial pelo diagrama de estados,
o segundo passo deduzir a tabela do prximo estado, a qual
apresenta cada estado do contador (estado atual) juntamente
com o prximo estado correspondente. O prximo estado o
estado para o qual o contador passa a partir do estado atual com
a aplicao de um pulso de clock. A tabela do prximo estado
deduzida a partir do diagrama de estados e mostrada na Tabela
7 para o contador de cdigo Gray de 3 bits. Q0 o bit menos
significativo.

Tabela 7: Tabela do prximo estado para


um contador de cdigo Gray de 3 bits.

39
Passo 3: Tabela de Transio de Flip-Flop
A Tabela 8 uma tabela de transio para o flip-flop J-K. Todas as
transies de sada so relacionadas mostrando a sada Q do flip-
flop indo dos estados atuais para os prximos estados. QN
o estado atual do flip-flop (antes do pulso de clock) e QN + 1 o
prximo estado (aps o pulso de clock). Para cada transio de
sada, as entrada J e K que fazem com que ocorram a transio so
relacionadas. Um X indica um dont care (a entrada que pode
ser 1 ou 0).

Tabela 8: Tabela de transio para


um flip-flop J-K

40
Passo 3: Tabela de Transio de Flip-Flop
Para projetar o contador, a tabela de transio aplicada para
cada um dos flip-flops do contador, baseado na tabela do
prximo estado (Tabela 7). Por exemplo, para o estado atual
000, Q0 passa do estado atual que 0 para o prximo estado
que 1. Para isso acontecer, J0 tem que ser nvel 1 e no
importa o estado de K0 (J0 = 1, K0 = X), como podemos ver na
tabela de transio (Tabela 8).
Em seguida, Q1 nvel 0 no estado atual e permanece em 0 no
prximo estado. Para essa transio, J1 = 0 e K1 = X.
Finalmente, Q2 nvel 0 no estado atual e permanece em 0 no
prximo estado. Portanto, J2 = 0 e K2 = X. Essa anlise se
repete para cada um dos estados atuais na Tabela 7.

41
Passo 4: Mapas de Karnaugh
Os mapas de Karnaugh podem ser usados para determinar a
lgica necessria para as entradas J e K de cada flip-flop no
contador. Existe um mapa de Karnaugh para a entrada J e outra
para a entrada K de cada flip-flop. Nesse procedimento de projeto,
cada clula no mapa de Karnaugh representa um dos estados
atuais na seqncia do contador relacionada na Tabela 7.
A partir dos estados de J e K na tabela de transio (Tabela 8) um
nvel 1, nvel 0 ou um X colocado em cada clula de estado atual
no mapa dependendo da transio da sada Q para um

42
Passo 4: Mapas de Karnaugh
Os mapas de Karnaugh podem ser usados para determinar a
lgica necessria para as entradas J e K de cada flip-flop no
contador. Existe um mapa de Karnaugh para a entrada J e outra
para a entrada K de cada flip-flop. Nesse procedimento de projeto,
cada clula no mapa de Karnaugh representa um dos estados
atuais na seqncia do contador relacionada na Tabela 7.
A partir dos estados de J e K na tabela de transio (Tabela 8) um
nvel 1, nvel 0 ou um X colocado em cada clula de estado atual
no mapa dependendo da transio da sada Q para um flip-flop
em particular. Para ilustrar esse procedimento, duas amostras
inseridas so mostradas para as entradas J0 e K0 para o flip-flop
menos significativo (Q0) na Figura 29.

43
Passo 4: Mapas de Karnaugh

Figura 29: Exemplos de procedimento de mapeamento para a seqncia do contador


representado na Tabela 7 e Tabela 8.
44
Passo 4: Mapas de Karnaugh

Distribuio dos valores na tabela da condio atual e


condio futura e a montagem das entradas dos flip-
flops, de acordo com tabela de transio (tabela 8).

45
Passo 4: Mapas de Karnaugh
Os mapas de Karnaugh completos para todos os trs flip-flops no
contador so mostrados na Figura 30. As clulas so agrupadas
como indicado e as expresses Booleanas correspondentes para
cada grupo so deduzidas.

Figura 30: Mapas de


Karnaugh para o estado
atual das entradas J e K.

46
Passo 4: Mapas de Karnaugh (Capuano)
Os mapas de Karnaugh completos para todos os trs flip-flops no
contador so mostrados na Figura 30. As clulas so agrupadas
como indicado e as expresses Booleanas correspondentes para
cada grupo so deduzidas.

Figura 30: Mapas de Karnaugh (modelo do capuano) para o estado atual


das entradas J e K.
47
Passo 5: Expresses Lgicas para as
Entradas dos Flip-flops
A partir dos mapas de Karnaugh da Figura 30 obtemos as
seguintes expresses para as entradas J e K de cada flip-flop:

48
Passo 6: Implementao do Contador
O passo final a implementao da lgica combinacional a partir
das expresses para as entradas J e K e a conexo dos flip-flops
para formar o contador de cdigo Gray completo de 3 bits como
mostra a Figura 31.

Figura 31: Contador de cdigo Gray de trs bits 49


Resumo geral do projeto
Em geral, esses passos podem ser aplicados a qualquer circuito seqencial.

1. Especifique a seqncia do contador e desenhe o diagrama de estados.


2. Deduza a tabela do prximo estado a partir do diagrama de estados.
3. Desenvolva uma tabela de transio mostrando as entradas dos flip-flops
necessrias para cada transio. A tabela de transio sempre a mesma
para um dado tipo de flip-flop.
4. Transfira os estados de J e K a partir da tabela de transio para os mapas
de Karnaugh. Existe um mapa de Karnaugh para cada entrada de cada flip-
flop.
5. Agrupe as clulas dos mapas de Karnaugh para garantir e deduzir a
expresso lgica para cada entrada de flip-flop.
6. Implemente as expresses com lgica combinacional e combine com os
flip-flops para criar o contador.

50
Exerccio
Projete um contador com a seqncia de contagem binria
irregular mostrada no diagrama de estados visto na Figura 32. Use
flip-flops J-K.

Figura 32

51

Você também pode gostar