# Pequeno RISCO 5 Processador [RISC-V](https://riscv.org/) de ciclo único com implementação RV32I construído em alguns dias de folga. ## Implementação O processador foi implementado utilizando Verilog HDL, e tendo como base a implementação de ciclo único disponível no livro [Computer Organization and Design RISC-V Edition: The Hardware Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) - 2º Edition](https://www.amazon.com/Computer-Organization-Design-RISC-V-Architecture/dp/0128203315) ![Esquemático do processador](docs/imgs/esquematico.png) ## Software O diretório software possui alguns exemplos e testes escritos em Assembly e os seus respectivos arquivos de memória, além disso está disponível um script para transformar Assembly em arquivo de memória. ## Testes O diretório tests possui alguns testes construídos utilizando o [Iverilog](https://steveicarus.github.io/iverilog/), todos os testes lá disponíveis são compatíveis com o mesmo. ## Familia Risco 5: - Baby Risco 5 - RV16I: Ainda especulativo - Pequeno Risco 5 - RV32I: [https://github.com/JN513/Pequeno-Risco-5/](https://github.com/JN513/Pequeno-Risco-5/) - Risco 5 - RV32I: [https://github.com/JN513/Risco-5](https://github.com/JN513/Risco-5) - Grande Risco 5 - RV32I: Ainda especulativo - Risco 5 bodybuilder - RV64I: Ainda especulativo ## Dúvidas e sugestões Em caso de dúvida ou sugestão fique a vontade para utilizar a seção [ISSUES](https://github.com/JN513/Pequeno-Risco-5/issues) do github. Caso se sinta à vontade e queira contribuir com algo qualquer Pull request e bem vindo, todos os [Pull requests](https://github.com/JN513/Pequeno-Risco-5/pulls) serão revisados e se possível mergeados. ## Instruções suportadas ### R - add - sub - sll - slt - sltu - xor - slr - sra - or - and ### I - lw - addi - slli - slti - sltiu - xori - slri - srai - ori - andi ### S - sw ### SB - beq - blt - bltu - bge - bgeu - bne ## Licença A licença utilizada no projeto é a [MIT](https://opensource.org/license/mit/) que concede total liberdade para utilização do mesmo.