Buscar

Maquinas de Mealy e Moore

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DE SANTA MARIA 
CENTRO DE TECNOLOGIA 
CURSO DE ENGENHARIA ELÉTRICA 
DISCIPLINA DE CIRCUITOS DIGITAIS II 
 
 
 
 
 
 
 
 
MÁQUINAS DE MEALY E MOORE 
2° Trabalho (Projeto) 
 
 
 
 
Caroline Obregon Pilz 
Laura Ferreira 
 
Prof. Giovani Baratto 
 
 
 
 
 
 
 
 
 
Santa Maria, Rio Grande do Sul 
Julho/2015 
II 
 
SUMÁRIO 
 
RESUMO ................................................................................................................................ III 
1 INTRODUÇÃO COMPREENSIVA ................................................................................... 1 
2 OBJETIVOS .......................................................................................................................... 2 
2.1 Objetivo geral ...................................................................................................................... 2 
1.2.2 Objetivos específicos ........................................................................................................ 2 
3 REVISÃO DA LITERATURA ............................................................................................ 3 
4 METODOLOGIA – MÁQUINA DE MOORE .................................................................. 4 
4.1 Ferramentas utilizadas ....................................................................................................... 4 
4.2 Desenvolvimento ................................................................................................................. 4 
4.2.1 Conceitos Utilizados ........................................................................................................ 4 
5 METODOLOGIA – MÁQUINA DE MEALY ................................................................. 11 
5.1 Ferramentas utilizadas ..................................................................................................... 11 
5.2 Desenvolvimento ............................................................................................................... 12 
5.2.1 Conceitos Utilizados ...................................................................................................... 12 
6 RESULTADOS .................................................................................................................... 19 
7 DISCUSSÃO ........................................................................................................................ 21 
8 CONCLUSÕES .................................................................................................................... 22 
REFERÊNCIAS ..................................................................................................................... 23 
ANEXOS ................................................................................................................................. 24 
 
III 
 
RESUMO 
 
Neste trabalho serão abordadas as máquinas de estados finitos de Moore e de Mealy, suas 
características, semelhanças, diferenças e aplicações. Bem como a elaboração do projeto e 
simulação de uma Máquina de Moore que detecte a sequência 1000 (4 bits) e do projeto, 
simulação e implementação em protoboard de uma Máquina de Mealy que identifique a 
sequência 111 (3 bits). Para isso, utilizar-se-á o software Logisim, circuitos TTL, entre outras 
ferramentas de circuitos digitais. 
 
 
 
1 
* Escolheu-se a sequência 1000, pois 10002 corresponde ao número 810, que é o último dígito da matrícula de 
uma das componentes do grupo. 
1 INTRODUÇÃO COMPREENSIVA 
 
 
A estrutura de uma máquina de estados (ou sequencial) é dividida em blocos de lógica 
combinacional e elementos de memória (flip-flops). Os blocos combinacionais, por sua vez, 
geram os sinais de saída e as funções de entrada (ou excitação) para os blocos de memória que 
fornecerão o próximo estado da máquina. As máquinas de estado podem ser classificadas em 
Máquina de Moore, onde a saída depende apenas do seu estado atual e Máquina de Mealy, 
que possui uma saída que depende de seu estado atual e de sua entrada atual. Para simular o 
projeto de uma Máquina de Moore que identifique a sequência 1000
*
, será utilizado o 
software Logisim. No que se refere à Máquina de Mealy, será feito o projeto de uma máquina 
que identifique a sequência 111, porém este será implementado em protoboard e não apenas 
em nível de simulação. O projeto de um circuito sequencial costuma iniciar pela definição de 
seu comportamento de maneira textual, que deve ser transcrito para um diagrama de estados, 
de maneira a detalhar os estados existentes, as condições para trocas de estados e os valores 
das saídas. Pela análise do diagrama de estados é possível identificar o modelo de máquina de 
estados a ser seguido (Moore ou Mealy). No caso da síntese de máquina de estados, é 
necessário executar vários passos de um roteiro: deve-se escolher a máquina, construir uma 
tabela de estado/saída, escolher as variáveis de estado, construir uma tabela de transição/saída, 
escolher o tipo de flip-flop da memória de estado, construir uma tabela de excitação/saída, 
descobrir as equações de excitação e de saída e desenhar o diagrama lógico. Os bits serão 
recebidos serialmente pela máquina e a cada sequência encontrada, a saída será igual a 1, 
parte da sequência a ser identificada poderá fazer parte da sequência seguinte. 
2 
 
