# arRISCado Um sistema computacional RISC-V Participantes: - Ângelo Renato Pazin Malaguti - 165429 - [@llturtle22ll](https://github.com/llTurtle22ll) - Claudio dos Santos Junior - 195727 - [@jr-santos98](https://github.com/jr-santos98) - Elton Cardoso do Nascimento - 233840 - [@eltoncn](https://github.com/EltonCN) - Gabriel Costa Kinder - 234720 - [@Kinder-Eggs](https://github.com/Kinder-Eggs) - Iago Caran Aquino - 198921 - [@iagocaran](https://github.com/iagocaran) - João Pedro de Moraes Bonucci - 218733 - [@Joao-Pedro-MB](https://github.com/Joao-Pedro-MB) [This project](https://github.com/arRISCado/arRISCado) ## Entrega 1 - Suporte a RV32I Meta: 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 - Suporte a RV32IMA Meta: 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 - Instruções Compactas 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; - Co-mpreender 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 - Suporte a RV32IMAC 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.