Framework de Python para crear núcleos FPGA y SoC personalizados, con buses, periféricos, integración de CPU y compatibilidad con simulación.
OpenXiangShan/XiangShan
Núcleo de procesador RISC-V de alto rendimiento y código abierto, escrito en Scala con Chisel y desarrollado por el proyecto XiangShan.
- Estrellas
- 7,368
- Forks
- 977
- Issues abiertos
- 336
- Último commit
- ayer
¿Qué es?
XiangShan es un proyecto de procesador RISC-V de alto rendimiento y código abierto. El diseño está escrito en Chisel, un lenguaje de construcción de hardware integrado en Scala, y genera Verilog que puede utilizarse para desarrollar chips.
El repositorio contiene distintas generaciones de microarquitectura, como Yanqihu, Nanhu y Kunminghu, cada una en su propia rama. Kunminghu-V2 y V3 son las líneas actuales, y V3 está en desarrollo activo. El proyecto también incluye las herramientas que las acompañan: un emulador en C++ basado en Verilator, un framework de cosimulación difftest, un subsistema de caché y un depurador basado en Python (xspdb).
El documento de diseño y la guía de usuario se publican por separado en el sitio de documentación del proyecto, y un panel de rendimiento registra los resultados de regresión de SPEC y por commit.
Funciones clave
- 01Implementa el conjunto de instrucciones RISC-V con una microarquitectura de alto rendimiento y ejecución fuera de orden.
- 02Está escrito en Chisel y genera Verilog mediante make verilog.
- 03Incluye un simulador en C++ basado en Verilator que ejecuta binarios RISC-V.
- 04Ofrece cosimulación difftest con el modelo de referencia NEMU.
- 05Incluye xspdb, un depurador basado en Python para avanzar paso a paso e inspeccionar la ejecución.
Casos de uso
- Investigar microarquitectura de procesadores con un núcleo RISC-V abierto y completo.
- Estudiar flujos de trabajo de verificación de hardware y cosimulación.
- Desarrollar diseños de chips RISC-V derivados a partir del Verilog publicado.
- Evaluar cargas de trabajo RISC-V en un simulador Verilator.
Inicio rápido
- 1
Configura las variables de entorno NEMU_HOME, NOOP_HOME y AM_HOME, e instala mill
- 2
Clona el proyecto e inicializa los submódulos
make init - 3
Instala Verilator y, a continuación, compila el simulador de C++
make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10 - 4
Ejecuta un programa en el 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 usarlo
- La compilación requiere varios proyectos externos (NEMU, nexus-am, mill y Verilator), por lo que la configuración es laboriosa.
- La rama kunminghu-v3 aún está en desarrollo y puede no ser estable; se recomienda kunminghu-v2 para investigación.
Temas
Preguntas frecuentes
- ¿Qué es XiangShan?
- Núcleo de procesador RISC-V de alto rendimiento y código abierto, escrito en Scala con Chisel y desarrollado por el proyecto XiangShan. XiangShan es un proyecto de procesador RISC-V de alto rendimiento y código abierto. El diseño está escrito en Chisel, un lenguaje de construcción de hardware integrado en Scala, y genera Verilog que puede utilizarse para desarrollar chips.
- ¿XiangShan es gratuito? ¿Qué licencia tiene?
- XiangShan es open source bajo la licencia MulanPSL-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿XiangShan sigue mantenido?
- Mantenimiento activo. El último commit de XiangShan fue el 5 nov 2026.
- ¿Para qué puedo usar XiangShan?
- Investigar microarquitectura de procesadores con un núcleo RISC-V abierto y completo. Estudiar flujos de trabajo de verificación de hardware y cosimulación. Desarrollar diseños de chips RISC-V derivados a partir del Verilog publicado. Evaluar cargas de trabajo RISC-V en un simulador Verilator.
- ¿Cómo se instala XiangShan?
- Configura las variables de entorno NEMU_HOME, NOOP_HOME y AM_HOME, e instala mill Clona el proyecto e inicializa los submódulos: make init Instala Verilator y, a continuación, compila el simulador de C++: make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10 Ejecuta un programa en el simulador: ./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so
- ¿Dónde consigo XiangShan?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/OpenXiangShan/XiangShan
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Lenguaje de descripción de hardware de código abierto integrado en Scala para crear generadores parametrizables de circuitos digitales que producen Verilog.
Un núcleo de CPU RISC-V de 64 bits escrito en SystemVerilog que arranca Linux en una placa FPGA Arty A7, con el RTL, la verificación y la documentación escritos íntegramente por Claude Code.
Diseños imprimibles en 3D y listas de piezas de código abierto para los brazos robóticos de bajo costo SO-100/SO-101, compatibles con la biblioteca LeRobot.
Robot cuadrúpedo mini de código abierto e imprimible en 3D, basado en ESP32, con cara OLED y movimiento mediante servos.