2 OBJETIVOS 
 
2.1 Objetivo geral 
 
Em âmbito geral, visa-se primeiramente o entendimento do funcionamento das 
Máquinas de estado, de maneira que seja possível diferenciar uma Máquina de Moore de uma 
Máquina de Mealy. Após, visa-se o projeto e a simulação da Máquina de Moore que 
identifique a sequência 1000. Posteriormente, deseja-se realizar a implementação em 
protoboard de uma Máquina de Mealy que detecte a sequência 111. 
 
1.2.2 Objetivos específicos 
 
 Ao final do trabalho deverá ser possível executar corretamente as seguintes etapas 
relacionadas às Máquinas de Estado: 
 
 Compreensão de seu comportamento e importância; 
 Reconhecimento de uma Máquina de Moore; 
 Reconhecimento de uma Máquina de Mealy; 
 Semelhanças e Diferenças entre as máquinas 
 Domínio do processo de Síntese; 
 Simulação em software; 
 Implementação em protoboard; 
 
 
 
 
 
 
 
 
 
3 
 
3 REVISÃO DA LITERATURA 
 
De acordo com Alexandre Gazola [1], em seu artigo “Máquinas de Estados com o 
Padrão de Projeto State”, as Máquinas de Estado são uma abstração recorrente em diversos 
tipos de sistema, constituindo um poderoso instrumento de modelagem e comunicação para 
usuários e desenvolvedores. Estas são uma construção extremamente comum para se modelar 
requisitos de diversos sistemas. Normalmente, são fáceis de desenhar (em forma de modelos) 
e interessantes instrumentos para comunicação e validação com os usuários por serem de 
simples entendimento. Para fazer a interação da interface de jogos que exploram técnicas da 
Inteligência Artificial com os usuários, utilizam-se várias técnicas de controle dos 
personagens autônomos. Uma dessas, conforme afirma César Roberto de Sousa Loureiro 
Júnior [2] é a máquina de estados finitos, que pode ser usada de forma a se estabelecer um 
padrão de ações ou execuções a partir de condições atendidas no decorrer dos jogos, o que 
pode levar o jogo a se tornar previsível; como também pode ser programada e configurada a 
fim de tornar o jogo complexo e imprevisível. A abordagem do estudo de caso do jogo Pac-
Man no artigo de César Roberto, “Máquinas de Estados Finitos Aplicados a Jogos 
Eletrônicos” exemplifica o uso da máquina de estado finito. Um circuito sequencial tem sua 
saídarealimentada para a entrada, ou seja, a próxima saída de uma máquina sequencial 
depende das entradas atuais e da saída atual desta máquina. Estas máquinas funcionam de 
maneira síncrona, pois a mudança dos estados da máquina está sincronizada com um sinal de 
relógio. Se a saída da máquina sequencial for função apenas do estado atual, chama-se 
Máquina de Moore. Se a saída for função das entradas e do estado atual, chama-se Máquina 
de Mealy. Segundo Roberta C. de Brito [3], em seu artigo “Máquinas de estados finitos de 
Mealy e Moore”, uma aplicação frequentemente recomendada da Máquina de Mealy é o 
projeto de diálogo entre um programa (de computador) e o seu usuário. Neste caso, o diálogo 
poderia se dar de duas maneiras: ser comandado pelo programa ou pelo usuário. Um exemplo 
comum de aplicação do conceito de Máquina de Moore é o desenvolvimento de Analisadores 
Léxicos de compiladores ou tradutores de linguagens em geral. Basicamente, um analisador 
léxico é um Autômato Finito (em geral, determinístico) que identifica os componentes básicos 
da linguagem como, por exemplo, números, identificadores, separadores, etc. 
 
 
 
 
4 
 
