Entregas do semestre¶
As entregas do semestre são cumulativas e levam a um sistema computacional completo desenvolvido até o final. O objetivo principal das entregas parciais é permitir que os grupos consigam acompanhar o desenvolvimento do projeto e também o planejamento futuro de cada fase.
Entrega 1¶
Para essa entrega, os alunos devem planejar e desenvolver um processador RISC-V de 32 bits, com pipeline, que suporte o conjunto RV32I. Deve ser possível desenvolver programas em alto nível para o processador e executa-los corretamente no kit de FPGA.
Para realizar essa entrega, o grupo deve:
- Compreender e desenvolver um pipeline para o processador RISC-V;
- Compreender e desenvolver programas de teste para o processador;
- Compreender e desenvolver um ambiente de execução (restrito ao momento) para o processador;
- Compreender e utilizar o ambiente de execução em FPGA para implementar o processador;
Entrega 2¶
Para essa entrega, o conjunto de instruções do processador deve ser incrementado para suportar RV32IMA, novamente com suporte de software para execução em FPGA. Além disso, um primeiro periférico precisa ser desenvolvido e integrado ao processador.
Para realizar essa entrega, o grupo deve:
- Compreender e desenvolver a cache L1;
- Compreender e desenvolver um periférico para o processador;
- Compreender e desenvolver um ambiente de execução (restrito ao momento) para o periférico;
- Compreender e utilizar o ambiente de execução em FPGA para implementar o periférico;
- Demonstrar um código que utilize as instruções e o periférico em FPGA;
Entrega 3¶
Para essa entrega, o conjunto de instruções do processador deve ser incrementado para suportar as instruções compactas. Além disso, outro periférico precisa ser desenvolvido em integrado ao processador.
Para realizar essa entrega, o grupo deve:
- Compreender e desenvolver um periférico para o processador;
- Compreender e desenvolver um ambiente de execução (restrito ao momento) para o periférico;
- Compreender e utilizar o ambiente de execução em FPGA para implementar o periférico;
- Demonstrar um código que utilize as instruções e os periféricos em FPGA;
Entrega 4¶
A meta para essa entrega é complementar o sistema computacional desejado. Além disso, o processador deve conseguir executar programas em alto nível, compilados para o conjunto de instruções RV32IMAC.
Todas as pendências de entregas anteriores precisam ser sanadas até a entrega final.
Avaliação¶
Cada grupo deve ter um repositório git para a disciplina. Esse repositório precisa ser fornecido no primeiro dia de aula e deverá ser utilizado para todas as entregas. Juntamente com o repositório, o grupo deve fornecer um arquivo README.md
com as seguintes informações:
- RA e nome dos integrantes do grupo;
- Link para o próprio repositório;
- Um arquivo com a apresentação para cada entrega do projeto;
Notas
As notas são individuais e serão atribuídas de acordo com a participação de cada aluno no projeto. A nota final será a média ponderada das notas de cada entrega conforme os pesos indicados na página da disciplina.