Projeto para a matéria PCS3115 - Sistemas Digitais I - utilizando circuitos combinacionais e sequenciais para reprodução do jogo "mastermind" ou "senha".
Bem-vindos ao nosso repositório :)! Nesse README, explicaremos como testar e executar nosso projeto, utilizando os arquivos em verilog e o testbench incluídos aqui. Além disso, também instruiremos a utilização do software "Logisim", que permite simular circuitos digitais, no qual simulamos o nosso projeto, possibilitando a interação com o jogo e trazendo um pouco de diversão^^!
Para executá-lo, siga os seguintes passos:
- Ter o VSCode, o Questa e o Quartus instalado, para isso, você pode seguir o tutorial fornecido pelos professores da disciplina no moodle, aula 7.
- Deixar a pasta que contém os arquivos em verilog e o testbench no mesmo ambiente em que estão o Questa e Quartus instalados.
- Baixar a extensão de verilog no VSCode.
- Agora, para poder compilar os arquivos, escreva, em ordem, os seguintes comandos no terminal do VSCode:
vlog nome_do_codigo.v
vlog nome_do_codigo_tb.v
vsim -c nome_da_pasta_com_os_arquivos.nome_do_codigo_tb
- Após compilar, você deve digitar o seguinte comando no terminal:
run 1600ns
Sendo "1600ns" a unidade de tempo para o testbench rodar. Para os nossos arquivos, recomendamos 800ns ou 1600ns.
Com tudo isso feito, você verá no terminal os valores das entradas e saídas dos nossos módulos.
Para melhor entendimento, segue um exemplo dos comandos para o teste do nosso encoder, que está dentro da pasta work.
vlog encod4x2.v
vlog encod4x2_tb.v
vsim -c work.encod4x2_tb
Para poder jogar o "senha", você precisará seguir os seguintes passos:
- Baixar o software utilizado através desse link.
- Assim que baixado, basta abrir o arquivo de nome "Projeto.cir" com o Logisim (enviado no mastermind.zip, ou seja, na pasta do espelho dos arquivos do GitHub) e acessar o circuito de nome "Hipocomp".
- O funcionamento do jogo é bem simples, estando mais especificado no relatório. Porém, basta, em uma primeira vez, definir a senha desejada, apertando 4 botões em sequência. Em seguida, o modo passará para as tentativas, na qual você pode pressionar uma sequência de 4 botões para acertar a senha. Caso um botão pressionado esteja correto, um led vermelho ligará. Quando os 4 leds ficarem vermelho, ou então, quando o led conectado à porta AND ligar, você terá ganhado.
Assim você poderá se divertir entre amigos e familiares gravando senhas e tentando acertá-las!!