Framework Python para criar cores e SoCs personalizados em FPGA, com barramentos, periféricos, integração de CPUs e suporte à simulação.
OpenXiangShan/XiangShan
Núcleo de processador RISC-V de alto desempenho e código aberto, escrito em Scala com Chisel e desenvolvido pelo projeto XiangShan.
- Estrelas
- 7,368
- Forks
- 977
- Issues abertas
- 336
- Último commit
- há 23 horas
O que é?
XiangShan é um projeto de processador RISC-V de alto desempenho e código aberto. O design é escrito em Chisel, uma linguagem de descrição de hardware incorporada ao Scala, e gera Verilog que pode ser usado no desenvolvimento de chips.
O repositório reúne gerações sucessivas da microarquitetura, incluindo Yanqihu, Nanhu e Kunminghu, cada uma mantida em sua própria branch. Kunminghu-V2 e V3 são as versões atuais, e a V3 está em desenvolvimento ativo. O projeto também abrange o toolchain relacionado: um emulador em C++ baseado em Verilator, uma estrutura de co-simulação difftest, um subsistema de cache e um debugger em Python (xspdb).
Um documento de design e um guia do usuário são publicados separadamente no site de documentação do projeto, e um painel de desempenho acompanha resultados de regressão do SPEC e por commit.
Recursos principais
- 01Implementa o conjunto de instruções RISC-V em uma microarquitetura de alto desempenho com execução fora de ordem.
- 02Escrito em Chisel, gera Verilog por meio de make verilog.
- 03Inclui um simulador em C++ baseado em Verilator que executa binários RISC-V.
- 04Oferece co-simulação difftest com o modelo de referência NEMU.
- 05Oferece o debugger em Python xspdb para avançar passo a passo e inspecionar a execução.
Casos de uso
- Pesquisar microarquitetura de processadores usando um núcleo RISC-V aberto e completo.
- Estudar fluxos de trabalho de verificação de hardware e co-simulação.
- Desenvolver projetos de chips RISC-V derivados com base no Verilog disponibilizado.
- Avaliar workloads RISC-V em um simulador Verilator.
Início rápido
- 1
Defina as variáveis de ambiente NEMU_HOME, NOOP_HOME e AM_HOME e instale o mill
- 2
Clone o projeto e inicialize os submódulos
make init - 3
Instale o Verilator e, em seguida, compile o simulador em C++
make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10 - 4
Execute um programa no simulador
./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so
Antes de usar
- A compilação exige vários projetos externos (NEMU, nexus-am, mill e Verilator), então a configuração dá trabalho.
- A branch kunminghu-v3 ainda está em desenvolvimento e pode não ser estável; para pesquisa, recomenda-se a kunminghu-v2.
Tópicos
Perguntas frequentes
- O que é XiangShan?
- Núcleo de processador RISC-V de alto desempenho e código aberto, escrito em Scala com Chisel e desenvolvido pelo projeto XiangShan. XiangShan é um projeto de processador RISC-V de alto desempenho e código aberto. O design é escrito em Chisel, uma linguagem de descrição de hardware incorporada ao Scala, e gera Verilog que pode ser usado no desenvolvimento de chips.
- XiangShan é gratuito? Qual é a licença?
- XiangShan é open source sob a licença MulanPSL-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- XiangShan ainda é mantido?
- Manutenção ativa. O último commit de XiangShan foi em 6 de nov. de 2026.
- Para que posso usar XiangShan?
- Pesquisar microarquitetura de processadores usando um núcleo RISC-V aberto e completo. Estudar fluxos de trabalho de verificação de hardware e co-simulação. Desenvolver projetos de chips RISC-V derivados com base no Verilog disponibilizado. Avaliar workloads RISC-V em um simulador Verilator.
- Como instalar XiangShan?
- Defina as variáveis de ambiente NEMU_HOME, NOOP_HOME e AM_HOME e instale o mill Clone o projeto e inicialize os submódulos: make init Instale o Verilator e, em seguida, compile o simulador em C++: make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10 Execute um programa no simulador: ./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so
- Onde consigo XiangShan?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/OpenXiangShan/XiangShan
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma linguagem de descrição de hardware de código aberto integrada ao Scala para criar geradores de circuitos digitais parametrizáveis que emitem Verilog.
Um núcleo de CPU RISC-V de 64 bits em SystemVerilog que inicializa o Linux em uma placa FPGA Arty A7, com RTL, verificação e documentação escritos com Claude Code.
Projetos open source imprimíveis em 3D e listas de peças para os braços robóticos de baixo custo SO-100/SO-101, feitos para funcionar com a biblioteca LeRobot.
Robô quadrúpede compacto, open source e imprimível em 3D, baseado no ESP32, com rosto em OLED e locomoção acionada por servos.