4 METODOLOGIA – MÁQUINA DE MOORE 
4.1 Ferramentas utilizadas 
 
Para a simulação do projeto da Máquina de Moore utilizou-se o software Logisim, que é um 
simulador de lógica que permite a construção de circuitos e os simula usando uma interface 
gráfica do usuário. Lançado sob a Licença Pública GNU, Logisim é um software livre 
projetado para ser executado sob o Microsoft Windows, OS X, e plataformas GNU / Linux. 
Seu código é inteiramente em Java usando a biblioteca de interface de usuário gráfica [4]. Nos 
anexos deste relatório pode-se encontrar o link para acesso e/ou download do programa. 
4.2 Desenvolvimento 
4.2.1 Conceitos Utilizados 
 
Para iniciar o desenvolvimento do projeto, precisa-se ter conhecimento de alguns 
conceitos importantes. Neste caso, é necessário entender como funciona uma Máquina de 
Moore. Na teoria da computação, uma máquina de Moore é um autômato de estado finito 
onde as saídas são determinadas pelo estado corrente apenas (e não pela entrada). O 
diagrama de estado para uma máquina de Moore inclui um sinal de saída para cada estado. [5] 
Para o processo de síntese de máquinas de estado, deseja-se chegar a um diagrama lógico, 
tendo como especificações o tipo de máquina, os flip-flops da memória de estado e a 
descrição do funcionamento da máquina por uma tabela de estado/saída. O seguinte roteiro é 
usado para a síntese de máquinas de estado: 
 
1. Escolha da máquina de estado. 
2. Construção da tabela de estado/saída. 
3. Minimização do número de estados da tabela de estados/saída. 
4. Escolha das variáveis de estado 
5. Construção da tabela de transição/saída. 
6. Escolha dos flip-flops da memória de estado. 
7. Construção da tabela de excitação/saída. 
8. Equações de excitação. 
9. Equações de saída. 
10. Diagrama lógico. 
5 
 
4.2.2 Síntese da Máquina 
 
1. Escolha da máquina de estado. 
 
Estamos trabalhando com a máquina de Moore, que pode ser representada por 
diagramas de estado onde um círculo representa o estado atual, e uma seta representa a 
transição entre dois estados (atual e futuro). Dentro de cada círculo, coloca-se uma letra ou 
número que identifique o estado e o valor das saídas correspondentes a este estado. Em cada 
flecha que representa uma transição, coloca-se o valor das entradas do circuito. O diagrama de 
estado para a máquina de Moore que detecta a sequência 1000 é apresentado na figura 1. 
 
 
Figura 1 - Diagrama de estado de uma máquina de Moore que detecta a sequência 1000 
 
2. Construir a tabela de estado/saída. 
 
A tabela de estados especifica completamente o próximo estado e saídas do circuito para 
qualquer possível combinação de estado atual e entradas. O diagrama de estado para a 
máquina de Moore que detecta a sequência 1000 é apresentado na figura 1. 
 
Tabela 1- Tabela de estado/saída para uma máquina de Moore que detecta a sequência 1000 
S x z 
0 1 
A A B 0 
B C B 0 
C D B 0 
D E B 0 
E A B 1 
 S* 
6 
 
3. Minimizar o número de estados da tabela de estado/saída. 
 
Minimiza-se o número de estados eliminando os estados equivalentes no diagrama, isto é, se 
existir outro estado que para as mesmas especificações das entradas apresente o mesmo estado 
seguinte e as mesmas especificações de saída. Neste caso a tabela de estados/saída já está 
minimizada. 
 
4. Escolher as variáveis de estado. 
 
