Projeto de Lógica Reconfigurável de integração com o Nios2
-- André Luiz Rodrigues dos Santos -- RA1500759-UTFPR -- Luís Henrique Beltrão Santana -- RA906867-UTFPR -- 20190404
Observações: o projeto user_harware está presente no repositório para acelerar os testes. O projeto nios tem um tempo médio de compilação três vezes maior que o o projeto user_hardware, então para testes dos componentes é mais vantajoso manter um projeto paralelo referenciando os mesmos arquivos.
->Estrutura do projeto consiste em:
-
Componente do Nios criado pelo Qsys e controlado por um código em C
- PIO READTDATA 8 bits
- PIO WRITEDATA 8 bits
- PIO COMMAND 3 bits (comandos CS, WR e RD)
-
Componente userHardware que se comunica com o Nios
- Composto por um registrador de controle que recebe como entrada os dados dos barramentos do nios e aos comandos
- Um contador de 8 bits incremental
- Um contador de 0s e 1s a partir de um input de dados
-
Modificações
- Em sala de aula foi estipulado alguns "workarounds" para o problema do UART não receber a primeira palavra. Todavia, escrevemos o código em C que faz essa verificação a nível de usuário, esperando um comando de inicialização e informando o usuário das operações de dados sendo feitas
- Problemas encontrados e workarounds:
- O tutorial sugerido, mesmo após incessantes tentativas e troubleshootings não pareceu funcionar no nosso ambiente. O tutorial usado para dar o quickstart do projeto foi esse, mas com a diferença de que os códigos usados para o top level são em VHDL e não em Verilog, para possibilitar a integração com outros componentes
- Ao reiniciar o quartus e tentar relançar o projeto em C pelo eclipse, ocorreu o erro ao dar Run no projeto. As duas soluções que pareceram funcionar consistentamente foram
- Gerar novamente os componentes do Qsys e adicionar ao projeto novamente e recriar o projeto no eclipse
- Reiniciar a máquina e fazer todos os procedimentos de load na FPGA
- O notebook usado para desenvolvimento não reconhecia a porta COM para comunicação serial, mesmo com tentativas frustradas de instalação de drivers. Para solucionar o problema usamos o componente YP-05, configurando os pinos de tx e rx da FPGA e fazendo a conexão.
-
TODOS:
- Finalização da lógica do userHardware
- Inclusão do userHardware no topLevel do projeto nios
- Modelsim e testes finais