Escolar Documentos
Profissional Documentos
Cultura Documentos
Solução 1.a.
Contadores síncronos são geradores de sequência nos quais todos os flip-flops do circuito digital compar-
tilham do mesmo sinal de relógio. Contadores assíncronos, em contrapartida, são geradores de sequência
nos quais pelo menos um flip-flop é comandado com um sinal de relógio diferente dos outros. Por exem-
plo, um contador síncrono de módulo 8 é mostrado na figura abaixo
Note que cada flip-flop do contador assíncrono tem um sinal de relógio diferente.
Solução 1.b.
Contadores em anel são construídos pela associação em série de flip-flops, em geral tipo D, em que a
entrada D é formada pela saída Q do flip-flop anterior na associação. A saída Q do último flip-flop serve
de sinal de entrada do primeiro flip-flop. Geralmente ele é inicializado de modo que a saída de somente
um flip-flop é igual a um em cada instante de tempo e seu estado de contagem é indicado pela posição do
bit em nível lógico alto. Um contador em anel tem módulo igual ao número de flip-flops do circuito Nf .
Um contador Johnson é similar mas a saída Q do último flip-flop é utilizada como entrada do primeiro
flip-flop da associação. Em geral, esse tipo de contador é inicializado zerando as saídas de todos os flip-
flops por meio de um comando assíncrono. Contadores Johnson tem módulo igual a 2Nf e necessitam de
um circuito auxiliar (uma porta AND de duas entradas) para decodificar seu estado. A seguir é mostrado
um contador em anel de módulo 4.
a) (0,5 ponto) Desenhe o diagrama de estados. Descreva de maneira breve sua estratégia para o pro-
jeto.
c) (0,5 ponto) Utilize mapas de Karnaugh para determinar a lógica combinacional para a transição de
estados.
Solução 2.a
A sequência tem comprimento N=8 portanto requer um gerador de sequência de módulo 8. Para imple-
mentar esse gerador são necessários
n = ⌈log2 N ⌉ = ⌈log2 8⌉ = 3
flip-flops. Para implementar esse gerador utiliza-se a própria codificação de estados, por meio de seus
últimos 2 bits, para gerar a saída do gerador de sequência. Para diferenciar estados que produzem saídas
idênticas, os primeiros 4 estados terão o bit mais significativo igual a zero e os 4 estados posteriores da
sequência terão o bit mais significativo igual a um. Assim, o diagrama de transição de estados resultante
é mostrado na figura abaixo
Solução 2.b
Considerando o diagrama de transição de estados obtido anteriormente, os estados devem ser atualizados
a cada ciclo de clock seguindo a tabela
Estado atual Estado futuro
QA [n] QB [n] QC [n] QA [n + 1] QB [n + 1] QC [n + 1]
0 0 0 0 1 1
0 0 1 0 0 0
0 1 0 0 0 1
0 1 1 1 1 1
1 0 0 0 1 0
1 0 1 1 0 0
1 1 0 1 0 1
1 1 1 1 1 0
O problema requer o uso de flip-flops JK que resultam na tabela de ativação abaixo
Estado atual Estado futuro FF A FF B FF C
QA [n] QB [n] QC [n] QA [n + 1] QB [n + 1] QC [n + 1] JA KA JB KB JC KC
0 0 0 0 1 1 0 X 1 X 1 X
0 0 1 0 0 0 0 X 0 X X 1
0 1 0 0 0 1 0 X X 1 1 X
0 1 1 1 1 1 1 X X 0 X 0
1 0 0 0 1 0 X 1 1 X 0 X
1 0 1 1 0 0 X 0 0 X X 1
1 1 0 1 0 1 X 0 X 1 1 X
1 1 1 1 1 0 X 0 X 0 X 1
Solução 2.c.
1 X X X X 1 1 0 0 0 1 1 0 X X
1 X X 0 1 1 0 X X 1 1 X 1 1 X
O circuito requer 3 flip-flops JK, 3 portas AND de 2 entradas e 2 portas OR de 2 entradas. O esquemático
do circuito resultante é mostrado na figura abaixo (referente ao arquivo provagerseq.hds)
A
Y J
B
NC Q
NC c1
A
Y K NQ
B
NR
NR c0
J
3
2
NC Q
1
A
0
Y K NQ
B
NR
Y J
B
NC Q
A
Y K NQ
B
NR
3) (3,0) Considere que você precisa implementar o circuito lógico digital que implementa a máquina
de estados finita cujo diagrama de estados é mostrado na Figura~ 1. Utilize uma tabela de implicação para
eliminar os estados redundantes e utilize somente flip-flops tipo T para construir a memória de estados.
1 1 0 0 1 1 1 1 1 0
QA [n]
0 1
QB [n]
0 0 0
1 0 1
o = QA [n] · QB [n]
4) (3,0) Projete uma máquina de Moore para detectar uma sequência 1010 em sua entrada X. Quando
essa sequência é detectada, a saída Y deve ser igual a 1 por exatamente um ciclo do sinal de reló-
gio. Em qualquer outra situação, a saída Y deve ser zero. Utilize flip-flops tipo JK em seu projeto.
1 ac nada = 2 ac =
bingo
1ac = 3 ac
2 ac X X
3 ac X X X
bingo X X X X
nada 1 ac 2 ac 3 ac
iteração 3, 2 eliminações
1 ac X
2 ac X X
3 ac X X X
bingo X X X X
nada 1 ac 2 ac 3 ac
iteração 4, 1 eliminação. O processo acaba pois não há mais células a eliminar.
Arbitrando a codificação de estados
nada 000
1 ac 001
2 ac 011 e utilizando 3 flip-flops A,B e C com A armazenando o bit mais significativo da
3 ac 010
4 ac 110
codificação e C armazenando o bit menos significativo, elabora-se a tabela de transição de estados
QA [n] QB [n] QC [n] X QA [n + 1] QB [n + 1] QC [n + 1] JA KA JB KB JC KC Y
0 0 0 0 0 0 0 0 X 0 X 0 X 0
0 0 0 1 0 0 1 0 X 0 X 1 X 0
0 0 1 0 0 1 1 0 X 1 X X 0 0
0 0 1 1 0 0 1 0 X 0 X X 0 0
0 1 0 0 1 1 0 1 X X 0 0 X 0
0 1 0 1 0 0 1 0 X X 1 1 X 0
0 1 1 0 0 0 0 0 X X 1 X 1 0
0 1 1 1 0 1 0 0 X X 0 X 1 0
1 0 0 0 X X X X X X X X X X
1 0 0 1 X X X X X X X X X X
1 0 1 0 X X X X X X X X X X
1 0 1 1 X X X X X X X X X X
1 1 0 0 0 0 0 X 1 X 1 0 X 1
1 1 0 1 0 1 0 X 1 X 0 0 X 1
1 1 1 0 X X X X X X X X X X
1 1 1 1 X X X X X X X X X X
QC [n] X QC [n] X
00 01 11 10 00 01 11 10
QA [n] QB [n] QA [n] QB [n]
00 0 0 0 0 00 X X X X
01 1 0 0 0 01 0 1 0 1
11 X X X X 11 1 0 X X
10 X X X X 10 X X X X
KB = QA [n] · QC [n] · X
JA = QB [n] · QC [n] · X
+ QA [n] · QC [n] · X
+ QA [n] · QC [n] · X
QC [n] X
00 01 11 10
QA [n] QB [n]
QC [n] X
00 X X X X 00 01 11 10
QA [n] QB [n]
01 X X X X 00 0 1 X X
11 1 1 X X 01 0 1 X X
10 X X X X 11 0 0 X X
10 X X X X
KA = 1
JC = QA [n] · X
QC [n] X
00 01 11 10 QC [n] X
QA [n] QB [n] 00 01 11 10
00 0 0 0 1 QA [n] QB [n]
00 X X 0 0
01 X X X X
01 X X 1 1
11 X X X X
11 X X X X
10 X X X X
10 X X X X
JB = QC [n] · X KC = QB [n]
1 X X X 1
Y = QA [n]