Projeto Capstone dos cursos de Engenharia de Computação e Ciência da Computação do Insper, liderado pelo professor Rafael Corsi Ferrão (@rafaelcorsi, rafael.corsi@insper.edu.br), desenvolvido por grupos de alunos a cada semestre. O projeto é financiado pelo CTI Renato Archer (Centro de Tecnologia da Informação Renato Archer), instituição de pesquisa do Ministério da Ciência, Tecnologia e Inovação em Campinas, que é o cliente do Capstone: em parceria com o Insper, o objetivo é desenvolver um processador nacional e reduzir a dependência do Brasil de tecnologia de semicondutores estrangeira. O resultado é um processador RISC-V (RV32I + M) em VHDL, com pipeline de 5 estágios em ordem: o core, suas memórias e periféricos, a plataforma da placa (Cyclone V), e as ferramentas, os testes e a certificação em volta.
Cada repositório cuida de uma coisa. Comece pelo RV32: ele fixa uma versão dos outros e roda tudo junto.
git clone --recurse-submodules https://github.com/insper-riscv/RV32.git
cd RV32
make all # verificações, os testes de cada repositório e a suíte de simulação de 89 programas| Repositório | Responsabilidade | Depende de |
|---|---|---|
| RV32 | o pai: fixa as versões do conjunto, relatórios de KPI, CI de integração | todos, como submódulos |
| Core | o processador em VHDL, organizado por extensão do ISA (common/, I/, M/); perfis rv32i e rv32im; testes por entidade |
nada |
| Memory | modelos de simulação e as IPs do Quartus da placa | Core |
| Peripherals | GPIO e TIMER mapeados em memória (UART depois) | Core |
| TopLevel | as plataformas: projeto do Quartus, PLL, topo de simulação, runtime, mapa de memória, testbench | Core, Memory, Peripherals, Tools |
| Tests | os programas de teste (asm/, c/), os goldens e os fluxos que os rodam em simulação e na placa |
TopLevel, Tools |
| Certification | a suíte oficial riscv-arch-test (ACT4) contra o core | Core, Memory, TopLevel, Tools |
| Tools | riscv-tools: compilar, simular, rodar na placa por JTAG, certificar, verificar |
Infra, ao executar |
| Infra | a máquina: a imagem de toolchain (GCC RISC-V com picolibc, Spike, GHDL, uv) em que todo CI roda, e os guias da workstation | nada |
RV32 (o pai, fixa as versões)
├─ Core ◄─ Memory, Peripherals ◄─ TopLevel ◄─ Tests
│ ▲ ▲
│ └─ Certification
└─ Tools (dentro de cada um, como submódulo) ◄─ Infra (a imagem em que roda)
Cada grupo continuou o trabalho do anterior; o mais recente está primeiro.
| Período | Grupo | O que fez | Onde está |
|---|---|---|---|
| 2026.2 | Artur Alvares Cruz, Breno Schneider Salles de Oliveira, Lucas Hix | A divisão do projeto em repositórios com uma responsabilidade cada, o Tools, a infraestrutura de testes e de CI, a simulação do topo da placa e a certificação | os repositórios desta página |
| 2026.1 | Henrique Rocha Bomfim, Pedro Carvalho Ribeiro Neto, Luiz Felipe Borelli Durand, Luka Siqueira Ferreira de Figueiredo | O pipeline de 5 estágios com a extensão M, os testes e os KPIs | RV32 e Core |
| 2025.2 | Ilana Chaia Finger, Leonardo Merlin Paloschi, Lucas Fernando De Souza Lima, Pedro Pereira Cecilio Ventura | o L2IP (um RV32I), a infraestrutura de desenvolvimento e a de testes, de onde saíram o Infra, o Tools e o Tests | archive/l2ip no RV32, e Infra, Tools e Tests em sua forma atual |
| 2025.1 | Pedro Paulo Moreno Camargo, Pedro Balbo Portella, Pedro Cliquet do Amaral e Caio Bertolani Travain | o SoC e os periféricos | riscv-SoC e FOSS-peripherals (abaixo) |
| 2024.2 | Eduardo Schneider Monteiro de Barros, Rodrigo Anciães Patelli, Victor Luis Gama de Assis e Arthur Martins de Souza Barreto | o estudo "Exploring RISC-V CPU for Aerospace Applications": controle de um motor BLDC (algoritmos Six-Step e FOC) sobre o RISC-V de código aberto NEORV32, para levantar os requisitos de hardware de um CPU aeroespacial | relatório final |
| 2024.1 | Luciano Felix, Tiago Vitorino Seixas, Giancarlo Vanoni Ruggiero | o primeiro core e a documentação | core-old e docs (abaixo) |
- Como o pipeline funciona:
docs/ARCHITECTURE.mddo Core. - Como acrescentar uma extensão do ISA, e a interface de barramento e de memória:
docs/contracts/do Core. - O mapa de memória, o boot e como um programa roda na placa:
docs/do TopLevel. - Como escrever um teste e rodá-lo:
docs/do Tools e o README do Tests. - Montar uma workstation e o runner do CI: Infra.
core-old, FOSS-peripherals, riscv-SoC, development-infrastructure e docs são anteriores à estrutura acima e não fazem
parte dela; o estado do projeto antes da divisão é a tag
pre-refactor em cada repositório acima, e o que foi aposentado fica nas tags archive/* do
RV32.
Tudo é licenciado sob a Apache License 2.0.