Repolode
OpenXiangShan

OpenXiangShan/XiangShan

Высокопроизводительное ядро RISC-V с открытым исходным кодом, написанное на Scala с использованием Chisel и разработанное проектом XiangShan.

Звёзды
7,368
Форки
977
Открытые issues
336
Последний коммит
вчера

Что это?

XiangShan — открытый проект высокопроизводительного процессора RISC-V. Его архитектура описана на Chisel — языке проектирования аппаратуры, встроенном в Scala. Chisel генерирует Verilog, который можно использовать при разработке микросхем.

В репозитории представлены последовательные поколения микроархитектуры, включая Yanqihu, Nanhu и Kunminghu; каждое поддерживается в отдельной ветке. Текущие поколения — Kunminghu-V2 и V3, причём V3 активно разрабатывается. Проект также включает сопутствующий инструментарий: эмулятор на C++ на базе Verilator, фреймворк совместного моделирования difftest, подсистему кэша и отладчик на Python (xspdb).

Документ по архитектуре и руководство пользователя опубликованы отдельно на сайте документации проекта, а на дашборде производительности отслеживаются результаты регрессионных тестов SPEC и показатели для отдельных коммитов.

Ключевые возможности

  • 01Реализует систему команд RISC-V с высокопроизводительной внеочередной микроархитектурой.
  • 02Написан на Chisel и генерирует Verilog с помощью команды make verilog.
  • 03Включает симулятор на C++ на базе Verilator, который запускает бинарные файлы RISC-V.
  • 04Предоставляет совместное моделирование difftest с эталонной моделью NEMU.
  • 05Включает отладчик на Python xspdb для пошагового выполнения и анализа работы программы.

Сценарии использования

  • Исследование микроархитектуры процессоров с помощью полнофункционального открытого ядра RISC-V.
  • Изучение рабочих процессов верификации аппаратуры и совместного моделирования.
  • Создание производных проектов микросхем RISC-V на основе опубликованного Verilog.
  • Тестирование производительности задач RISC-V в симуляторе Verilator.

Быстрый старт

  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?
Высокопроизводительное ядро RISC-V с открытым исходным кодом, написанное на Scala с использованием Chisel и разработанное проектом XiangShan. XiangShan — открытый проект высокопроизводительного процессора RISC-V. Его архитектура описана на Chisel — языке проектирования аппаратуры, встроенном в Scala. Chisel генерирует Verilog, который можно использовать при разработке микросхем.
XiangShan можно использовать бесплатно? Какая у него лицензия?
XiangShan распространяется с открытым исходным кодом под лицензией MulanPSL-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
XiangShan всё ещё поддерживается?
Активно поддерживается. Последний коммит в XiangShan — 6 нояб. 2026 г..
Для чего можно использовать XiangShan?
Исследование микроархитектуры процессоров с помощью полнофункционального открытого ядра RISC-V. Изучение рабочих процессов верификации аппаратуры и совместного моделирования. Создание производных проектов микросхем RISC-V на основе опубликованного Verilog. Тестирование производительности задач RISC-V в симуляторе Verilator.
Как установить 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

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Встроенный в Scala язык описания аппаратуры для создания параметризуемых генераторов цифровых схем, выпускающих Verilog.

4,8 тыс.+4 за неделю665ScalaApache-2.0Активно поддерживаетсяОбновлён вчера

Небольшое 32-битное ядро процессора RISC-V на SystemVerilog производственного качества для встраиваемых систем управления.

2,2 тыс.+20 за неделю831SystemVerilogApache-2.0Обновлён вчера

64-битное ядро RISC-V на SystemVerilog, запускающее Linux на FPGA-плате Arty A7; RTL, тесты и документация созданы с помощью Claude Code.

Другое#risc-v#cpu#fpga
168+8 за неделю32SystemVerilogApache-2.0Обновлён 18 дней назад

Открытые файлы для 3D-печати и списки комплектующих для недорогих роботизированных манипуляторов SO-100/SO-101, совместимых с библиотекой LeRobot.

8 тыс.+84 за неделю749Apache-2.0Обновлён в прошлом месяце

Sesame — миниатюрный робот-квадрупед с открытым исходным кодом, который можно напечатать на 3D-принтере; он работает на ESP32, оснащён OLED-лицом и ходит с помощью сервоприводов.

5 тыс.+97 за неделю684CApache-2.0Обновлён 23 дня назад