Escolar Documentos
Profissional Documentos
Cultura Documentos
Turno P4
15/12/2019
Alunos:
Dariane Borges – 58496
João Amorim – 58324
Ricardo Leal - 57500
1
Índice:
1. Introdução:..........................................................................................................................2
2. Descrição dos requisitos:.....................................................................................................3
3. Apresentação do projeto implementado:...........................................................................4
4. Detalhe dos módulos do projeto:........................................................................................5
5. Testes e resultados............................................................................................................18
6. Conclusão:..........................................................................................................................21
7. Referências Bibliográficas:.................................................................................................22
1. Introdução:
Este trabalho consiste em criar uma máquina de estados síncrona com sete estados (Q2Q1Q0)
e com duas variáveis de entrada (X1X0), que permita gerar três saídas – F3, F2 e F1 -, que
controlam alarmes. A máquina contém ainda uma função FIM, que indica o fim da sequência
de números. Definiu-se os estados da máquina criando uma sequência com os números dos
três alunos que compõem este grupo, seguida de pequenas alterações referidas no capítulo
dois.
O projeto contém ainda um validador, que permite certificar que a máquina de estados está a
funcionar corretamente, composto por um registo de oito bits, mais lógica adicional. No final,
o validador conterá a soma de todos os estados da máquina por onde passou, ou seja, a soma
de todos, ou certos dígitos da sequência de números. É de notar que a máquina de estados e o
validador foram também realizados no Xilinx, sendo implementada a solução mais simples.
Este relatório está dividido em vários capítulos, com o intuito de especificar e estudar cada
fase do trabalho, até à sua implementação. No capítulo dois, como já referido acima,
apresentam-se os requisitos detalhados do trabalho a implementar. No capítulo três, é feita
uma descrição detalhada do projeto, assim como a discussão da sua adequação aos requisitos
do sistema. No capítulo quatro, encontram-se os elementos chave para a realização da
máquina de estados e do validador, desde as tabelas de estado até ao desenho dos circuitos
constituintes. No capítulo cinco, apresentam-se os nossos testes e resultados, obtidos das
simulações feitas no software utilizado. Por último, no capítulo seis, são apresentadas as
nossas conclusões sobre o trabalho, assim como a lista de cumprimento dos objetivos e outros
elementos importantes.
Como já foi referido, definiu-se os estados da máquina criando uma sequência com os
números dos três alunos que compõem este grupo. No entanto, são feitas as seguintes
alterações na mesma:
Para além destes requisitos, a nível de implementação no relatório, foi-nos pedido o seguinte:
583245750058496
0532457500546
O circuito do projeto foi implementado usando o mínimo número de portas lógicas e recursos
possíveis e, como já foi referido, o circuito apresenta apenas a solução mais simples.
Diagrama de estados:
Q2 Q1 Q0 F3 F2 F1
0 0 0 0 1 1
0 0 1 0 1 0
0 1 0 0 0 0
0 1 1 0 0 0
1 0 0 1 0 0
1 0 1 X 0 1
1 1 0 1 1 0
1 1 1 0 1 1
Para Flip-Flop D:
Mapas de Karnaugh:
Funções simplificadas:
F1 = Q2Q0 + Q2’Q1’Q0’
F2 = (Q2+Q1’) (Q2’+Q1)
F3 = Q2Q0’
D2 = X0Q0 + X0’Q2’Q0’+Q2Q1’Q0’+Q2Q1Q0
D0 = X0’Q1’Q0’ + X1’Q2’Q0’
J2 = X0’Q0’
K2 = Q1Q0’ + X0’Q1’Q0
J1 = X1’Q0 + X1’X0Q2
K1 = Q0’ + Q2
J0 = X0’Q1’
K0 =Q2’+X1
F1:
F2:
F3:
5. Testes e resultados
Neste capítulo serão apresentados os diferentes testes realizados no software, assim com os
seus resultados, em forma de diagramas temporais.
Para o primeiro teste, atribuímos o valor 0 a todos os inputs e não foram realizadas alterações
nos mesmos ao longo do diagrama. Este é o resultado obtido:
Neste teste, dado que RESET é declarado com valor 0, não é possível saber qual o estado inicial
da máquina de estados, pelo que os outputs apresentarão resultados muito invulgares.
Para o segundo teste (e para os restantes), o RESET é declarado com valor 1 e reposto a 0,
antes do primeiro pulso do CLOCK. Neste teste em particular, mantiveram-se X1X0 a 0. Este é o
resultado obtido:
Neste teste, obtém-se resultados importantes para a compreensão dos restantes: o resultado
da soma respeita a seguinte ordem: soma-se 5 a 0, soma-se 3 a 5, soma-se 2 a 8, soma-se 4 a
10 e soma-se novamente 5 a 14. Irá reparar de 19 para 22 vão 3, ou seja, repete-se este ciclo
de soma ao longo do diagrama. Isto deve-se ao facto de os inputs X1 e X0 não sofrerem
alterações. Vejamos:
0532457500546 -> Não existe a transição do estado 5 para o estado 7 porque neste caso, os
inputs X1 e X0 são 0 e 1, respetivamente
Terceiro teste: estabelece-se o RESET tal como referido acima, mas desta vez, X0 é declarado
com valor 1:
Neste teste, a soma será sempre zero visto que o único estado de transição para o qual o
estado 0 segue, com os valores submetidos nos inputs, é para ele mesmo. Ou seja, a cada
pulso do CLOCK, a máquina de estados mantém o seu estado infinitamente, ao longo do
diagrama temporal.
Neste teste, a máquina de estados transita do estado 0 para o estado 5 e vice-versa. Vejamos
de novo a sequência:
0532457500546
Neste teste, observamos uma limitação na máquina de estados importante: como o estado 0
não se repete quatro vezes (apenas três), não existe transição possível, logo, a máquina de
estados mantém-se no estado 0 infinitamente, ao longo do diagrama.
Sexto e último teste: são feitas várias variações nos inputs X1 e X0:
O último teste apresenta várias alterações nos outputs Q2Q1Q0 como se pode verificar na
soma. Dada a complexidade do diagrama, estudaremos apenas a parte em que X1 e X0 são
ambos 1. Neste momento, a máquina de estados encontra-se no estado 4. No entanto, como
aconteceu no quinto teste, não existe transição possível visto que o estado 4 não se repete
quatro vezes na sequência de números.
Em todos os testes, nenhum dos resultados da soma foi 46. Isto explica o facto de o output
FIM apresentar o valor 0 ao longo do diagrama, em todos os testes.
6. Conclusão:
Com este trabalho, concluímos que para a máquina de estados percorrer todos os estados
segundo a ordem da sequência de números, são necessárias alterações muito específicas nos
inputs X1 e X0 no diagrama temporal. No entanto, não é necessário a máquina de estados
percorrer todos os estados para que a soma apresente o valor 46, ativando assim o output
FIM.
Um dos pontos fortes deste projeto foi certamente a implementação do validador, que apesar
de exigir estudo da nossa parte, despertou interesse e curiosidade no estudo de
comparadores, somadores e registadores.
7. Referências Bibliográficas:
Sousa, P., & Pimentão, J. P. (2019). Sistemas Lógicos I 19/20. Obtido de Moodle@fctunl:
https://moodle.fct.unl.pt/course/view.php?id=5491