Desenhe um diagrama de estado para a máquina de estado com uma entrada gent e três saídas
e z. As saídas
geram uma sequência conhecida como código Gray quando apenas uma das três saídas troca de 0 para 1 ou de 1 para 0 . A sequência do código Gray que a máquina de estado deve reproduzir é
, e repete. A saída deve mudar apenas na borda de subida do clock quando gent
. Assuma o estado inicial 000.
Passo 1
Ok, vamos entender o que a questão está pedindo. Precisamos desenhar um diagrama de estados para uma máquina de estado que tem uma entrada chamada
gent
e três saídas x
, y
e z
. Essas saídas devem gerar uma sequência específica chamada código Gray, que é uma sequência onde apenas uma das saídas muda de 0 para 1 ou de 1 para 0 a cada passo. A sequência que a máquina deve seguir é: 000, 010, 011, 001, 101, 111, 110, 100
e depois repete. Além disso, a saída só deve mudar na borda de subida do clock quando gent = 1
. Vamos precisar entender o que é um diagrama de estados, o que é código Gray e como representar as transições entre os estados.Passo 2
Primeiro, vamos relembrar o que é um diagrama de estados. É uma representação visual dos diferentes estados que uma máquina pode ter e como ela transita de um estado para outro com base nas entradas. Cada estado será representado por um círculo e as transições por setas que conectam esses círculos.
Passo 3
Agora, vamos entender o que é o código Gray. É uma sequência binária onde dois estados consecutivos diferem em apenas um bit. Isso é útil para reduzir erros durante a mudança de estados, pois apenas uma saída muda de cada vez.
Passo 4
Vamos listar a sequência do código Gray que a máquina deve seguir:
000, 010, 011, 001, 101, 111, 110, 100
. Notamos que cada transição muda apenas um bit das saídas x
, y
ou z
.Passo 5
A máquina começa no estado inicial
000
. Quando gent = 1
e ocorre a borda de subida do clock, a máquina deve transitar para o próximo estado na sequência. Vamos mapear cada estado para o próximo:000
→010
010
→011
011
→001
001
→101
101
→111
111
→110
110
→100
100
→000
(retorna ao início)
Passo 6
Com base nisso, vamos desenhar o diagrama de estados. Cada círculo representará um estado (a combinação de
x
, y
e z
), e as setas indicarão a transição para o próximo estado quando gent = 1
na borda de subida do clock.Passo 7
O diagrama de estados ficará assim:
- Estado
000
com seta para010
- Estado
010
com seta para011
- Estado
011
com seta para001
- Estado
001
com seta para101
- Estado
101
com seta para111
- Estado
111
com seta para110
- Estado
110
com seta para100
- Estado
100
com seta de volta para000
Cada seta representa a condição
gent = 1
na borda de subida do clock.Resposta
O diagrama de estados da máquina de estado que gera a sequência de código Gray
000, 010, 011, 001, 101, 111, 110, 100
e repete, com a saída mudando apenas na borda de subida do clock quando gent = 1
, começa no estado inicial 000
e segue as transições conforme mapeado nos passos acima.