Atribui-se a cada estado (A, B, C, D, E) um valor binário que o identificará posteriormente. 
Como se tem 5 estados, precisa-se de uma tabela de 3 bits, pois 510 equivale a 1012, mas os 
estados F, G e H não importarão. 
 
 
 Tabela 2 - Tabela de estados e combinações das variáveis de estado 
 S Q2 Q1 Q0 
 A 0 0 0 
 B 0 0 1 
 C 0 1 0 
 D 0 1 1 
 E 1 0 0 





)care t'don (importa não
 
F 1 0 1 
G 1 1 0 
H 1 1 1 
 
7 
 
5. Construir a tabela de transição/ saída. 
 
Deve-se gerar a tabela de transição/saída a partir das informações contidas no diagrama de 
estados. Nesta etapa, unir-se-á a tabela de estados com a de combinações das variáveis. Se o 
número de estados for menor do que o número de combinações existentes, algumas 
combinações não serão utilizadas (don’t care). 
 
Tabela 3 - Tabela de transição/saída 
 
S 
 
Q2 
 
Q1 
 
Q0 
x 
z 0 1 
A 0 0 0 0 0 0 0 0 1 0 
B 0 0 1 0 1 0 0 0 1 0 
C 0 1 0 0 1 1 0 0 1 0 
D 0 1 1 1 0 0 0 0 1 0 
E 1 0 0 0 0 0 0 0 1 1 
F 1 0 1 X X X 
G 1 1 0 X X X 
H 1 1 1 X X X 
 Q2*Q1*Q0* 
 
 
6. Escolha dos flip-flops da memória de estado. 
 
Há um conjunto de flip-flops que armazenam o estado do circuito, são as chamadas memórias 
de estado. Optou-se por flip-flops tipo D, pois estes resultam em uma semelhança entre as 
tabelas de transição e excitação. 
8 
 
7. Construir a tabela de excitação/saída. 
 
A tabela de excitação diz quais são os valores que deve haver na entrada do flip-flop para que 
um determinado valor seja obtido na sua saída. 
 
 
Tabela 4 - Tabela de excitação/saída 
 
Q2 
 
Q1 
 
Q0 
X 
z 0 1 
0 0 0 0 0 0 0 0 1 0 
0 0 1 0 1 0 0 0 1 0 
0 1 0 0 1 1 0 0 1 0 
0 1 1 1 0 0 0 0 1 0 
1 0 0 0 0 0 0 0 1 1 
1 0 1 X X X 
1 1 0 X X X 
1 1 1 X X X 
 D2*D1*D0* 
 
8. Encontrar as equações de excitação. 
 
As equações de excitação irão determinar o estado do circuito sequencial para o próximo ciclo 
de relógio. Neste caso, é possível usar o mapa de Karnaugh, caso não for possível minimizar 
as equações usando esse método (se o número de variáveis for grande), será necessário 
utilizar outro ou algum programa de minimização.
D0 
D1 
D2 
9 
 
Tabela 5 - Tabela de excitação/saída com os bits a serem usados no mapa de Karnaugh localizados 
 
Q2 
 
Q1 
 
Q0 
X 
Z 0 1 
0 0 0 0 0 0 0 0 1 0 
0 0 1 0 1 0 0 0 1 0 
0 1 0 0 1 1 0 0 1 0 
0 1 1 1 0 0 0 0 1 0 
1 0 0 0 0 0 0 0 1 1 
1 0 1 X X X 
1 1 0 X X X 
1 1 1 X X X 
 D2*D1*D0* 
 
Mapas de Karnaugh 
D0 Q2Q1 D1 Q2Q1 D2 Q2Q1 
 
Q0x 00 01 11 10 
 
Q0x 00 01 11 10 
 
Q0x 00 01 11 10 
00 0 1 X 0 00 0 1 X 0 00 0 0 X 0 
 01 1 1 X 1 01 0 0 X 0 01 0 0 X 1 
11 1 1 X X 11 0 0 X X 11 0 0 X X 
10 0 0 X X 10 1 0 X X 10 0 1 X X 
 
 
010 QQxD 
 
 
xQQxQQD 01011 
 
 
xQQD 012 
 
10 
 
9. Encontrar as equações de saída 
 
