Repolode
OpenXiangShan

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. 1

    设置 NEMU_HOME、NOOP_HOME 和 AM_HOME 环境变量并安装 mill

  2. 2

    克隆项目并初始化子模块

    make init
  3. 3

    安装 Verilator,然后构建 C++ 模拟器

    make emu CONFIG=MinimalConfig EMU_THREADS=2 -j10
  4. 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。

标签

#risc-v#processor#chisel#hardware#microarchitecture#verilog#cpu-design

常见问题

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 数据每日更新。

相关项目

用 SystemVerilog 编写的 64 位 RISC-V CPU 核心,可在 Arty A7 FPGA 开发板上启动 Linux,全部设计由 Claude Code 完成。

其他#risc-v#cpu#fpga
168+8 本周32SystemVerilogApache-2.0更新于 18天前