# Grande RISCO 5
**Grande RISCO 5** é um processador [RISC-V](https://riscv.org/) RV32IMBC_Zicsr com pipeline de 5 estágios, desenvolvido em alguns dias de folga.
- **Don't speak Portuguese? [Click here](https://github.com/JN513/Grande-Risco-5/blob/main/README.md)**
## Processor CI
[](https://processorci.ic.unicamp.br/jenkins/blue/organizations/jenkins/Grande-Risco-5/activity)
## Implementação
O processador foi implementado utilizando **SystemVerilog**.
## Suporte a Extensões RISC-V
O Grande RISCO 5 atualmente oferece suporte às seguintes extensões RISC-V:
| Extensão | Suporte |
|----------|---------|
| I | Completa |
| M | Completa |
| C | Completa |
| B | Em implementação |
| A | Especulada |
| Zicsr | Em implementação |
## Testes e Verificação
### Testes de Verificação
O diretório `Verification_tests` contém exemplos e testes escritos em Assembly, além de seus respectivos arquivos de memória. Também há um script para converter Assembly em arquivos de memória (.hex).
### Testbenchs
O diretório `Testbenchs` contém testbenchs desenvolvidos com [Icarus Verilog (Iverilog)](https://steveicarus.github.io/iverilog/). A maioria dos testes disponíveis é compatível com Iverilog, e alguns foram portados para o [Verilator](https://verilator.org/).
## Família RISCO 5
O **Grande RISCO 5** faz parte de uma família de processadores RISC-V desenvolvidos para diferentes propósitos:
- **[Baby Risco 5](https://github.com/JN513/Baby-Risco-5)** - RV32E, implementação otimizada para o TinyTapeout.
- **[Pequeno Risco 5](https://github.com/JN513/Pequeno-Risco-5/)** - RV32I, implementação de ciclo único (Arquivada).
- **[Risco 5](https://github.com/JN513/Risco-5)** - RV32I/E[M], implementação multiciclo (Paralisada).
- **[Grande Risco 5](https://github.com/JN513/Grande-Risco-5)** - RV32IMBC_Zicsr, implementação com pipeline.
- **Risco 5 Bodybuilder** - RV64IMA, ainda em fase especulativa.
- **[RISCO 5S](https://github.com/JN513/Risco-5S)** - RV32IM, simulador escrito em C.
## Dúvidas e Sugestões
A documentação oficial está disponível em: [jn513.github.io/Grande-Risco-5](https://jn513.github.io/Grande-Risco-5). Caso tenha dúvidas ou sugestões, utilize a seção de [ISSUES](https://github.com/JN513/Grande-Risco-5/issues) no GitHub. Contribuições são bem-vindas e todos os [Pull Requests](https://github.com/JN513/Grande-Risco-5/pulls) serão analisados.
## Contribuição
Se deseja contribuir com o projeto, siga as instruções disponíveis no arquivo [CONTRIBUTING.md](https://github.com/Grande-Risco-5/Risco-5/blob/main/CONTRIBUTING.md).
## Licença
Este projeto é licenciado sob a **[CERN-OHL-P-2.0](https://github.com/JN513/Grande-Risco-5/blob/main/LICENSE)**, garantindo liberdade total de uso.
- O software está sob a **[Licença MIT](https://github.com/JN513/Grande-Risco-5/blob/main/LICENSE-MIT)**.
- A documentação segue a **[CC BY-SA 4.0](https://github.com/JN513/Grande-Risco-5/blob/main/LICENSE-CC)**.
---
**Autor da logo:** [Mateus Luck](https://www.instagram.com/mateusluck/)