As equações de saída descrevem o comportamento do bloco de saída epodem ser derivadas a 
partir da tabela de excitação/transição. Novamente, usando o mapa de Karnaugh, encontra-se: 
 
z Q2Q1 
 
Q0 00 01 11 10 
0 0 0 X 1 
1 0 0 X 0 
 
2Qz
 
10. Desenhar o diagrama lógico 
 
O diagrama lógico é obtido através das equações de excitação e saída. Todos os elementos de 
memória (flip-flops) recebem o mesmo sinal de relógio, ou seja, são síncronos. Utilizando o 
software Logisim pode-se verificar o comportamento do circuito através da simulação. 
 
 
Figura 2 - Diagrama lógico da Máquina de Moore que detecta a sequência 1000 
11 
 
4.2.3 Simulação do Projeto 
 
O diagrama lógico obtido (figura 2) foi montado e simulado no software Logisim. Se em cada 
borda de subida do clock, a entrada x enviar respectivamente os sinais “1”, “0”, “0”, “0”, a 
saída z responde com sinal alto, ou seja, 1, indicando que a sequência foi identificada. 
 
5 METODOLOGIA – MÁQUINA DE MEALY 
 
5.1 Ferramentas utilizadas 
 
Para simulação prévia utilizou-se o software Logisim. Para a implementação em protoboard 
da Máquina de Mealy utilizaram-se: 
 
 1 protoboard 
 Jumpers/fios 
 Circuitos Integrados: 
o 7474 (Flip-Flops tipo D) 
o 7408 (portas lógicas and) 
o 7432 (portas lógicas or) 
 1 LED 
 3 Resistores 
 2 Botões 
 1 Arduino 
12 
 
5.2 Desenvolvimento 
 
5.2.1 Conceitos Utilizados 
 
Assim como discutido na construção da Máquina de Moore, para iniciar o 
desenvolvimento do projeto, precisa-se ter conhecimento de alguns conceitos importantes. 
Uma máquina de Mealy é uma máquina de estado finito que produz um resultado (saída de 
dados) baseando-se no estado em que se encontra e na entrada de dados. Isto significa 
que o diagrama de estados irá incluir tanto o sinal de entrada como o de saída para cada 
vértice de transição. Em contraste, a saída de uma máquina de Moore depende apenas do 
estado atual da máquina, sendo que as transições não possuem qualquer sinal em anexo. [5] 
Para a síntese da máquina será utilizado o mesmo roteiro de 10 passos. 
 
5.2.2 Síntese da Máquina 
 
1. Escolha da máquina de estado. 
 
Estamos trabalhando com a máquina de Mealy. Assim como as máquinas de Moore as de 
Mealy também podem ser representadas por diagramas de estado onde um círculo representa 
o estado atual, e uma seta representa a transição entre dois estados (atual e futuro). Dentro de 
cada círculo, também coloca-se uma letra ou número que identifique o estado, porém agora 
em cada flecha, que representa uma transição, coloca-se o valor das entradas e das saídas. 
 
2. Construir a tabela de estado/saída. 
 
O diagrama de estado para a máquina de Mealy que detecta a sequência 111 é apresentado na 
figura 3. A tabela de estados está representada na Tabela 6. 
 
13 
 
 
Figura 3 - Diagrama de estado de uma máquina de Moore que detecta a sequência 1000 
 
A tabela 6 apresenta a tabela de estado para a máquina de Mealy que detecta a sequência 111. 
O uso de uma Máquina de Mealy normalmente leva a uma redução no número de estados em 
comparação a uma de Moore 
 
Tabela 6- Tabela de estado/saída para uma máquina de Moore que detecta a sequência 1000 
S X 
0 1 
A A,0 B,0 
B A,0 C,0 
C A,0 C,1 
 S*,z 
 
3. Minimizar o número de estados da tabela de estado/saída. 
 
A tabela de estados/saída já está minimizada. 
 
4. Escolher as variáveis de estado. 
 
Atribui-se a cada estado (A, B, C) um valor binário que o identificará posteriormente. Como 
temos 3 estados, precisamos de uma tabela de 2 bits, pois 310 equivale a 112, mas os estados D 
não importará. 
14 
 
