OpenXiangShan/XiangShan
基于 Scala 与 Chisel 编写的开源高性能 RISC-V 处理器核。
- Star
- 7,368
- Fork
- 977
- 未关闭 Issue
- 336
- 最近提交
- 昨天
这是什么?
香山是一个开源的高性能 RISC-V 处理器项目。设计使用嵌入 Scala 的硬件描述语言 Chisel 编写,可生成 Verilog 代码,用于芯片开发。
仓库中保存了多代微架构,包括雁栖湖、南湖和昆明湖,各代分别位于独立分支。目前 Kunminghu-V2 和 V3 为主要版本,其中 V3 仍在积极开发中。项目还包括基于 Verilator 的 C++ 模拟器、difftest 协同仿真框架、缓存子系统以及基于 Python 的调试器 xspdb。
设计文档和用户指南另行发布在项目文档站点,性能看板则跟踪逐提交的 EMU 性能和 SPEC 回归结果。
核心功能
- 01基于乱序执行的高性能微架构,实现 RISC-V 指令集。
- 02使用 Chisel 编写,通过 make verilog 生成 Verilog 代码。
- 03包含基于 Verilator 的 C++ 模拟器,可运行 RISC-V 程序。
- 04提供 difftest 协同仿真,与 NEMU 参考模型比对。
- 05提供基于 Python 的调试器 xspdb,支持单步执行和状态查看。
适用场景
- 以完整的开源 RISC-V 核为对象开展处理器微架构研究。
- 学习硬件验证与协同仿真的工作流程。
- 基于生成的 Verilog 开展下游 RISC-V 芯片设计。
- 在 Verilator 模拟器中对 RISC-V 负载进行基准测试。
快速上手
- 1
设置 NEMU_HOME、NOOP_HOME 和 AM_HOME 环境变量并安装 mill
- 2
克隆项目并初始化子模块
make init - 3
安装 Verilator,然后构建 C++ 模拟器
make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10 - 4
在模拟器上运行程序
./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so
使用前须知
- 构建需要多个外部项目(NEMU、nexus-am、mill、Verilator),环境搭建较为繁重。
- kunminghu-v3 分支仍在快速演进,功能可能不稳定;做研究时建议使用 kunminghu-v2。
标签
常见问题
- XiangShan 是什么?
- 基于 Scala 与 Chisel 编写的开源高性能 RISC-V 处理器核。 香山是一个开源的高性能 RISC-V 处理器项目。设计使用嵌入 Scala 的硬件描述语言 Chisel 编写,可生成 Verilog 代码,用于芯片开发。
- XiangShan 可以免费使用吗?用的什么许可证?
- XiangShan 以 MulanPSL-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- XiangShan 还在维护吗?
- 活跃维护中。XiangShan 最近一次提交是在 2026年11月6日。
- XiangShan 适合用来做什么?
- 以完整的开源 RISC-V 核为对象开展处理器微架构研究。 学习硬件验证与协同仿真的工作流程。 基于生成的 Verilog 开展下游 RISC-V 芯片设计。 在 Verilator 模拟器中对 RISC-V 负载进行基准测试。
- XiangShan 怎么安装和运行?
- 设置 NEMU_HOME、NOOP_HOME 和 AM_HOME 环境变量并安装 mill 克隆项目并初始化子模块: make init 安装 Verilator,然后构建 C++ 模拟器: make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10 在模拟器上运行程序: ./build/emu -b 0 -e 0 -i ./ready-to-run/coremark-2-iteration.bin --diff ./ready-to-run/riscv64-nemu-interpreter-so
- 在哪里获取 XiangShan?
- 源代码和安装说明在 GitHub 上:https://github.com/OpenXiangShan/XiangShan
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源的低成本 SO-100/SO-101 机械臂设计,含可 3D 打印零件与物料清单,适配 LeRobot 库。
8017+84 本周749Apache-2.0更新于 上个月
基于 ESP32 的开源低成本迷你四足机器人,可 3D 打印,带 OLED 表情屏。
4980+97 本周684CApache-2.0更新于 23天前