Não importa (don’t care) { 
Tabela 7 - Tabela de estados e combinações das variáveis de estado 
 
 
5. Construir a tabela de transição/ saída. 
 
Tabela 8 - Tabela de transição/saída 
Q1 Q0 X 
0 1 
0 0 00,0 01,0 
0 1 00,0 10,0 
1 0 00,0 10,1 
1 1 X X 
 Q1*Q0* 
 
6. Escolha dos flip-flops da memória de estado. 
 
Optou-se por flip-flops tipo D, pelo mesmo motivo que na Máquina de Moore: as tabelas de 
excitação e transição são equivalentes. 
 
 
7. Construir a tabela de excitação/saída. 
 
Tabela 9 - Tabela de excitação/saída 
Q1 Q0 X 
0 1 
0 0 00,0 01,0 
0 1 00,0 10,0 
1 0 00,0 10,1 
1 1 x x 
 D1*D0* 
 
S Q1 Q0 
A 0 0 
B 0 1 
C 1 0 
D 1 1 
D0 
D1 
15 
 
8. Encontrar as equações de excitação. 
 
Usando o mapa de Karnaugh, encontram-se as equações de excitação. 
 
Tabela 10 - Tabela de excitação/saída com os bits a serem usados no mapa de Karnaugh localizados 
Q1 Q0 X 
0 1 
0 0 00,0 01,0 
0 1 00,0 10,0 
1 0 00,0 10, 1 
1 1 x x 
 D1*D0* 
 
Mapas de Karnaugh 
D0 Q1Q0 D1 Q1Q0 
 
x 00 01 11 10 
 
x 00 01 11 10 
0 0 0 X 0 0 0 0 X 0 
1 1 0 X 0 1 0 1 X 1 
 
xQQD 010 
 
 
xQxQD 101 
 
16 
 
9. Encontrar as equações de saída 
 
Novamente, utilizando o mapa de Karnaugh, encontra-se a equação de saída. 
 
Mapa de Karnaugh 
z Q2Q1 
 
Q0 00 01 11 10 
0 0 0 X 0 
1 0 0 X 1 
 
xQz 1 
 
10. Desenhar o diagrama lógico 
 
 
Figura 4 - Diagrama lógico de uma Máquina de Mealy que detecta a sequência 111 
17 
 
5.2.3 Simulação do Projeto 
 
A simulação prévia do projeto foi feita utilizando o software Logisim. O diagrama da 
figura 4 foi montado e simulado, a saída z responde com sinal alto, isto é, sinal 1, toda vez 
que a entrada x envia sinal 1 contínuo a cada duas bordas de subida do clock. Detectando 
assim, a sequência 111. 
 
5.2.4 Implementação do Projeto 
 
Depois do sucesso na simulação, partiu-se para a implementação do projeto em 
protoboard. Primeiramente coletou-se todo o material necessário e então seguiu-se o circuito 
(diagrama lógico) representado na figura 4. Precisou-se do CI 7474 (figura 5), que contém 
dois flip-flops D, do CI 7408 (figura 6) que contém 4 portas lógicas and e do CI 7432 (figura 
7) que contém 4 portas lógicas or. 
 
 
Figura 5 - CI 7474 
 
Figura 6 - CI 7408 
 
 
Figura 7 - CI 7432 
 
 
Ao longo do processo de montagem foi-se construindo um novo diagrama lógico (figura 8), 
onde a porta and de três entradas foi desmembrada em duas e a saída z foi ligada a saída da 
porta and que possuía a mesma equação “
1Qx 
”. A pinagem também foi inserida para tornar 
mais rápida a identificação de possíveis problemas no circuito montado. Essas simplificações 
foram feitas visando-se otimizar o projeto. A plataforma Arduino foi utilizada para auxiliar 
como clock, construiu-se um código que envie para o pino 13 do Arduino um sinal alternado 
18 
 
entre alto e baixo. Dessa forma conectou-se sincronamente os clocks do CI 7474 e então estes 
ao pino 13 do Arduino. O código utilizado está representado a seguir: 
 
 
void setup() { 
 pinMode(13, OUTPUT); 
} 
void loop() { 
 digitalWrite(13, HIGH); 
 delay(500); 
 digitalWrite(13, LOW); 
 delay(500); 
} 
 
 
 
Figura 8 - Diagrama Lógico com Pinagem 
 
 
 
 
19 
 
 Saída z - 
 Clock - 
 Entrada x - 
6 RESULTADOS 
 
 
6.1 Resultados do Projeto de Mealy 
 
Quanto à simulação, tem-se como resultado o sucesso em todas as etapas, pois o 
circuito respondeu como se esperava, a saída z responde com sinal alto, isto é, sinal 1, toda 
vez que a entrada x envia sinal 1 consecutivo a cada duas bordas de subida do clock. 
Detectando assim, a sequência 111, o que fica claro na carta de tempo da figura 10.Figura 9 - Carta de Tempo do Funcionamento da Máquina de Mealy que detecta a sequência 111 
 
Pode-se perceber que no caso do modelo de Mealy, as saídas dependem não somente do 
estado em que o circuito se encontra, mas também do valor atual das entradas, de modo 
que se estas se alterarem ainda antes da troca de estados, as saídas do circuito podem se 
alterar. Este é o fator responsável pelo sinal alto da saída z na segunda borda de subida do 
clock, pois quando se coloca 1 na entrada mesmo antes de uma borda de subida, este valor já 
está sendo considerado, também se percebe este fato ao enviar 0 na entrada, pois a saída z 
imediatamente vai para 0, não aguarda a borda de subida. Os resultados obtidos na 
implementação em protoboard corresponderam à simulação, da mesma forma ao se 
pressionar o botão, após dois ciclos de clock o LED relacionado à saída z respondeu com sinal 
alto, portanto acendendo. 
 
6.2 Resultados do Projeto de Moore 
 
Quanto à simulação, também se tem como resultado o sucesso em todas as etapas, pois 
o circuito respondeu como se esperava, a saída z responde com sinal alto, isto é, sinal 1, toda 
vez que a entrada x envia a sequência de sinais “1”, “0”, “0”, “0”, isto é, exatamente no quarto 
ciclo de clock, como pode-se perceber na figura 11. 
 
20 
 
 Clock - 
 Saída z- 
 Entrada x - 
 
Figura 10 - Carta de Tempo do Funcionamento da Máquina de Moore que detecta a sequência 1000 
 
No caso do modelo de Moore, as saídas dependem única e exclusivamente do estado 
em que o circuito se encontra, de modo que uma mudança nos valores das entradas só toma 
efeito após a próxima borda do relógio, observando com atenção a carta de tempo da figura 
isto fica comprovado. Este é o fator responsável pela plena sincronia dos sinais de saída z com 
as bordas de subida do clock, o que evidencia a principal diferença da Máquina de Moore 
quando comparada com a Máquina de Mealy. 
 
 
 
Figura 11 - Foto do Circuito Implementado em Protoboard 
21 
 
7 DISCUSSÃO 
 
O processo de desenvolvimento dos projetos demandou um tempo de dedicação para o 
planejamento, construção e revisão das etapas vencidas. Durante o processo de simulação da 
Máquina de Moore, estudou-se cuidadosamente a construção do diagrama de estados e de 
todos os passos do roteiro de síntese, mas ao final o sucesso foi pleno, contemplado ainda 
pelo entendimento de tudo o que aconteceu com a máquina nas situações em que foi testada. 
Em relação à Máquina de Mealy, na fase de simulação, todo o desenvolvimento correu como 
o esperado, tanto pelo que se havia estudado, quanto pelo que se objetivava. Na fase de 
implementação em protoboard encontrou-se uma dificuldade para observar o resultado 
esperado, pois o LED que estava relacionado à saída z mantinha-se aceso, independente da 
entrada. Montou-se novamente o circuito várias vezes, por volta de 6, na expectativa de 
solucionar o erro. Verificou-se todo o roteiro, refez-se todo o processo, analisou-se o 
diagrama lógico, refez-se a simulação e esta não apresentava qualquer erro. Mediu-se as 
tensões em todos os componentes do circuito e nada parecia apresentar defeito. Ainda na 
investigação do problema, decidiu-se por substituir os CI’s e isto resolveu o infortúnio. 
Concluiu-se que algum dos Circuitos Integrados utilizados deveria estar apresentando alguma 
irregularidade que não se chegou a identificar. Por fim, o projeto implementado funcionou 
perfeitamente como se esperava e o mesmo foi apresentado ao professor. 
 
 
 
 
 
22 
 
8 CONCLUSÕES 
 
 
O circuito sequencial difere de um circuito restritamente combinacional na medida em 
que o próximo estado depende não só das entradas atuais, como também do estado atual. 
Logo, aumentam-se as possibilidades de projeto com o uso de circuitos sequenciais e o 
funcionamento deles pode ser representado por uma máquina de estado. É possível 
representar essa máquina pelo circuito sequencial síncrono e implementar de duas maneiras: 
Máquina de Moore e Máquina de Mealy. Após concluir todas as etapas do trabalho proposto, 
observou-se as características das máquinas de estados, bem como suas aplicações e 
vantagens. Especificou-se o funcionamento das máquinas de Moore e Mealy, esclarecendo as 
semelhanças e as diferenças entre as mesmas e evidenciando seu processo de análise. Na 
simulação obteve-se resultados satisfatórios com as duas máquinas, correspondendo ao que 
foi estudado teoricamente. Após simular, implementou-se em protoboard o circuito 
equivalente da máquina de Mealy. Assim, foi possível adquirir experiência em montagem de 
componentes (como CI’s, Jumpers, LED’s, etc), conhecer e manusear cada ferramenta 
utilizada para montar o circuito. Certamente uma prática muito interessante e de grande 
crescimento didático. Portanto, atingiu-se os objetivos almejados tanto na parte teórica, como 
na parte prática, e pode-se concluir que o trabalho foi um sucesso aquém do esperado.
23 
 
REFERÊNCIAS 
 
[1] GAZOLA, A. Máquinas de Estado com o padrão de projeto State”.. Disponível em: 
<http://www.univale.com.br/unisite/mundo-j/artigos/51ProjetoState.pdf> Acesso em: 4 de 
julho de 2015. 
 
[2] LOUREIRO JR, C. R. S.; BASTOS, E.; de MORAES, M.C.K; GONÇALVES, P. J. C.R. 
“Máquinas de Estados Finitos Aplicados a Jogos Eletrônicos”. Disponível em: 
<http://re.granbery.edu.br/artigos/NTAx.pdf> Acesso em: 4 de julho de 2015. 
 
[3] de BRITO, R.; MARTENDA, M. D.; de OLIVEIRA, H. E. M. “Máquinas de estados 
finitos de Mealy e Moore”. Disponível em: 
<http://www.inf.ufsc.br/~barreto/trabaluno/TC_roberta_diogo_henrique.pdf > Acesso em: 
4de julho de 2015. 
 
[4] Logisim - Wikipedia, the free encyclopedia. Disponível em 
<http://en.wikipedia.org/wiki/Logisim> Acesso em: 26 de maio de 2015. 
 
[3] Categoria:Teoria da computação – Wikipédia, a enciclopédia livre. Disponível em: 
<https://pt.wikipedia.org/wiki/M%C3%A1quina_de_Moore> Acesso em: 02 de julho de 
2015. 
 
[5] Máquina de Mealy – Wikipédia, a enciclopédia livre. Disponível em: 
https://pt.wikipedia.org/wiki/M%C3%A1quina_de_Mealy Acesso em: 02 de julho de 2015 
24 
 
ANEXOS 
 
Link para acesso e/ou download do software Logisim 
 
http://www.cburch.com/logisim/pt/download.html

Outros materiais

Outros materiais